interface MapNames {
    deserialize: (
        value: Buffer,
    ) => Record<
        `nm_${string}`,
        TxUnpackedBySchema<
            | {
                balance: {
                    deserialize(value: Buffer): string;
                    serialize(value: Int): Buffer;
                };
                nonce: {
                    deserialize(value: Buffer): number;
                    serialize(value: number): Buffer;
                };
                tag: {
                    constValue: Account;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => Account;
                    serialize: (value: Account) => Buffer;
                };
                version: {
                    constValue: 1;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 1;
                    serialize: (value: 1) => Buffer;
                };
            }
            | {
                balance: {
                    deserialize(value: Buffer): string;
                    serialize(value: Int): Buffer;
                };
                flags: {
                    deserialize(value: Buffer): string;
                    serialize(value: Int): Buffer;
                };
                gaAuthFun: {
                    deserialize: (value: Buffer) => `cb_${string}`;
                    serialize: (value: `cb_${string}`) => Buffer;
                };
                gaContract: {
                    deserialize: (value: Buffer) => `ct_${string}` | `nm_${string}`;
                    serialize: (value: `ct_${string}` | `nm_${string}`) => Buffer;
                };
                nonce: {
                    deserialize(value: Buffer): number;
                    serialize(value: number): Buffer;
                };
                tag: {
                    constValue: Account;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => Account;
                    serialize: (value: Account) => Buffer;
                };
                version: {
                    constValue: 2;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 2;
                    serialize: (value?: 2) => Buffer;
                };
            }
            | {
                accountId: {
                    deserialize: (value: Buffer) => `ak_${string}`;
                    serialize: (value: `ak_${string}`) => Buffer;
                };
                clientTtl: {
                    deserialize(value: Buffer): number;
                    serialize(value: number): Buffer;
                };
                nameTtl: {
                    deserialize(value: Buffer): number;
                    serialize(value: number): Buffer;
                };
                pointers: <AllowRaw extends boolean>(
                    allowRaw: AllowRaw,
                ) => {
                    deserialize: (
                        pointers: [key: ..., id: ...][],
                    ) => ((...) extends (...) ? (...) : (...))[];
                    serialize: (
                        pointers: ((...) extends (...) ? (...) : (...))[],
                    ) => (...)[][];
                };
                status: {
                    deserialize(buffer: Buffer): Buffer;
                    serialize(buffer: Uint8Array): Buffer;
                };
                tag: {
                    constValue: Name;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => Name;
                    serialize: (value: Name) => Buffer;
                };
                version: {
                    constValue: 1;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 1;
                    serialize: (value?: 1) => Buffer;
                };
            }
            | {
                active: {
                    deserialize(buffer: Buffer): boolean;
                    serialize(value: boolean): Buffer;
                };
                code: {
                    deserialize: (value: Buffer) => `cb_${string}`;
                    serialize: (value: `cb_${string}`) => Buffer;
                };
                ctVersion: {
                    deserialize(buffer: Buffer): CtVersion;
                    prepare(
                        value: undefined | CtVersion,
                        params: {},
                        options: { consensusProtocolVersion?: Ceres; onNode?: Node },
                    ): Promise<undefined | CtVersion>;
                    serialize(
                        value: undefined | CtVersion,
                        params: {},
                        __namedParameters: { consensusProtocolVersion?: Ceres },
                    ): Buffer;
                };
                deposit: {
                    deserialize(value: Buffer): string;
                    serialize(
                        value: Int | undefined,
                        params: {},
                        __namedParameters: { denomination?: AE_AMOUNT_FORMATS | undefined },
                    ): Buffer;
                    serializeAettos(
                        value: undefined | string,
                        params: {},
                        options: {},
                    ): string;
                };
                log: {
                    deserialize: (value: Buffer) => `cb_${string}`;
                    serialize: (value: `cb_${string}`) => Buffer;
                };
                owner: {
                    deserialize: (value: Buffer) => `ak_${string}`;
                    serialize: (value: `ak_${string}`) => Buffer;
                };
                referers: {
                    deserialize: (value: Buffer[], params: unknown) => `ak_${string}`[];
                    serialize: (
                        value: readonly `ak_${string}`[],
                        params: unknown,
                    ) => Buffer[];
                };
                tag: {
                    constValue: Contract;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => Contract;
                    serialize: (value: Contract) => Buffer;
                };
                version: {
                    constValue: 1;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 1;
                    serialize: (value?: 1) => Buffer;
                };
            }
            | {
                callerId: {
                    deserialize: (value: Buffer) => `ak_${string}`;
                    serialize: (value: `ak_${string}`) => Buffer;
                };
                callerNonce: {
                    deserialize(value: Buffer): number;
                    serialize(value: number): Buffer;
                };
                contractId: {
                    deserialize: (value: Buffer) => `ct_${string}`;
                    serialize: (value: `ct_${string}`) => Buffer;
                };
                gasPrice: {
                    deserialize(value: Buffer): string;
                    serialize(value: Int): Buffer;
                };
                gasUsed: {
                    deserialize(value: Buffer): number;
                    serialize(value: number): Buffer;
                };
                height: {
                    deserialize(value: Buffer): number;
                    serialize(value: number): Buffer;
                };
                log: {
                    deserialize: (value: Buffer[], params: unknown) => Buffer[];
                    serialize: (value: readonly Uint8Array[], params: unknown) => Buffer[];
                };
                returnType: {
                    deserialize: (value: Buffer) => CallReturnType;
                    serialize: (value: CallReturnType) => Buffer;
                };
                returnValue: {
                    deserialize: (value: Buffer) => `cb_${string}`;
                    serialize: (value: `cb_${string}`) => Buffer;
                };
                tag: {
                    constValue: ContractCall;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => ContractCall;
                    serialize: (value: ContractCall) => Buffer;
                };
                version: {
                    constValue: 2;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 2;
                    serialize: (value?: 2) => Buffer;
                };
            }
            | {
                abiVersion: {
                    _getProtocolDetails(c: Ceres, tag: Tag): AbiVersion;
                    deserialize(buffer: Buffer): AbiVersion;
                    prepare(
                        value: AbiVersion | undefined,
                        __namedParameters: { tag: Tag },
                        options: { consensusProtocolVersion?: Ceres; onNode?: Node },
                    ): Promise<(AbiVersion | undefined)>;
                    serialize(
                        value: AbiVersion | undefined,
                        __namedParameters: { tag: Tag },
                        __namedParameters: { consensusProtocolVersion?: Ceres },
                    ): Buffer;
                };
                accountId: {
                    deserialize: (value: Buffer) => `ak_${string}`;
                    serialize: (value: `ak_${string}`) => Buffer;
                };
                oracleTtlValue: {
                    deserialize(value: Buffer): number;
                    serialize(value: number): Buffer;
                };
                queryFee: {
                    deserialize(value: Buffer): string;
                    serialize(
                        value: Int | undefined,
                        params: {},
                        __namedParameters: { denomination?: AE_AMOUNT_FORMATS | undefined },
                    ): Buffer;
                    serializeAettos(
                        value: undefined | string,
                        params: {},
                        options: {},
                    ): string;
                };
                queryFormat: {
                    deserialize(buffer: Buffer): string;
                    serialize(string: string): Buffer;
                };
                responseFormat: {
                    deserialize(buffer: Buffer): string;
                    serialize(string: string): Buffer;
                };
                tag: {
                    constValue: Oracle;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => Oracle;
                    serialize: (value: Oracle) => Buffer;
                };
                version: {
                    constValue: 1;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 1;
                    serialize: (value?: 1) => Buffer;
                };
            }
            | {
                channelAmount: {
                    deserialize(value: Buffer): string;
                    serialize(value: Int): Buffer;
                };
                channelReserve: {
                    deserialize(value: Buffer): string;
                    serialize(value: Int): Buffer;
                };
                initiator: {
                    deserialize: (value: Buffer) => `ak_${string}`;
                    serialize: (value: `ak_${string}`) => Buffer;
                };
                initiatorAmount: {
                    deserialize(value: Buffer): string;
                    serialize(value: Int): Buffer;
                };
                initiatorAuth: {
                    deserialize: (value: Buffer) => `cb_${string}`;
                    serialize: (value: `cb_${string}`) => Buffer;
                };
                initiatorDelegateIds: {
                    deserialize: (
                        value: Buffer[],
                        params: unknown,
                    ) => (
                        | `ch_${(...)}`
                        | `ct_${(...)}`
                        | `ok_${(...)}`
                        | `ak_${(...)}`
                        | `cm_${(...)}`
                        | `nm_${(...)}`
                    )[];
                    serialize: (
                        value: readonly (
                            | `ch_${(...)}`
                            | `ct_${(...)}`
                            | `ok_${(...)}`
                            | `ak_${(...)}`
                            | `cm_${(...)}`
                            | `nm_${(...)}`
                        )[],
                        params: unknown,
                    ) => Buffer[];
                };
                lockedUntil: {
                    deserialize(value: Buffer): string;
                    serialize(value: Int): Buffer;
                };
                lockPeriod: {
                    deserialize(value: Buffer): string;
                    serialize(value: Int): Buffer;
                };
                responder: {
                    deserialize: (value: Buffer) => `ak_${string}`;
                    serialize: (value: `ak_${string}`) => Buffer;
                };
                responderAmount: {
                    deserialize(value: Buffer): string;
                    serialize(value: Int): Buffer;
                };
                responderAuth: {
                    deserialize: (value: Buffer) => `cb_${string}`;
                    serialize: (value: `cb_${string}`) => Buffer;
                };
                responderDelegateIds: {
                    deserialize: (
                        value: Buffer[],
                        params: unknown,
                    ) => (
                        | `ch_${(...)}`
                        | `ct_${(...)}`
                        | `ok_${(...)}`
                        | `ak_${(...)}`
                        | `cm_${(...)}`
                        | `nm_${(...)}`
                    )[];
                    serialize: (
                        value: readonly (
                            | `ch_${(...)}`
                            | `ct_${(...)}`
                            | `ok_${(...)}`
                            | `ak_${(...)}`
                            | `cm_${(...)}`
                            | `nm_${(...)}`
                        )[],
                        params: unknown,
                    ) => Buffer[];
                };
                round: {
                    deserialize(value: Buffer): number;
                    serialize(value: number): Buffer;
                };
                soloRound: {
                    deserialize(value: Buffer): string;
                    serialize(value: Int): Buffer;
                };
                stateHash: {
                    deserialize: (value: Buffer) => `st_${string}`;
                    serialize: (value: `st_${string}`) => Buffer;
                };
                tag: {
                    constValue: Channel;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => Channel;
                    serialize: (value: Channel) => Buffer;
                };
                version: {
                    constValue: 3;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 3;
                    serialize: (value?: 3) => Buffer;
                };
            }
            | {
                amount: {
                    deserialize(value: Buffer): string;
                    serialize(value: Int): Buffer;
                };
                from: {
                    deserialize: (value: Buffer) => `ak_${string}`;
                    serialize: (value: `ak_${string}`) => Buffer;
                };
                tag: {
                    constValue: ChannelOffChainUpdateTransfer;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => ChannelOffChainUpdateTransfer;
                    serialize: (value: ChannelOffChainUpdateTransfer) => Buffer;
                };
                to: {
                    deserialize: (value: Buffer) => `ak_${string}`;
                    serialize: (value: `ak_${string}`) => Buffer;
                };
                version: {
                    constValue: 1;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 1;
                    serialize: (value?: 1) => Buffer;
                };
            }
            | {
                amount: {
                    deserialize(value: Buffer): string;
                    serialize(value: Int): Buffer;
                };
                from: {
                    deserialize: (value: Buffer) => `ak_${string}`;
                    serialize: (value: `ak_${string}`) => Buffer;
                };
                tag: {
                    constValue: ChannelOffChainUpdateDeposit;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => ChannelOffChainUpdateDeposit;
                    serialize: (value: ChannelOffChainUpdateDeposit) => Buffer;
                };
                version: {
                    constValue: 1;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 1;
                    serialize: (value?: 1) => Buffer;
                };
            }
            | {
                amount: {
                    deserialize(value: Buffer): string;
                    serialize(value: Int): Buffer;
                };
                from: {
                    deserialize: (value: Buffer) => `ak_${string}`;
                    serialize: (value: `ak_${string}`) => Buffer;
                };
                tag: {
                    constValue: ChannelOffChainUpdateWithdraw;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => ChannelOffChainUpdateWithdraw;
                    serialize: (value: ChannelOffChainUpdateWithdraw) => Buffer;
                };
                version: {
                    constValue: 1;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 1;
                    serialize: (value?: 1) => Buffer;
                };
            }
            | {
                callData: {
                    deserialize: (value: Buffer) => `cb_${string}`;
                    serialize: (value: `cb_${string}`) => Buffer;
                };
                code: {
                    deserialize: (value: Buffer) => `cb_${string}`;
                    serialize: (value: `cb_${string}`) => Buffer;
                };
                ctVersion: {
                    deserialize(buffer: Buffer): CtVersion;
                    prepare(
                        value: undefined | CtVersion,
                        params: {},
                        options: { consensusProtocolVersion?: Ceres; onNode?: Node },
                    ): Promise<undefined | CtVersion>;
                    serialize(
                        value: undefined | CtVersion,
                        params: {},
                        __namedParameters: { consensusProtocolVersion?: Ceres },
                    ): Buffer;
                };
                deposit: {
                    deserialize(value: Buffer): string;
                    serialize(value: Int): Buffer;
                };
                owner: {
                    deserialize: (value: Buffer) => `ak_${string}`;
                    serialize: (value: `ak_${string}`) => Buffer;
                };
                tag: {
                    constValue: ChannelOffChainUpdateCreateContract;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => ChannelOffChainUpdateCreateContract;
                    serialize: (value: ChannelOffChainUpdateCreateContract) => Buffer;
                };
                version: {
                    constValue: 1;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 1;
                    serialize: (value?: 1) => Buffer;
                };
            }
            | {
                abiVersion: {
                    _getProtocolDetails(c: Ceres, tag: Tag): AbiVersion;
                    deserialize(buffer: Buffer): AbiVersion;
                    prepare(
                        value: AbiVersion | undefined,
                        __namedParameters: { tag: Tag },
                        options: { consensusProtocolVersion?: Ceres; onNode?: Node },
                    ): Promise<(AbiVersion | undefined)>;
                    serialize(
                        value: AbiVersion | undefined,
                        __namedParameters: { tag: Tag },
                        __namedParameters: { consensusProtocolVersion?: Ceres },
                    ): Buffer;
                };
                amount: {
                    deserialize(value: Buffer): string;
                    serialize(value: Int): Buffer;
                };
                callData: {
                    deserialize: (value: Buffer) => `cb_${string}`;
                    serialize: (value: `cb_${string}`) => Buffer;
                };
                caller: {
                    deserialize: (value: Buffer) => `ak_${string}`;
                    serialize: (value: `ak_${string}`) => Buffer;
                };
                callStack: {
                    deserialize(buffer: Buffer): Buffer;
                    serialize(buffer: Uint8Array): Buffer;
                };
                contract: {
                    deserialize: (value: Buffer) => `ct_${string}`;
                    serialize: (value: `ct_${string}`) => Buffer;
                };
                gasLimit: {
                    deserialize(value: Buffer): number;
                    serialize(
                        _value: undefined | number,
                        __namedParameters: {
                            _computingGasLimit?: number;
                            buildTx: (params: TxParams) => `tx_${string}`;
                            rebuildTx: (params: any) => any;
                            tag: Tag;
                            unpackTx: <TxType extends Tag>(
                                encodedTx:
                                    | `tx_${(...)}`
                                    | `pi_${(...)}`
                                    | `ss_${(...)}`
                                    | `cs_${(...)}`,
                                txType?: TxType,
                            ) => TxUnpacked & { tag: TxType; };
                        },
                        __namedParameters: { gasMax?: number },
                    ): Buffer;
                };
                gasPrice: {
                    deserialize(value: Buffer): string;
                    prepare(
                        value: Int | undefined,
                        params: {},
                        __namedParameters: {
                            denomination?: AE_AMOUNT_FORMATS | undefined;
                            onNode?: Node;
                        },
                    ): Promise<(Int | undefined)>;
                    serialize(
                        value: Int | undefined,
                        params: {},
                        __namedParameters: { denomination?: AE_AMOUNT_FORMATS | undefined },
                    ): Buffer;
                    serializeAettos(value?: undefined | string): string;
                };
                tag: {
                    constValue: ChannelOffChainUpdateCallContract;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => ChannelOffChainUpdateCallContract;
                    serialize: (value: ChannelOffChainUpdateCallContract) => Buffer;
                };
                version: {
                    constValue: 1;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 1;
                    serialize: (value?: 1) => Buffer;
                };
            }
            | {
                accounts: {
                    deserialize: (
                        value: MPTreeBinary[],
                        params: unknown,
                    ) => MPTree<AccountAddress, Account>[];
                    serialize: (
                        value: readonly MPTree<AccountAddress, Account>[],
                        params: unknown,
                    ) => MPTreeBinary[];
                };
                calls: {
                    deserialize: (
                        value: MPTreeBinary[],
                        params: unknown,
                    ) => MPTree<Bytearray, ContractCall>[];
                    serialize: (
                        value: readonly MPTree<Bytearray, ContractCall>[],
                        params: unknown,
                    ) => MPTreeBinary[];
                };
                channels: {
                    deserialize: (
                        value: MPTreeBinary[],
                        params: unknown,
                    ) => MPTree<Channel, Channel>[];
                    serialize: (
                        value: readonly MPTree<Channel, Channel>[],
                        params: unknown,
                    ) => MPTreeBinary[];
                };
                contracts: {
                    deserialize: (
                        value: MPTreeBinary[],
                        params: unknown,
                    ) => MPTree<ContractAddress, Contract>[];
                    serialize: (
                        value: readonly MPTree<ContractAddress, Contract>[],
                        params: unknown,
                    ) => MPTreeBinary[];
                };
                ns: {
                    deserialize: (
                        value: MPTreeBinary[],
                        params: unknown,
                    ) => MPTree<Name, Name>[];
                    serialize: (
                        value: readonly MPTree<Name, Name>[],
                        params: unknown,
                    ) => MPTreeBinary[];
                };
                oracles: {
                    deserialize: (
                        value: MPTreeBinary[],
                        params: unknown,
                    ) => MPTree<OracleAddress, Oracle>[];
                    serialize: (
                        value: readonly MPTree<OracleAddress, Oracle>[],
                        params: unknown,
                    ) => MPTreeBinary[];
                };
                tag: {
                    constValue: TreesPoi;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => TreesPoi;
                    serialize: (value: TreesPoi) => Buffer;
                };
                version: {
                    constValue: 1;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 1;
                    serialize: (value?: 1) => Buffer;
                };
            }
            | {
                accounts: MapAccounts;
                calls: MapCalls;
                channels: MapChannels;
                contracts: MapContracts;
                ns: MapNames;
                oracles: MapOracles;
                tag: {
                    constValue: StateTrees;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => StateTrees;
                    serialize: (value: StateTrees) => Buffer;
                };
                version: {
                    constValue: 0;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 0;
                    serialize: (value?: 0) => Buffer;
                };
            }
            | {
                tag: {
                    constValue: Mtree;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => Mtree;
                    serialize: (value: Mtree) => Buffer;
                };
                values: EntryMtreeValueArray;
                version: {
                    constValue: 1;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 1;
                    serialize: (value?: 1) => Buffer;
                };
            }
            | {
                key: {
                    deserialize(buffer: Buffer): Buffer;
                    serialize(buffer: Uint8Array): Buffer;
                };
                tag: {
                    constValue: MtreeValue;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => MtreeValue;
                    serialize: (value: MtreeValue) => Buffer;
                };
                value: {
                    deserialize(buffer: Buffer): Buffer;
                    serialize(buffer: Uint8Array): Buffer;
                };
                version: {
                    constValue: 1;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 1;
                    serialize: (value?: 1) => Buffer;
                };
            }
            | {
                payload: MapContracts;
                tag: {
                    constValue: ContractsMtree;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => ContractsMtree;
                    serialize: (value: ContractsMtree) => Buffer;
                };
                version: {
                    constValue: 1;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 1;
                    serialize: (value?: 1) => Buffer;
                };
            }
            | {
                payload: MapCalls;
                tag: {
                    constValue: CallsMtree;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => CallsMtree;
                    serialize: (value: CallsMtree) => Buffer;
                };
                version: {
                    constValue: 1;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 1;
                    serialize: (value?: 1) => Buffer;
                };
            }
            | {
                payload: MapChannels;
                tag: {
                    constValue: ChannelsMtree;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => ChannelsMtree;
                    serialize: (value: ChannelsMtree) => Buffer;
                };
                version: {
                    constValue: 1;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 1;
                    serialize: (value?: 1) => Buffer;
                };
            }
            | {
                payload: MapNames;
                tag: {
                    constValue: NameserviceMtree;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => NameserviceMtree;
                    serialize: (value: NameserviceMtree) => Buffer;
                };
                version: {
                    constValue: 1;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 1;
                    serialize: (value?: 1) => Buffer;
                };
            }
            | {
                payload: MapOracles;
                tag: {
                    constValue: OraclesMtree;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => OraclesMtree;
                    serialize: (value: OraclesMtree) => Buffer;
                };
                version: {
                    constValue: 1;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 1;
                    serialize: (value?: 1) => Buffer;
                };
            }
            | {
                payload: MapAccounts;
                tag: {
                    constValue: AccountsMtree;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => AccountsMtree;
                    serialize: (value: AccountsMtree) => Buffer;
                };
                version: {
                    constValue: 1;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 1;
                    serialize: (value?: 1) => Buffer;
                };
            }
            | {
                fee: {
                    deserialize(value: Buffer): string;
                    serialize(
                        value: Int | undefined,
                        params: {},
                        __namedParameters: { denomination?: AE_AMOUNT_FORMATS | undefined },
                    ): Buffer;
                    serializeAettos(
                        value: undefined | string,
                        params: {},
                        options: {},
                    ): string;
                };
                gasPrice: {
                    deserialize(value: Buffer): string;
                    prepare(
                        value: Int | undefined,
                        params: {},
                        __namedParameters: {
                            denomination?: AE_AMOUNT_FORMATS | undefined;
                            onNode?: Node;
                        },
                    ): Promise<(Int | undefined)>;
                    serialize(
                        value: Int | undefined,
                        params: {},
                        __namedParameters: { denomination?: AE_AMOUNT_FORMATS | undefined },
                    ): Buffer;
                    serializeAettos(value?: undefined | string): string;
                };
                tag: {
                    constValue: GaMetaTxAuthData;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => GaMetaTxAuthData;
                    serialize: (value: GaMetaTxAuthData) => Buffer;
                };
                txHash: {
                    deserialize: (value: Buffer) => `th_${string}`;
                    serialize: (value: `th_${string}`) => Buffer;
                };
                version: {
                    constValue: 1;
                    constValueOptional: boolean;
                    deserialize: (value: Buffer) => 1;
                    serialize: (value?: 1) => Buffer;
                };
            },
        > & { tag: Name },
    >;
    recursiveType: true;
    serialize: (
        value: Record<
            `nm_${string}`,
            (
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            balance: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            nonce: {
                                deserialize(value: Buffer): number;
                                serialize(value: number): Buffer;
                            };
                            tag: {
                                constValue: Account;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => Account;
                                serialize: (value: Account) => Buffer;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 1;
                                serialize: (value: 1) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    balance: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    nonce: { deserialize(value: ...): ...; serialize(value: ...): ... };
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        never,
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                balance: {
                                    deserialize(value: Buffer): string;
                                    serialize(value: Int): Buffer;
                                };
                                nonce: {
                                    deserialize(value: Buffer): number;
                                    serialize(value: number): Buffer;
                                };
                                tag: {
                                    constValue: Account;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 1;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    never,
                >
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            balance: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            flags: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            gaAuthFun: {
                                deserialize: (value: Buffer) => `cb_${(...)}`;
                                serialize: (value: `cb_${(...)}`) => Buffer;
                            };
                            gaContract: {
                                deserialize: (value: Buffer) => (...) | (...);
                                serialize: (value: (...) | (...)) => Buffer;
                            };
                            nonce: {
                                deserialize(value: Buffer): number;
                                serialize(value: number): Buffer;
                            };
                            tag: {
                                constValue: Account;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => Account;
                                serialize: (value: Account) => Buffer;
                            };
                            version: {
                                constValue: 2;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 2;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    balance: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    flags: { deserialize(value: ...): ...; serialize(value: ...): ... };
                                    gaAuthFun: { deserialize: ...; serialize: ... };
                                    gaContract: { deserialize: ...; serialize: ... };
                                    nonce: { deserialize(value: ...): ...; serialize(value: ...): ... };
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "version",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                balance: {
                                    deserialize(value: Buffer): string;
                                    serialize(value: Int): Buffer;
                                };
                                flags: {
                                    deserialize(value: Buffer): string;
                                    serialize(value: Int): Buffer;
                                };
                                gaAuthFun: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                gaContract: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                nonce: {
                                    deserialize(value: Buffer): number;
                                    serialize(value: number): Buffer;
                                };
                                tag: {
                                    constValue: Account;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 2;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            accountId: {
                                deserialize: (value: Buffer) => `ak_${(...)}`;
                                serialize: (value: `ak_${(...)}`) => Buffer;
                            };
                            clientTtl: {
                                deserialize(value: Buffer): number;
                                serialize(value: number): Buffer;
                            };
                            nameTtl: {
                                deserialize(value: Buffer): number;
                                serialize(value: number): Buffer;
                            };
                            pointers: <AllowRaw extends boolean>(
                                allowRaw: AllowRaw,
                            ) => {
                                deserialize: (pointers: ...) => ...;
                                serialize: (pointers: ...) => ...;
                            };
                            status: {
                                deserialize(buffer: Buffer): Buffer;
                                serialize(buffer: Uint8Array): Buffer;
                            };
                            tag: {
                                constValue: Name;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => Name;
                                serialize: (value: Name) => Buffer;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 1;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    accountId: { deserialize: ...; serialize: ... };
                                    clientTtl: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    nameTtl: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    pointers: <AllowRaw extends ...>(allowRaw: ...) => ...;
                                    status: {
                                        deserialize(buffer: ...): ...;
                                        serialize(buffer: ...): ...;
                                    };
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "version",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                accountId: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                clientTtl: {
                                    deserialize(value: Buffer): number;
                                    serialize(value: number): Buffer;
                                };
                                nameTtl: {
                                    deserialize(value: Buffer): number;
                                    serialize(value: number): Buffer;
                                };
                                pointers: <AllowRaw extends boolean>(
                                    allowRaw: AllowRaw,
                                ) => { deserialize: ...; serialize: ... };
                                status: {
                                    deserialize(buffer: Buffer): Buffer;
                                    serialize(buffer: Uint8Array): Buffer;
                                };
                                tag: {
                                    constValue: Name;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 1;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            active: {
                                deserialize(buffer: Buffer): boolean;
                                serialize(value: boolean): Buffer;
                            };
                            code: {
                                deserialize: (value: Buffer) => `cb_${(...)}`;
                                serialize: (value: `cb_${(...)}`) => Buffer;
                            };
                            ctVersion: {
                                deserialize(buffer: Buffer): CtVersion;
                                prepare(
                                    value: undefined | CtVersion,
                                    params: {},
                                    options: {
                                        consensusProtocolVersion?: (...) | (...);
                                        onNode?: (...) | (...);
                                    },
                                ): Promise<(...) | (...)>;
                                serialize(
                                    value: undefined | CtVersion,
                                    params: {},
                                    __namedParameters: { consensusProtocolVersion?: (...) | (...) },
                                ): Buffer;
                            };
                            deposit: {
                                deserialize(value: Buffer): string;
                                serialize(
                                    value: Int | undefined,
                                    params: {},
                                    __namedParameters: { denomination?: AE_AMOUNT_FORMATS | undefined },
                                ): Buffer;
                                serializeAettos(
                                    value: undefined | string,
                                    params: {},
                                    options: {},
                                ): string;
                            };
                            log: {
                                deserialize: (value: Buffer) => `cb_${(...)}`;
                                serialize: (value: `cb_${(...)}`) => Buffer;
                            };
                            owner: {
                                deserialize: (value: Buffer) => `ak_${(...)}`;
                                serialize: (value: `ak_${(...)}`) => Buffer;
                            };
                            referers: {
                                deserialize: (value: (...)[], params: unknown) => (...)[];
                                serialize: (value: readonly (...)[], params: unknown) => (...)[];
                            };
                            tag: {
                                constValue: Contract;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => Contract;
                                serialize: (value: Contract) => Buffer;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 1;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    active: {
                                        deserialize(buffer: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    code: { deserialize: ...; serialize: ... };
                                    ctVersion: {
                                        deserialize(buffer: ...): ...;
                                        prepare(value: ..., params: ..., options: ...): ...;
                                        serialize(value: ..., params: ..., __namedParameters: ...): ...;
                                    };
                                    deposit: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ..., params: ..., __namedParameters: ...): ...;
                                        serializeAettos(value: ..., params: ..., options: ...): ...;
                                    };
                                    log: { deserialize: ...; serialize: ... };
                                    owner: { deserialize: ...; serialize: ... };
                                    referers: { deserialize: ...; serialize: ... };
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "deposit"
                        | "version"
                        | "ctVersion",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                active: {
                                    deserialize(buffer: Buffer): boolean;
                                    serialize(value: boolean): Buffer;
                                };
                                code: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                ctVersion: {
                                    deserialize(buffer: Buffer): CtVersion;
                                    prepare(
                                        value: (...) | (...),
                                        params: {},
                                        options: { consensusProtocolVersion?: ...; onNode?: ... },
                                    ): Promise<(...)>;
                                    serialize(
                                        value: (...) | (...),
                                        params: {},
                                        __namedParameters: { consensusProtocolVersion?: ... },
                                    ): Buffer;
                                };
                                deposit: {
                                    deserialize(value: Buffer): string;
                                    serialize(
                                        value: Int | undefined,
                                        params: {},
                                        __namedParameters: { denomination?: ... },
                                    ): Buffer;
                                    serializeAettos(
                                        value: (...) | (...),
                                        params: {},
                                        options: {},
                                    ): string;
                                };
                                log: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                owner: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                referers: {
                                    deserialize: (value: ..., params: ...) => ...;
                                    serialize: (value: ..., params: ...) => ...;
                                };
                                tag: {
                                    constValue: Contract;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 1;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "deposit"
                    | "version"
                    | "ctVersion",
                > & { denomination?: AE_AMOUNT_FORMATS | undefined } & {
                    consensusProtocolVersion?: Ceres;
                }
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            callerId: {
                                deserialize: (value: Buffer) => `ak_${(...)}`;
                                serialize: (value: `ak_${(...)}`) => Buffer;
                            };
                            callerNonce: {
                                deserialize(value: Buffer): number;
                                serialize(value: number): Buffer;
                            };
                            contractId: {
                                deserialize: (value: Buffer) => `ct_${(...)}`;
                                serialize: (value: `ct_${(...)}`) => Buffer;
                            };
                            gasPrice: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            gasUsed: {
                                deserialize(value: Buffer): number;
                                serialize(value: number): Buffer;
                            };
                            height: {
                                deserialize(value: Buffer): number;
                                serialize(value: number): Buffer;
                            };
                            log: {
                                deserialize: (value: (...)[], params: unknown) => (...)[];
                                serialize: (value: readonly (...)[], params: unknown) => (...)[];
                            };
                            returnType: {
                                deserialize: (value: Buffer) => CallReturnType;
                                serialize: (value: CallReturnType) => Buffer;
                            };
                            returnValue: {
                                deserialize: (value: Buffer) => `cb_${(...)}`;
                                serialize: (value: `cb_${(...)}`) => Buffer;
                            };
                            tag: {
                                constValue: ContractCall;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => ContractCall;
                                serialize: (value: ContractCall) => Buffer;
                            };
                            version: {
                                constValue: 2;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 2;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    callerId: { deserialize: ...; serialize: ... };
                                    callerNonce: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    contractId: { deserialize: ...; serialize: ... };
                                    gasPrice: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    gasUsed: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    height: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    log: { deserialize: ...; serialize: ... };
                                    returnType: { deserialize: ...; serialize: ... };
                                    returnValue: { deserialize: ...; serialize: ... };
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "version",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                callerId: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                callerNonce: {
                                    deserialize(value: Buffer): number;
                                    serialize(value: number): Buffer;
                                };
                                contractId: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                gasPrice: {
                                    deserialize(value: Buffer): string;
                                    serialize(value: Int): Buffer;
                                };
                                gasUsed: {
                                    deserialize(value: Buffer): number;
                                    serialize(value: number): Buffer;
                                };
                                height: {
                                    deserialize(value: Buffer): number;
                                    serialize(value: number): Buffer;
                                };
                                log: {
                                    deserialize: (value: ..., params: ...) => ...;
                                    serialize: (value: ..., params: ...) => ...;
                                };
                                returnType: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                returnValue: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                tag: {
                                    constValue: ContractCall;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 2;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            abiVersion: {
                                _getProtocolDetails(c: Ceres, tag: Tag): AbiVersion;
                                deserialize(buffer: Buffer): AbiVersion;
                                prepare(
                                    value: AbiVersion | undefined,
                                    __namedParameters: { tag: Tag },
                                    options: {
                                        consensusProtocolVersion?: (...) | (...);
                                        onNode?: (...) | (...);
                                    },
                                ): Promise<(AbiVersion | undefined)>;
                                serialize(
                                    value: AbiVersion | undefined,
                                    __namedParameters: { tag: Tag },
                                    __namedParameters: { consensusProtocolVersion?: (...) | (...) },
                                ): Buffer;
                            };
                            accountId: {
                                deserialize: (value: Buffer) => `ak_${(...)}`;
                                serialize: (value: `ak_${(...)}`) => Buffer;
                            };
                            oracleTtlValue: {
                                deserialize(value: Buffer): number;
                                serialize(value: number): Buffer;
                            };
                            queryFee: {
                                deserialize(value: Buffer): string;
                                serialize(
                                    value: Int | undefined,
                                    params: {},
                                    __namedParameters: { denomination?: AE_AMOUNT_FORMATS | undefined },
                                ): Buffer;
                                serializeAettos(
                                    value: undefined | string,
                                    params: {},
                                    options: {},
                                ): string;
                            };
                            queryFormat: {
                                deserialize(buffer: Buffer): string;
                                serialize(string: string): Buffer;
                            };
                            responseFormat: {
                                deserialize(buffer: Buffer): string;
                                serialize(string: string): Buffer;
                            };
                            tag: {
                                constValue: Oracle;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => Oracle;
                                serialize: (value: Oracle) => Buffer;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 1;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    abiVersion: {
                                        _getProtocolDetails(c: ..., tag: ...): ...;
                                        deserialize(buffer: ...): ...;
                                        prepare(value: ..., __namedParameters: ..., options: ...): ...;
                                        serialize(
                                            value: ...,
                                            __namedParameters: ...,
                                            __namedParameters: ...,
                                        ): ...;
                                    };
                                    accountId: { deserialize: ...; serialize: ... };
                                    oracleTtlValue: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    queryFee: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ..., params: ..., __namedParameters: ...): ...;
                                        serializeAettos(value: ..., params: ..., options: ...): ...;
                                    };
                                    queryFormat: {
                                        deserialize(buffer: ...): ...;
                                        serialize(string: ...): ...;
                                    };
                                    responseFormat: {
                                        deserialize(buffer: ...): ...;
                                        serialize(string: ...): ...;
                                    };
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "queryFee"
                        | "abiVersion"
                        | "version",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                abiVersion: {
                                    _getProtocolDetails(c: Ceres, tag: Tag): AbiVersion;
                                    deserialize(buffer: Buffer): AbiVersion;
                                    prepare(
                                        value: AbiVersion | undefined,
                                        __namedParameters: { tag: ... },
                                        options: { consensusProtocolVersion?: ...; onNode?: ... },
                                    ): Promise<(...)>;
                                    serialize(
                                        value: AbiVersion | undefined,
                                        __namedParameters: { tag: ... },
                                        __namedParameters: { consensusProtocolVersion?: ... },
                                    ): Buffer;
                                };
                                accountId: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                oracleTtlValue: {
                                    deserialize(value: Buffer): number;
                                    serialize(value: number): Buffer;
                                };
                                queryFee: {
                                    deserialize(value: Buffer): string;
                                    serialize(
                                        value: Int | undefined,
                                        params: {},
                                        __namedParameters: { denomination?: ... },
                                    ): Buffer;
                                    serializeAettos(
                                        value: (...) | (...),
                                        params: {},
                                        options: {},
                                    ): string;
                                };
                                queryFormat: {
                                    deserialize(buffer: Buffer): string;
                                    serialize(string: string): Buffer;
                                };
                                responseFormat: {
                                    deserialize(buffer: Buffer): string;
                                    serialize(string: string): Buffer;
                                };
                                tag: {
                                    constValue: Oracle;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 1;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "queryFee"
                    | "abiVersion"
                    | "version",
                > & { denomination?: AE_AMOUNT_FORMATS | undefined } & {
                    consensusProtocolVersion?: Ceres;
                }
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            channelAmount: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            channelReserve: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            initiator: {
                                deserialize: (value: Buffer) => `ak_${(...)}`;
                                serialize: (value: `ak_${(...)}`) => Buffer;
                            };
                            initiatorAmount: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            initiatorAuth: {
                                deserialize: (value: Buffer) => `cb_${(...)}`;
                                serialize: (value: `cb_${(...)}`) => Buffer;
                            };
                            initiatorDelegateIds: {
                                deserialize: (value: (...)[], params: unknown) => (...)[];
                                serialize: (value: readonly (...)[], params: unknown) => (...)[];
                            };
                            lockedUntil: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            lockPeriod: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            responder: {
                                deserialize: (value: Buffer) => `ak_${(...)}`;
                                serialize: (value: `ak_${(...)}`) => Buffer;
                            };
                            responderAmount: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            responderAuth: {
                                deserialize: (value: Buffer) => `cb_${(...)}`;
                                serialize: (value: `cb_${(...)}`) => Buffer;
                            };
                            responderDelegateIds: {
                                deserialize: (value: (...)[], params: unknown) => (...)[];
                                serialize: (value: readonly (...)[], params: unknown) => (...)[];
                            };
                            round: {
                                deserialize(value: Buffer): number;
                                serialize(value: number): Buffer;
                            };
                            soloRound: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            stateHash: {
                                deserialize: (value: Buffer) => `st_${(...)}`;
                                serialize: (value: `st_${(...)}`) => Buffer;
                            };
                            tag: {
                                constValue: Channel;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => Channel;
                                serialize: (value: Channel) => Buffer;
                            };
                            version: {
                                constValue: 3;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 3;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    channelAmount: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    channelReserve: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    initiator: { deserialize: ...; serialize: ... };
                                    initiatorAmount: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    initiatorAuth: { deserialize: ...; serialize: ... };
                                    initiatorDelegateIds: { deserialize: ...; serialize: ... };
                                    lockedUntil: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    lockPeriod: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    responder: { deserialize: ...; serialize: ... };
                                    responderAmount: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    responderAuth: { deserialize: ...; serialize: ... };
                                    responderDelegateIds: { deserialize: ...; serialize: ... };
                                    round: { deserialize(value: ...): ...; serialize(value: ...): ... };
                                    soloRound: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    stateHash: { deserialize: ...; serialize: ... };
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "version",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                channelAmount: {
                                    deserialize(value: Buffer): string;
                                    serialize(value: Int): Buffer;
                                };
                                channelReserve: {
                                    deserialize(value: Buffer): string;
                                    serialize(value: Int): Buffer;
                                };
                                initiator: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                initiatorAmount: {
                                    deserialize(value: Buffer): string;
                                    serialize(value: Int): Buffer;
                                };
                                initiatorAuth: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                initiatorDelegateIds: {
                                    deserialize: (value: ..., params: ...) => ...;
                                    serialize: (value: ..., params: ...) => ...;
                                };
                                lockedUntil: {
                                    deserialize(value: Buffer): string;
                                    serialize(value: Int): Buffer;
                                };
                                lockPeriod: {
                                    deserialize(value: Buffer): string;
                                    serialize(value: Int): Buffer;
                                };
                                responder: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                responderAmount: {
                                    deserialize(value: Buffer): string;
                                    serialize(value: Int): Buffer;
                                };
                                responderAuth: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                responderDelegateIds: {
                                    deserialize: (value: ..., params: ...) => ...;
                                    serialize: (value: ..., params: ...) => ...;
                                };
                                round: {
                                    deserialize(value: Buffer): number;
                                    serialize(value: number): Buffer;
                                };
                                soloRound: {
                                    deserialize(value: Buffer): string;
                                    serialize(value: Int): Buffer;
                                };
                                stateHash: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                tag: {
                                    constValue: Channel;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 3;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            amount: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            from: {
                                deserialize: (value: Buffer) => `ak_${(...)}`;
                                serialize: (value: `ak_${(...)}`) => Buffer;
                            };
                            tag: {
                                constValue: ChannelOffChainUpdateTransfer;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => ChannelOffChainUpdateTransfer;
                                serialize: (value: ChannelOffChainUpdateTransfer) => Buffer;
                            };
                            to: {
                                deserialize: (value: Buffer) => `ak_${(...)}`;
                                serialize: (value: `ak_${(...)}`) => Buffer;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 1;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    amount: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    from: { deserialize: ...; serialize: ... };
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    to: { deserialize: ...; serialize: ... };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "version",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                amount: {
                                    deserialize(value: Buffer): string;
                                    serialize(value: Int): Buffer;
                                };
                                from: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                tag: {
                                    constValue: ChannelOffChainUpdateTransfer;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                to: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 1;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            amount: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            from: {
                                deserialize: (value: Buffer) => `ak_${(...)}`;
                                serialize: (value: `ak_${(...)}`) => Buffer;
                            };
                            tag: {
                                constValue: ChannelOffChainUpdateDeposit;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => ChannelOffChainUpdateDeposit;
                                serialize: (value: ChannelOffChainUpdateDeposit) => Buffer;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 1;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    amount: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    from: { deserialize: ...; serialize: ... };
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "version",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                amount: {
                                    deserialize(value: Buffer): string;
                                    serialize(value: Int): Buffer;
                                };
                                from: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                tag: {
                                    constValue: ChannelOffChainUpdateDeposit;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 1;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            amount: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            from: {
                                deserialize: (value: Buffer) => `ak_${(...)}`;
                                serialize: (value: `ak_${(...)}`) => Buffer;
                            };
                            tag: {
                                constValue: ChannelOffChainUpdateWithdraw;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => ChannelOffChainUpdateWithdraw;
                                serialize: (value: ChannelOffChainUpdateWithdraw) => Buffer;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 1;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    amount: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    from: { deserialize: ...; serialize: ... };
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "version",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                amount: {
                                    deserialize(value: Buffer): string;
                                    serialize(value: Int): Buffer;
                                };
                                from: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                tag: {
                                    constValue: ChannelOffChainUpdateWithdraw;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 1;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            callData: {
                                deserialize: (value: Buffer) => `cb_${(...)}`;
                                serialize: (value: `cb_${(...)}`) => Buffer;
                            };
                            code: {
                                deserialize: (value: Buffer) => `cb_${(...)}`;
                                serialize: (value: `cb_${(...)}`) => Buffer;
                            };
                            ctVersion: {
                                deserialize(buffer: Buffer): CtVersion;
                                prepare(
                                    value: undefined | CtVersion,
                                    params: {},
                                    options: {
                                        consensusProtocolVersion?: (...) | (...);
                                        onNode?: (...) | (...);
                                    },
                                ): Promise<(...) | (...)>;
                                serialize(
                                    value: undefined | CtVersion,
                                    params: {},
                                    __namedParameters: { consensusProtocolVersion?: (...) | (...) },
                                ): Buffer;
                            };
                            deposit: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            owner: {
                                deserialize: (value: Buffer) => `ak_${(...)}`;
                                serialize: (value: `ak_${(...)}`) => Buffer;
                            };
                            tag: {
                                constValue: ChannelOffChainUpdateCreateContract;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => ChannelOffChainUpdateCreateContract;
                                serialize: (value: ChannelOffChainUpdateCreateContract) => Buffer;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 1;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    callData: { deserialize: ...; serialize: ... };
                                    code: { deserialize: ...; serialize: ... };
                                    ctVersion: {
                                        deserialize(buffer: ...): ...;
                                        prepare(value: ..., params: ..., options: ...): ...;
                                        serialize(value: ..., params: ..., __namedParameters: ...): ...;
                                    };
                                    deposit: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    owner: { deserialize: ...; serialize: ... };
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "version"
                        | "ctVersion",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                callData: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                code: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                ctVersion: {
                                    deserialize(buffer: Buffer): CtVersion;
                                    prepare(
                                        value: (...) | (...),
                                        params: {},
                                        options: { consensusProtocolVersion?: ...; onNode?: ... },
                                    ): Promise<(...)>;
                                    serialize(
                                        value: (...) | (...),
                                        params: {},
                                        __namedParameters: { consensusProtocolVersion?: ... },
                                    ): Buffer;
                                };
                                deposit: {
                                    deserialize(value: Buffer): string;
                                    serialize(value: Int): Buffer;
                                };
                                owner: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                tag: {
                                    constValue: ChannelOffChainUpdateCreateContract;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 1;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version"
                    | "ctVersion",
                > & { consensusProtocolVersion?: Ceres }
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            abiVersion: {
                                _getProtocolDetails(c: Ceres, tag: Tag): AbiVersion;
                                deserialize(buffer: Buffer): AbiVersion;
                                prepare(
                                    value: AbiVersion | undefined,
                                    __namedParameters: { tag: Tag },
                                    options: {
                                        consensusProtocolVersion?: (...) | (...);
                                        onNode?: (...) | (...);
                                    },
                                ): Promise<(AbiVersion | undefined)>;
                                serialize(
                                    value: AbiVersion | undefined,
                                    __namedParameters: { tag: Tag },
                                    __namedParameters: { consensusProtocolVersion?: (...) | (...) },
                                ): Buffer;
                            };
                            amount: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            callData: {
                                deserialize: (value: Buffer) => `cb_${(...)}`;
                                serialize: (value: `cb_${(...)}`) => Buffer;
                            };
                            caller: {
                                deserialize: (value: Buffer) => `ak_${(...)}`;
                                serialize: (value: `ak_${(...)}`) => Buffer;
                            };
                            callStack: {
                                deserialize(buffer: Buffer): Buffer;
                                serialize(buffer: Uint8Array): Buffer;
                            };
                            contract: {
                                deserialize: (value: Buffer) => `ct_${(...)}`;
                                serialize: (value: `ct_${(...)}`) => Buffer;
                            };
                            gasLimit: {
                                deserialize(value: Buffer): number;
                                serialize(
                                    _value: undefined | number,
                                    __namedParameters: {
                                        _computingGasLimit?: (...) | (...);
                                        buildTx: (params: ...) => ...;
                                        rebuildTx: (params: ...) => ...;
                                        tag: Tag;
                                        unpackTx: <TxType extends ...>(
                                            encodedTx: ...,
                                            txType?: ...,
                                        ) => ...;
                                    },
                                    __namedParameters: { gasMax?: (...) | (...) },
                                ): Buffer;
                            };
                            gasPrice: {
                                deserialize(value: Buffer): string;
                                prepare(
                                    value: Int | undefined,
                                    params: {},
                                    __namedParameters: {
                                        denomination?: AE_AMOUNT_FORMATS | undefined;
                                        onNode?: (...) | (...);
                                    },
                                ): Promise<(Int | undefined)>;
                                serialize(
                                    value: Int | undefined,
                                    params: {},
                                    __namedParameters: { denomination?: AE_AMOUNT_FORMATS | undefined },
                                ): Buffer;
                                serializeAettos(value?: undefined | string): string;
                            };
                            tag: {
                                constValue: ChannelOffChainUpdateCallContract;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => ChannelOffChainUpdateCallContract;
                                serialize: (value: ChannelOffChainUpdateCallContract) => Buffer;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 1;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    abiVersion: {
                                        _getProtocolDetails(c: ..., tag: ...): ...;
                                        deserialize(buffer: ...): ...;
                                        prepare(value: ..., __namedParameters: ..., options: ...): ...;
                                        serialize(
                                            value: ...,
                                            __namedParameters: ...,
                                            __namedParameters: ...,
                                        ): ...;
                                    };
                                    amount: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ...): ...;
                                    };
                                    callData: { deserialize: ...; serialize: ... };
                                    caller: { deserialize: ...; serialize: ... };
                                    callStack: {
                                        deserialize(buffer: ...): ...;
                                        serialize(buffer: ...): ...;
                                    };
                                    contract: { deserialize: ...; serialize: ... };
                                    gasLimit: {
                                        deserialize(value: ...): ...;
                                        serialize(
                                            _value: ...,
                                            __namedParameters: ...,
                                            __namedParameters: ...,
                                        ): ...;
                                    };
                                    gasPrice: {
                                        deserialize(value: ...): ...;
                                        prepare(value: ..., params: ..., __namedParameters: ...): ...;
                                        serialize(value: ..., params: ..., __namedParameters: ...): ...;
                                        serializeAettos(value?: ...): ...;
                                    };
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "abiVersion"
                        | "gasPrice"
                        | "version"
                        | "gasLimit",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                abiVersion: {
                                    _getProtocolDetails(c: Ceres, tag: Tag): AbiVersion;
                                    deserialize(buffer: Buffer): AbiVersion;
                                    prepare(
                                        value: AbiVersion | undefined,
                                        __namedParameters: { tag: ... },
                                        options: { consensusProtocolVersion?: ...; onNode?: ... },
                                    ): Promise<(...)>;
                                    serialize(
                                        value: AbiVersion | undefined,
                                        __namedParameters: { tag: ... },
                                        __namedParameters: { consensusProtocolVersion?: ... },
                                    ): Buffer;
                                };
                                amount: {
                                    deserialize(value: Buffer): string;
                                    serialize(value: Int): Buffer;
                                };
                                callData: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                caller: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                callStack: {
                                    deserialize(buffer: Buffer): Buffer;
                                    serialize(buffer: Uint8Array): Buffer;
                                };
                                contract: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                gasLimit: {
                                    deserialize(value: Buffer): number;
                                    serialize(
                                        _value: (...) | (...),
                                        __namedParameters: {
                                            _computingGasLimit?: ...;
                                            buildTx: ...;
                                            rebuildTx: ...;
                                            tag: ...;
                                            unpackTx: ...;
                                        },
                                        __namedParameters: { gasMax?: ... },
                                    ): Buffer;
                                };
                                gasPrice: {
                                    deserialize(value: Buffer): string;
                                    prepare(
                                        value: Int | undefined,
                                        params: {},
                                        __namedParameters: { denomination?: ...; onNode?: ... },
                                    ): Promise<(...)>;
                                    serialize(
                                        value: Int | undefined,
                                        params: {},
                                        __namedParameters: { denomination?: ... },
                                    ): Buffer;
                                    serializeAettos(value?: (...) | (...)): string;
                                };
                                tag: {
                                    constValue: ChannelOffChainUpdateCallContract;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 1;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "abiVersion"
                    | "gasPrice"
                    | "version"
                    | "gasLimit",
                > & { denomination?: AE_AMOUNT_FORMATS | undefined } & {
                    gasMax?: number;
                } & { consensusProtocolVersion?: Ceres }
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            accounts: {
                                deserialize: (value: (...)[], params: unknown) => (...)[];
                                serialize: (value: readonly (...)[], params: unknown) => (...)[];
                            };
                            calls: {
                                deserialize: (value: (...)[], params: unknown) => (...)[];
                                serialize: (value: readonly (...)[], params: unknown) => (...)[];
                            };
                            channels: {
                                deserialize: (value: (...)[], params: unknown) => (...)[];
                                serialize: (value: readonly (...)[], params: unknown) => (...)[];
                            };
                            contracts: {
                                deserialize: (value: (...)[], params: unknown) => (...)[];
                                serialize: (value: readonly (...)[], params: unknown) => (...)[];
                            };
                            ns: {
                                deserialize: (value: (...)[], params: unknown) => (...)[];
                                serialize: (value: readonly (...)[], params: unknown) => (...)[];
                            };
                            oracles: {
                                deserialize: (value: (...)[], params: unknown) => (...)[];
                                serialize: (value: readonly (...)[], params: unknown) => (...)[];
                            };
                            tag: {
                                constValue: TreesPoi;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => TreesPoi;
                                serialize: (value: TreesPoi) => Buffer;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 1;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    accounts: { deserialize: ...; serialize: ... };
                                    calls: { deserialize: ...; serialize: ... };
                                    channels: { deserialize: ...; serialize: ... };
                                    contracts: { deserialize: ...; serialize: ... };
                                    ns: { deserialize: ...; serialize: ... };
                                    oracles: { deserialize: ...; serialize: ... };
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "version",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                accounts: {
                                    deserialize: (value: ..., params: ...) => ...;
                                    serialize: (value: ..., params: ...) => ...;
                                };
                                calls: {
                                    deserialize: (value: ..., params: ...) => ...;
                                    serialize: (value: ..., params: ...) => ...;
                                };
                                channels: {
                                    deserialize: (value: ..., params: ...) => ...;
                                    serialize: (value: ..., params: ...) => ...;
                                };
                                contracts: {
                                    deserialize: (value: ..., params: ...) => ...;
                                    serialize: (value: ..., params: ...) => ...;
                                };
                                ns: {
                                    deserialize: (value: ..., params: ...) => ...;
                                    serialize: (value: ..., params: ...) => ...;
                                };
                                oracles: {
                                    deserialize: (value: ..., params: ...) => ...;
                                    serialize: (value: ..., params: ...) => ...;
                                };
                                tag: {
                                    constValue: TreesPoi;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 1;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            accounts: MapAccounts;
                            calls: MapCalls;
                            channels: MapChannels;
                            contracts: MapContracts;
                            ns: MapNames;
                            oracles: MapOracles;
                            tag: {
                                constValue: StateTrees;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => StateTrees;
                                serialize: (value: StateTrees) => Buffer;
                            };
                            version: {
                                constValue: 0;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 0;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    accounts: MapAccounts;
                                    calls: MapCalls;
                                    channels: MapChannels;
                                    contracts: MapContracts;
                                    ns: MapNames;
                                    oracles: MapOracles;
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "version",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                accounts: MapAccounts;
                                calls: MapCalls;
                                channels: MapChannels;
                                contracts: MapContracts;
                                ns: MapNames;
                                oracles: MapOracles;
                                tag: {
                                    constValue: StateTrees;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 0;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            tag: {
                                constValue: Mtree;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => Mtree;
                                serialize: (value: Mtree) => Buffer;
                            };
                            values: EntryMtreeValueArray;
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 1;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    values: EntryMtreeValueArray;
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "version",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                tag: {
                                    constValue: Mtree;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                values: EntryMtreeValueArray;
                                version: {
                                    constValue: 1;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            key: {
                                deserialize(buffer: Buffer): Buffer;
                                serialize(buffer: Uint8Array): Buffer;
                            };
                            tag: {
                                constValue: MtreeValue;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => MtreeValue;
                                serialize: (value: MtreeValue) => Buffer;
                            };
                            value: {
                                deserialize(buffer: Buffer): Buffer;
                                serialize(buffer: Uint8Array): Buffer;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 1;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    key: {
                                        deserialize(buffer: ...): ...;
                                        serialize(buffer: ...): ...;
                                    };
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    value: {
                                        deserialize(buffer: ...): ...;
                                        serialize(buffer: ...): ...;
                                    };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "version",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                key: {
                                    deserialize(buffer: Buffer): Buffer;
                                    serialize(buffer: Uint8Array): Buffer;
                                };
                                tag: {
                                    constValue: MtreeValue;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                value: {
                                    deserialize(buffer: Buffer): Buffer;
                                    serialize(buffer: Uint8Array): Buffer;
                                };
                                version: {
                                    constValue: 1;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            payload: MapContracts;
                            tag: {
                                constValue: ContractsMtree;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => ContractsMtree;
                                serialize: (value: ContractsMtree) => Buffer;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 1;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    payload: MapContracts;
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "version",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                payload: MapContracts;
                                tag: {
                                    constValue: ContractsMtree;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 1;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            payload: MapCalls;
                            tag: {
                                constValue: CallsMtree;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => CallsMtree;
                                serialize: (value: CallsMtree) => Buffer;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 1;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    payload: MapCalls;
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "version",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                payload: MapCalls;
                                tag: {
                                    constValue: CallsMtree;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 1;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            payload: MapChannels;
                            tag: {
                                constValue: ChannelsMtree;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => ChannelsMtree;
                                serialize: (value: ChannelsMtree) => Buffer;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 1;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    payload: MapChannels;
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "version",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                payload: MapChannels;
                                tag: {
                                    constValue: ChannelsMtree;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 1;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            payload: MapNames;
                            tag: {
                                constValue: NameserviceMtree;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => NameserviceMtree;
                                serialize: (value: NameserviceMtree) => Buffer;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 1;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    payload: MapNames;
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "version",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                payload: MapNames;
                                tag: {
                                    constValue: NameserviceMtree;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 1;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            payload: MapOracles;
                            tag: {
                                constValue: OraclesMtree;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => OraclesMtree;
                                serialize: (value: OraclesMtree) => Buffer;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 1;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    payload: MapOracles;
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "version",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                payload: MapOracles;
                                tag: {
                                    constValue: OraclesMtree;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 1;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            payload: MapAccounts;
                            tag: {
                                constValue: AccountsMtree;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => AccountsMtree;
                                serialize: (value: AccountsMtree) => Buffer;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 1;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    payload: MapAccounts;
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "version",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                payload: MapAccounts;
                                tag: {
                                    constValue: AccountsMtree;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 1;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >
                | TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            fee: {
                                deserialize(value: Buffer): string;
                                serialize(
                                    value: Int | undefined,
                                    params: {},
                                    __namedParameters: { denomination?: AE_AMOUNT_FORMATS | undefined },
                                ): Buffer;
                                serializeAettos(
                                    value: undefined | string,
                                    params: {},
                                    options: {},
                                ): string;
                            };
                            gasPrice: {
                                deserialize(value: Buffer): string;
                                prepare(
                                    value: Int | undefined,
                                    params: {},
                                    __namedParameters: {
                                        denomination?: AE_AMOUNT_FORMATS | undefined;
                                        onNode?: (...) | (...);
                                    },
                                ): Promise<(Int | undefined)>;
                                serialize(
                                    value: Int | undefined,
                                    params: {},
                                    __namedParameters: { denomination?: AE_AMOUNT_FORMATS | undefined },
                                ): Buffer;
                                serializeAettos(value?: undefined | string): string;
                            };
                            tag: {
                                constValue: GaMetaTxAuthData;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => GaMetaTxAuthData;
                                serialize: (value: GaMetaTxAuthData) => Buffer;
                            };
                            txHash: {
                                deserialize: (value: Buffer) => `th_${(...)}`;
                                serialize: (value: `th_${(...)}`) => Buffer;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: Buffer) => 1;
                                serialize: (value?: (...) | (...)) => Buffer;
                            };
                        },
                        true,
                    >,
                > & Partial<
                    Pick<
                        TxParamsBySchemaInternal<
                            PickIsRec<
                                {
                                    fee: {
                                        deserialize(value: ...): ...;
                                        serialize(value: ..., params: ..., __namedParameters: ...): ...;
                                        serializeAettos(value: ..., params: ..., options: ...): ...;
                                    };
                                    gasPrice: {
                                        deserialize(value: ...): ...;
                                        prepare(value: ..., params: ..., __namedParameters: ...): ...;
                                        serialize(value: ..., params: ..., __namedParameters: ...): ...;
                                        serializeAettos(value?: ...): ...;
                                    };
                                    tag: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                    txHash: { deserialize: ...; serialize: ... };
                                    version: {
                                        constValue: ...;
                                        constValueOptional: ...;
                                        deserialize: ...;
                                        serialize: ...;
                                    };
                                },
                                false,
                            >,
                        >,
                        "fee"
                        | "gasPrice"
                        | "version",
                    >,
                > & Omit<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                fee: {
                                    deserialize(value: Buffer): string;
                                    serialize(
                                        value: Int | undefined,
                                        params: {},
                                        __namedParameters: { denomination?: ... },
                                    ): Buffer;
                                    serializeAettos(
                                        value: (...) | (...),
                                        params: {},
                                        options: {},
                                    ): string;
                                };
                                gasPrice: {
                                    deserialize(value: Buffer): string;
                                    prepare(
                                        value: Int | undefined,
                                        params: {},
                                        __namedParameters: { denomination?: ...; onNode?: ... },
                                    ): Promise<(...)>;
                                    serialize(
                                        value: Int | undefined,
                                        params: {},
                                        __namedParameters: { denomination?: ... },
                                    ): Buffer;
                                    serializeAettos(value?: (...) | (...)): string;
                                };
                                tag: {
                                    constValue: GaMetaTxAuthData;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                txHash: {
                                    deserialize: (value: ...) => ...;
                                    serialize: (value: ...) => ...;
                                };
                                version: {
                                    constValue: 1;
                                    constValueOptional: boolean;
                                    deserialize: (value: ...) => ...;
                                    serialize: (value?: ...) => ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "fee"
                    | "gasPrice"
                    | "version",
                > & { denomination?: AE_AMOUNT_FORMATS | undefined }
            ) & { tag: Name },
        >,
    ) => Buffer;
}

Properties

deserialize: (
    value: Buffer,
) => Record<
    `nm_${string}`,
    TxUnpackedBySchema<
        | {
            balance: {
                deserialize(value: Buffer): string;
                serialize(value: Int): Buffer;
            };
            nonce: {
                deserialize(value: Buffer): number;
                serialize(value: number): Buffer;
            };
            tag: {
                constValue: Account;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => Account;
                serialize: (value: Account) => Buffer;
            };
            version: {
                constValue: 1;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 1;
                serialize: (value: 1) => Buffer;
            };
        }
        | {
            balance: {
                deserialize(value: Buffer): string;
                serialize(value: Int): Buffer;
            };
            flags: {
                deserialize(value: Buffer): string;
                serialize(value: Int): Buffer;
            };
            gaAuthFun: {
                deserialize: (value: Buffer) => `cb_${string}`;
                serialize: (value: `cb_${string}`) => Buffer;
            };
            gaContract: {
                deserialize: (value: Buffer) => `ct_${string}` | `nm_${string}`;
                serialize: (value: `ct_${string}` | `nm_${string}`) => Buffer;
            };
            nonce: {
                deserialize(value: Buffer): number;
                serialize(value: number): Buffer;
            };
            tag: {
                constValue: Account;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => Account;
                serialize: (value: Account) => Buffer;
            };
            version: {
                constValue: 2;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 2;
                serialize: (value?: 2) => Buffer;
            };
        }
        | {
            accountId: {
                deserialize: (value: Buffer) => `ak_${string}`;
                serialize: (value: `ak_${string}`) => Buffer;
            };
            clientTtl: {
                deserialize(value: Buffer): number;
                serialize(value: number): Buffer;
            };
            nameTtl: {
                deserialize(value: Buffer): number;
                serialize(value: number): Buffer;
            };
            pointers: <AllowRaw extends boolean>(
                allowRaw: AllowRaw,
            ) => {
                deserialize: (
                    pointers: [key: ..., id: ...][],
                ) => ((...) extends (...) ? (...) : (...))[];
                serialize: (
                    pointers: ((...) extends (...) ? (...) : (...))[],
                ) => (...)[][];
            };
            status: {
                deserialize(buffer: Buffer): Buffer;
                serialize(buffer: Uint8Array): Buffer;
            };
            tag: {
                constValue: Name;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => Name;
                serialize: (value: Name) => Buffer;
            };
            version: {
                constValue: 1;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 1;
                serialize: (value?: 1) => Buffer;
            };
        }
        | {
            active: {
                deserialize(buffer: Buffer): boolean;
                serialize(value: boolean): Buffer;
            };
            code: {
                deserialize: (value: Buffer) => `cb_${string}`;
                serialize: (value: `cb_${string}`) => Buffer;
            };
            ctVersion: {
                deserialize(buffer: Buffer): CtVersion;
                prepare(
                    value: undefined | CtVersion,
                    params: {},
                    options: { consensusProtocolVersion?: Ceres; onNode?: Node },
                ): Promise<undefined | CtVersion>;
                serialize(
                    value: undefined | CtVersion,
                    params: {},
                    __namedParameters: { consensusProtocolVersion?: Ceres },
                ): Buffer;
            };
            deposit: {
                deserialize(value: Buffer): string;
                serialize(
                    value: Int | undefined,
                    params: {},
                    __namedParameters: { denomination?: AE_AMOUNT_FORMATS | undefined },
                ): Buffer;
                serializeAettos(
                    value: undefined | string,
                    params: {},
                    options: {},
                ): string;
            };
            log: {
                deserialize: (value: Buffer) => `cb_${string}`;
                serialize: (value: `cb_${string}`) => Buffer;
            };
            owner: {
                deserialize: (value: Buffer) => `ak_${string}`;
                serialize: (value: `ak_${string}`) => Buffer;
            };
            referers: {
                deserialize: (value: Buffer[], params: unknown) => `ak_${string}`[];
                serialize: (
                    value: readonly `ak_${string}`[],
                    params: unknown,
                ) => Buffer[];
            };
            tag: {
                constValue: Contract;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => Contract;
                serialize: (value: Contract) => Buffer;
            };
            version: {
                constValue: 1;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 1;
                serialize: (value?: 1) => Buffer;
            };
        }
        | {
            callerId: {
                deserialize: (value: Buffer) => `ak_${string}`;
                serialize: (value: `ak_${string}`) => Buffer;
            };
            callerNonce: {
                deserialize(value: Buffer): number;
                serialize(value: number): Buffer;
            };
            contractId: {
                deserialize: (value: Buffer) => `ct_${string}`;
                serialize: (value: `ct_${string}`) => Buffer;
            };
            gasPrice: {
                deserialize(value: Buffer): string;
                serialize(value: Int): Buffer;
            };
            gasUsed: {
                deserialize(value: Buffer): number;
                serialize(value: number): Buffer;
            };
            height: {
                deserialize(value: Buffer): number;
                serialize(value: number): Buffer;
            };
            log: {
                deserialize: (value: Buffer[], params: unknown) => Buffer[];
                serialize: (value: readonly Uint8Array[], params: unknown) => Buffer[];
            };
            returnType: {
                deserialize: (value: Buffer) => CallReturnType;
                serialize: (value: CallReturnType) => Buffer;
            };
            returnValue: {
                deserialize: (value: Buffer) => `cb_${string}`;
                serialize: (value: `cb_${string}`) => Buffer;
            };
            tag: {
                constValue: ContractCall;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => ContractCall;
                serialize: (value: ContractCall) => Buffer;
            };
            version: {
                constValue: 2;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 2;
                serialize: (value?: 2) => Buffer;
            };
        }
        | {
            abiVersion: {
                _getProtocolDetails(c: Ceres, tag: Tag): AbiVersion;
                deserialize(buffer: Buffer): AbiVersion;
                prepare(
                    value: AbiVersion | undefined,
                    __namedParameters: { tag: Tag },
                    options: { consensusProtocolVersion?: Ceres; onNode?: Node },
                ): Promise<(AbiVersion | undefined)>;
                serialize(
                    value: AbiVersion | undefined,
                    __namedParameters: { tag: Tag },
                    __namedParameters: { consensusProtocolVersion?: Ceres },
                ): Buffer;
            };
            accountId: {
                deserialize: (value: Buffer) => `ak_${string}`;
                serialize: (value: `ak_${string}`) => Buffer;
            };
            oracleTtlValue: {
                deserialize(value: Buffer): number;
                serialize(value: number): Buffer;
            };
            queryFee: {
                deserialize(value: Buffer): string;
                serialize(
                    value: Int | undefined,
                    params: {},
                    __namedParameters: { denomination?: AE_AMOUNT_FORMATS | undefined },
                ): Buffer;
                serializeAettos(
                    value: undefined | string,
                    params: {},
                    options: {},
                ): string;
            };
            queryFormat: {
                deserialize(buffer: Buffer): string;
                serialize(string: string): Buffer;
            };
            responseFormat: {
                deserialize(buffer: Buffer): string;
                serialize(string: string): Buffer;
            };
            tag: {
                constValue: Oracle;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => Oracle;
                serialize: (value: Oracle) => Buffer;
            };
            version: {
                constValue: 1;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 1;
                serialize: (value?: 1) => Buffer;
            };
        }
        | {
            channelAmount: {
                deserialize(value: Buffer): string;
                serialize(value: Int): Buffer;
            };
            channelReserve: {
                deserialize(value: Buffer): string;
                serialize(value: Int): Buffer;
            };
            initiator: {
                deserialize: (value: Buffer) => `ak_${string}`;
                serialize: (value: `ak_${string}`) => Buffer;
            };
            initiatorAmount: {
                deserialize(value: Buffer): string;
                serialize(value: Int): Buffer;
            };
            initiatorAuth: {
                deserialize: (value: Buffer) => `cb_${string}`;
                serialize: (value: `cb_${string}`) => Buffer;
            };
            initiatorDelegateIds: {
                deserialize: (
                    value: Buffer[],
                    params: unknown,
                ) => (
                    | `ch_${(...)}`
                    | `ct_${(...)}`
                    | `ok_${(...)}`
                    | `ak_${(...)}`
                    | `cm_${(...)}`
                    | `nm_${(...)}`
                )[];
                serialize: (
                    value: readonly (
                        | `ch_${(...)}`
                        | `ct_${(...)}`
                        | `ok_${(...)}`
                        | `ak_${(...)}`
                        | `cm_${(...)}`
                        | `nm_${(...)}`
                    )[],
                    params: unknown,
                ) => Buffer[];
            };
            lockedUntil: {
                deserialize(value: Buffer): string;
                serialize(value: Int): Buffer;
            };
            lockPeriod: {
                deserialize(value: Buffer): string;
                serialize(value: Int): Buffer;
            };
            responder: {
                deserialize: (value: Buffer) => `ak_${string}`;
                serialize: (value: `ak_${string}`) => Buffer;
            };
            responderAmount: {
                deserialize(value: Buffer): string;
                serialize(value: Int): Buffer;
            };
            responderAuth: {
                deserialize: (value: Buffer) => `cb_${string}`;
                serialize: (value: `cb_${string}`) => Buffer;
            };
            responderDelegateIds: {
                deserialize: (
                    value: Buffer[],
                    params: unknown,
                ) => (
                    | `ch_${(...)}`
                    | `ct_${(...)}`
                    | `ok_${(...)}`
                    | `ak_${(...)}`
                    | `cm_${(...)}`
                    | `nm_${(...)}`
                )[];
                serialize: (
                    value: readonly (
                        | `ch_${(...)}`
                        | `ct_${(...)}`
                        | `ok_${(...)}`
                        | `ak_${(...)}`
                        | `cm_${(...)}`
                        | `nm_${(...)}`
                    )[],
                    params: unknown,
                ) => Buffer[];
            };
            round: {
                deserialize(value: Buffer): number;
                serialize(value: number): Buffer;
            };
            soloRound: {
                deserialize(value: Buffer): string;
                serialize(value: Int): Buffer;
            };
            stateHash: {
                deserialize: (value: Buffer) => `st_${string}`;
                serialize: (value: `st_${string}`) => Buffer;
            };
            tag: {
                constValue: Channel;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => Channel;
                serialize: (value: Channel) => Buffer;
            };
            version: {
                constValue: 3;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 3;
                serialize: (value?: 3) => Buffer;
            };
        }
        | {
            amount: {
                deserialize(value: Buffer): string;
                serialize(value: Int): Buffer;
            };
            from: {
                deserialize: (value: Buffer) => `ak_${string}`;
                serialize: (value: `ak_${string}`) => Buffer;
            };
            tag: {
                constValue: ChannelOffChainUpdateTransfer;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => ChannelOffChainUpdateTransfer;
                serialize: (value: ChannelOffChainUpdateTransfer) => Buffer;
            };
            to: {
                deserialize: (value: Buffer) => `ak_${string}`;
                serialize: (value: `ak_${string}`) => Buffer;
            };
            version: {
                constValue: 1;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 1;
                serialize: (value?: 1) => Buffer;
            };
        }
        | {
            amount: {
                deserialize(value: Buffer): string;
                serialize(value: Int): Buffer;
            };
            from: {
                deserialize: (value: Buffer) => `ak_${string}`;
                serialize: (value: `ak_${string}`) => Buffer;
            };
            tag: {
                constValue: ChannelOffChainUpdateDeposit;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => ChannelOffChainUpdateDeposit;
                serialize: (value: ChannelOffChainUpdateDeposit) => Buffer;
            };
            version: {
                constValue: 1;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 1;
                serialize: (value?: 1) => Buffer;
            };
        }
        | {
            amount: {
                deserialize(value: Buffer): string;
                serialize(value: Int): Buffer;
            };
            from: {
                deserialize: (value: Buffer) => `ak_${string}`;
                serialize: (value: `ak_${string}`) => Buffer;
            };
            tag: {
                constValue: ChannelOffChainUpdateWithdraw;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => ChannelOffChainUpdateWithdraw;
                serialize: (value: ChannelOffChainUpdateWithdraw) => Buffer;
            };
            version: {
                constValue: 1;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 1;
                serialize: (value?: 1) => Buffer;
            };
        }
        | {
            callData: {
                deserialize: (value: Buffer) => `cb_${string}`;
                serialize: (value: `cb_${string}`) => Buffer;
            };
            code: {
                deserialize: (value: Buffer) => `cb_${string}`;
                serialize: (value: `cb_${string}`) => Buffer;
            };
            ctVersion: {
                deserialize(buffer: Buffer): CtVersion;
                prepare(
                    value: undefined | CtVersion,
                    params: {},
                    options: { consensusProtocolVersion?: Ceres; onNode?: Node },
                ): Promise<undefined | CtVersion>;
                serialize(
                    value: undefined | CtVersion,
                    params: {},
                    __namedParameters: { consensusProtocolVersion?: Ceres },
                ): Buffer;
            };
            deposit: {
                deserialize(value: Buffer): string;
                serialize(value: Int): Buffer;
            };
            owner: {
                deserialize: (value: Buffer) => `ak_${string}`;
                serialize: (value: `ak_${string}`) => Buffer;
            };
            tag: {
                constValue: ChannelOffChainUpdateCreateContract;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => ChannelOffChainUpdateCreateContract;
                serialize: (value: ChannelOffChainUpdateCreateContract) => Buffer;
            };
            version: {
                constValue: 1;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 1;
                serialize: (value?: 1) => Buffer;
            };
        }
        | {
            abiVersion: {
                _getProtocolDetails(c: Ceres, tag: Tag): AbiVersion;
                deserialize(buffer: Buffer): AbiVersion;
                prepare(
                    value: AbiVersion | undefined,
                    __namedParameters: { tag: Tag },
                    options: { consensusProtocolVersion?: Ceres; onNode?: Node },
                ): Promise<(AbiVersion | undefined)>;
                serialize(
                    value: AbiVersion | undefined,
                    __namedParameters: { tag: Tag },
                    __namedParameters: { consensusProtocolVersion?: Ceres },
                ): Buffer;
            };
            amount: {
                deserialize(value: Buffer): string;
                serialize(value: Int): Buffer;
            };
            callData: {
                deserialize: (value: Buffer) => `cb_${string}`;
                serialize: (value: `cb_${string}`) => Buffer;
            };
            caller: {
                deserialize: (value: Buffer) => `ak_${string}`;
                serialize: (value: `ak_${string}`) => Buffer;
            };
            callStack: {
                deserialize(buffer: Buffer): Buffer;
                serialize(buffer: Uint8Array): Buffer;
            };
            contract: {
                deserialize: (value: Buffer) => `ct_${string}`;
                serialize: (value: `ct_${string}`) => Buffer;
            };
            gasLimit: {
                deserialize(value: Buffer): number;
                serialize(
                    _value: undefined | number,
                    __namedParameters: {
                        _computingGasLimit?: number;
                        buildTx: (params: TxParams) => `tx_${string}`;
                        rebuildTx: (params: any) => any;
                        tag: Tag;
                        unpackTx: <TxType extends Tag>(
                            encodedTx:
                                | `tx_${(...)}`
                                | `pi_${(...)}`
                                | `ss_${(...)}`
                                | `cs_${(...)}`,
                            txType?: TxType,
                        ) => TxUnpacked & { tag: TxType; };
                    },
                    __namedParameters: { gasMax?: number },
                ): Buffer;
            };
            gasPrice: {
                deserialize(value: Buffer): string;
                prepare(
                    value: Int | undefined,
                    params: {},
                    __namedParameters: {
                        denomination?: AE_AMOUNT_FORMATS | undefined;
                        onNode?: Node;
                    },
                ): Promise<(Int | undefined)>;
                serialize(
                    value: Int | undefined,
                    params: {},
                    __namedParameters: { denomination?: AE_AMOUNT_FORMATS | undefined },
                ): Buffer;
                serializeAettos(value?: undefined | string): string;
            };
            tag: {
                constValue: ChannelOffChainUpdateCallContract;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => ChannelOffChainUpdateCallContract;
                serialize: (value: ChannelOffChainUpdateCallContract) => Buffer;
            };
            version: {
                constValue: 1;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 1;
                serialize: (value?: 1) => Buffer;
            };
        }
        | {
            accounts: {
                deserialize: (
                    value: MPTreeBinary[],
                    params: unknown,
                ) => MPTree<AccountAddress, Account>[];
                serialize: (
                    value: readonly MPTree<AccountAddress, Account>[],
                    params: unknown,
                ) => MPTreeBinary[];
            };
            calls: {
                deserialize: (
                    value: MPTreeBinary[],
                    params: unknown,
                ) => MPTree<Bytearray, ContractCall>[];
                serialize: (
                    value: readonly MPTree<Bytearray, ContractCall>[],
                    params: unknown,
                ) => MPTreeBinary[];
            };
            channels: {
                deserialize: (
                    value: MPTreeBinary[],
                    params: unknown,
                ) => MPTree<Channel, Channel>[];
                serialize: (
                    value: readonly MPTree<Channel, Channel>[],
                    params: unknown,
                ) => MPTreeBinary[];
            };
            contracts: {
                deserialize: (
                    value: MPTreeBinary[],
                    params: unknown,
                ) => MPTree<ContractAddress, Contract>[];
                serialize: (
                    value: readonly MPTree<ContractAddress, Contract>[],
                    params: unknown,
                ) => MPTreeBinary[];
            };
            ns: {
                deserialize: (
                    value: MPTreeBinary[],
                    params: unknown,
                ) => MPTree<Name, Name>[];
                serialize: (
                    value: readonly MPTree<Name, Name>[],
                    params: unknown,
                ) => MPTreeBinary[];
            };
            oracles: {
                deserialize: (
                    value: MPTreeBinary[],
                    params: unknown,
                ) => MPTree<OracleAddress, Oracle>[];
                serialize: (
                    value: readonly MPTree<OracleAddress, Oracle>[],
                    params: unknown,
                ) => MPTreeBinary[];
            };
            tag: {
                constValue: TreesPoi;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => TreesPoi;
                serialize: (value: TreesPoi) => Buffer;
            };
            version: {
                constValue: 1;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 1;
                serialize: (value?: 1) => Buffer;
            };
        }
        | {
            accounts: MapAccounts;
            calls: MapCalls;
            channels: MapChannels;
            contracts: MapContracts;
            ns: MapNames;
            oracles: MapOracles;
            tag: {
                constValue: StateTrees;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => StateTrees;
                serialize: (value: StateTrees) => Buffer;
            };
            version: {
                constValue: 0;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 0;
                serialize: (value?: 0) => Buffer;
            };
        }
        | {
            tag: {
                constValue: Mtree;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => Mtree;
                serialize: (value: Mtree) => Buffer;
            };
            values: EntryMtreeValueArray;
            version: {
                constValue: 1;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 1;
                serialize: (value?: 1) => Buffer;
            };
        }
        | {
            key: {
                deserialize(buffer: Buffer): Buffer;
                serialize(buffer: Uint8Array): Buffer;
            };
            tag: {
                constValue: MtreeValue;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => MtreeValue;
                serialize: (value: MtreeValue) => Buffer;
            };
            value: {
                deserialize(buffer: Buffer): Buffer;
                serialize(buffer: Uint8Array): Buffer;
            };
            version: {
                constValue: 1;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 1;
                serialize: (value?: 1) => Buffer;
            };
        }
        | {
            payload: MapContracts;
            tag: {
                constValue: ContractsMtree;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => ContractsMtree;
                serialize: (value: ContractsMtree) => Buffer;
            };
            version: {
                constValue: 1;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 1;
                serialize: (value?: 1) => Buffer;
            };
        }
        | {
            payload: MapCalls;
            tag: {
                constValue: CallsMtree;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => CallsMtree;
                serialize: (value: CallsMtree) => Buffer;
            };
            version: {
                constValue: 1;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 1;
                serialize: (value?: 1) => Buffer;
            };
        }
        | {
            payload: MapChannels;
            tag: {
                constValue: ChannelsMtree;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => ChannelsMtree;
                serialize: (value: ChannelsMtree) => Buffer;
            };
            version: {
                constValue: 1;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 1;
                serialize: (value?: 1) => Buffer;
            };
        }
        | {
            payload: MapNames;
            tag: {
                constValue: NameserviceMtree;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => NameserviceMtree;
                serialize: (value: NameserviceMtree) => Buffer;
            };
            version: {
                constValue: 1;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 1;
                serialize: (value?: 1) => Buffer;
            };
        }
        | {
            payload: MapOracles;
            tag: {
                constValue: OraclesMtree;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => OraclesMtree;
                serialize: (value: OraclesMtree) => Buffer;
            };
            version: {
                constValue: 1;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 1;
                serialize: (value?: 1) => Buffer;
            };
        }
        | {
            payload: MapAccounts;
            tag: {
                constValue: AccountsMtree;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => AccountsMtree;
                serialize: (value: AccountsMtree) => Buffer;
            };
            version: {
                constValue: 1;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 1;
                serialize: (value?: 1) => Buffer;
            };
        }
        | {
            fee: {
                deserialize(value: Buffer): string;
                serialize(
                    value: Int | undefined,
                    params: {},
                    __namedParameters: { denomination?: AE_AMOUNT_FORMATS | undefined },
                ): Buffer;
                serializeAettos(
                    value: undefined | string,
                    params: {},
                    options: {},
                ): string;
            };
            gasPrice: {
                deserialize(value: Buffer): string;
                prepare(
                    value: Int | undefined,
                    params: {},
                    __namedParameters: {
                        denomination?: AE_AMOUNT_FORMATS | undefined;
                        onNode?: Node;
                    },
                ): Promise<(Int | undefined)>;
                serialize(
                    value: Int | undefined,
                    params: {},
                    __namedParameters: { denomination?: AE_AMOUNT_FORMATS | undefined },
                ): Buffer;
                serializeAettos(value?: undefined | string): string;
            };
            tag: {
                constValue: GaMetaTxAuthData;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => GaMetaTxAuthData;
                serialize: (value: GaMetaTxAuthData) => Buffer;
            };
            txHash: {
                deserialize: (value: Buffer) => `th_${string}`;
                serialize: (value: `th_${string}`) => Buffer;
            };
            version: {
                constValue: 1;
                constValueOptional: boolean;
                deserialize: (value: Buffer) => 1;
                serialize: (value?: 1) => Buffer;
            };
        },
    > & { tag: Name },
>
recursiveType: true
serialize: (
    value: Record<
        `nm_${string}`,
        (
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        balance: {
                            deserialize(value: Buffer): string;
                            serialize(value: Int): Buffer;
                        };
                        nonce: {
                            deserialize(value: Buffer): number;
                            serialize(value: number): Buffer;
                        };
                        tag: {
                            constValue: Account;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => Account;
                            serialize: (value: Account) => Buffer;
                        };
                        version: {
                            constValue: 1;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 1;
                            serialize: (value: 1) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                balance: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ...): ...;
                                };
                                nonce: { deserialize(value: ...): ...; serialize(value: ...): ... };
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    never,
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            balance: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            nonce: {
                                deserialize(value: Buffer): number;
                                serialize(value: number): Buffer;
                            };
                            tag: {
                                constValue: Account;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                never,
            >
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        balance: {
                            deserialize(value: Buffer): string;
                            serialize(value: Int): Buffer;
                        };
                        flags: {
                            deserialize(value: Buffer): string;
                            serialize(value: Int): Buffer;
                        };
                        gaAuthFun: {
                            deserialize: (value: Buffer) => `cb_${(...)}`;
                            serialize: (value: `cb_${(...)}`) => Buffer;
                        };
                        gaContract: {
                            deserialize: (value: Buffer) => (...) | (...);
                            serialize: (value: (...) | (...)) => Buffer;
                        };
                        nonce: {
                            deserialize(value: Buffer): number;
                            serialize(value: number): Buffer;
                        };
                        tag: {
                            constValue: Account;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => Account;
                            serialize: (value: Account) => Buffer;
                        };
                        version: {
                            constValue: 2;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 2;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                balance: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ...): ...;
                                };
                                flags: { deserialize(value: ...): ...; serialize(value: ...): ... };
                                gaAuthFun: { deserialize: ...; serialize: ... };
                                gaContract: { deserialize: ...; serialize: ... };
                                nonce: { deserialize(value: ...): ...; serialize(value: ...): ... };
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            balance: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            flags: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            gaAuthFun: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            gaContract: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            nonce: {
                                deserialize(value: Buffer): number;
                                serialize(value: number): Buffer;
                            };
                            tag: {
                                constValue: Account;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 2;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "version",
            >
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        accountId: {
                            deserialize: (value: Buffer) => `ak_${(...)}`;
                            serialize: (value: `ak_${(...)}`) => Buffer;
                        };
                        clientTtl: {
                            deserialize(value: Buffer): number;
                            serialize(value: number): Buffer;
                        };
                        nameTtl: {
                            deserialize(value: Buffer): number;
                            serialize(value: number): Buffer;
                        };
                        pointers: <AllowRaw extends boolean>(
                            allowRaw: AllowRaw,
                        ) => {
                            deserialize: (pointers: ...) => ...;
                            serialize: (pointers: ...) => ...;
                        };
                        status: {
                            deserialize(buffer: Buffer): Buffer;
                            serialize(buffer: Uint8Array): Buffer;
                        };
                        tag: {
                            constValue: Name;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => Name;
                            serialize: (value: Name) => Buffer;
                        };
                        version: {
                            constValue: 1;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 1;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                accountId: { deserialize: ...; serialize: ... };
                                clientTtl: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ...): ...;
                                };
                                nameTtl: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ...): ...;
                                };
                                pointers: <AllowRaw extends ...>(allowRaw: ...) => ...;
                                status: {
                                    deserialize(buffer: ...): ...;
                                    serialize(buffer: ...): ...;
                                };
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            accountId: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            clientTtl: {
                                deserialize(value: Buffer): number;
                                serialize(value: number): Buffer;
                            };
                            nameTtl: {
                                deserialize(value: Buffer): number;
                                serialize(value: number): Buffer;
                            };
                            pointers: <AllowRaw extends boolean>(
                                allowRaw: AllowRaw,
                            ) => { deserialize: ...; serialize: ... };
                            status: {
                                deserialize(buffer: Buffer): Buffer;
                                serialize(buffer: Uint8Array): Buffer;
                            };
                            tag: {
                                constValue: Name;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "version",
            >
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        active: {
                            deserialize(buffer: Buffer): boolean;
                            serialize(value: boolean): Buffer;
                        };
                        code: {
                            deserialize: (value: Buffer) => `cb_${(...)}`;
                            serialize: (value: `cb_${(...)}`) => Buffer;
                        };
                        ctVersion: {
                            deserialize(buffer: Buffer): CtVersion;
                            prepare(
                                value: undefined | CtVersion,
                                params: {},
                                options: {
                                    consensusProtocolVersion?: (...) | (...);
                                    onNode?: (...) | (...);
                                },
                            ): Promise<(...) | (...)>;
                            serialize(
                                value: undefined | CtVersion,
                                params: {},
                                __namedParameters: { consensusProtocolVersion?: (...) | (...) },
                            ): Buffer;
                        };
                        deposit: {
                            deserialize(value: Buffer): string;
                            serialize(
                                value: Int | undefined,
                                params: {},
                                __namedParameters: { denomination?: AE_AMOUNT_FORMATS | undefined },
                            ): Buffer;
                            serializeAettos(
                                value: undefined | string,
                                params: {},
                                options: {},
                            ): string;
                        };
                        log: {
                            deserialize: (value: Buffer) => `cb_${(...)}`;
                            serialize: (value: `cb_${(...)}`) => Buffer;
                        };
                        owner: {
                            deserialize: (value: Buffer) => `ak_${(...)}`;
                            serialize: (value: `ak_${(...)}`) => Buffer;
                        };
                        referers: {
                            deserialize: (value: (...)[], params: unknown) => (...)[];
                            serialize: (value: readonly (...)[], params: unknown) => (...)[];
                        };
                        tag: {
                            constValue: Contract;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => Contract;
                            serialize: (value: Contract) => Buffer;
                        };
                        version: {
                            constValue: 1;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 1;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                active: {
                                    deserialize(buffer: ...): ...;
                                    serialize(value: ...): ...;
                                };
                                code: { deserialize: ...; serialize: ... };
                                ctVersion: {
                                    deserialize(buffer: ...): ...;
                                    prepare(value: ..., params: ..., options: ...): ...;
                                    serialize(value: ..., params: ..., __namedParameters: ...): ...;
                                };
                                deposit: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ..., params: ..., __namedParameters: ...): ...;
                                    serializeAettos(value: ..., params: ..., options: ...): ...;
                                };
                                log: { deserialize: ...; serialize: ... };
                                owner: { deserialize: ...; serialize: ... };
                                referers: { deserialize: ...; serialize: ... };
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "deposit"
                    | "version"
                    | "ctVersion",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            active: {
                                deserialize(buffer: Buffer): boolean;
                                serialize(value: boolean): Buffer;
                            };
                            code: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            ctVersion: {
                                deserialize(buffer: Buffer): CtVersion;
                                prepare(
                                    value: (...) | (...),
                                    params: {},
                                    options: { consensusProtocolVersion?: ...; onNode?: ... },
                                ): Promise<(...)>;
                                serialize(
                                    value: (...) | (...),
                                    params: {},
                                    __namedParameters: { consensusProtocolVersion?: ... },
                                ): Buffer;
                            };
                            deposit: {
                                deserialize(value: Buffer): string;
                                serialize(
                                    value: Int | undefined,
                                    params: {},
                                    __namedParameters: { denomination?: ... },
                                ): Buffer;
                                serializeAettos(
                                    value: (...) | (...),
                                    params: {},
                                    options: {},
                                ): string;
                            };
                            log: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            owner: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            referers: {
                                deserialize: (value: ..., params: ...) => ...;
                                serialize: (value: ..., params: ...) => ...;
                            };
                            tag: {
                                constValue: Contract;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "deposit"
                | "version"
                | "ctVersion",
            > & { denomination?: AE_AMOUNT_FORMATS | undefined } & {
                consensusProtocolVersion?: Ceres;
            }
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        callerId: {
                            deserialize: (value: Buffer) => `ak_${(...)}`;
                            serialize: (value: `ak_${(...)}`) => Buffer;
                        };
                        callerNonce: {
                            deserialize(value: Buffer): number;
                            serialize(value: number): Buffer;
                        };
                        contractId: {
                            deserialize: (value: Buffer) => `ct_${(...)}`;
                            serialize: (value: `ct_${(...)}`) => Buffer;
                        };
                        gasPrice: {
                            deserialize(value: Buffer): string;
                            serialize(value: Int): Buffer;
                        };
                        gasUsed: {
                            deserialize(value: Buffer): number;
                            serialize(value: number): Buffer;
                        };
                        height: {
                            deserialize(value: Buffer): number;
                            serialize(value: number): Buffer;
                        };
                        log: {
                            deserialize: (value: (...)[], params: unknown) => (...)[];
                            serialize: (value: readonly (...)[], params: unknown) => (...)[];
                        };
                        returnType: {
                            deserialize: (value: Buffer) => CallReturnType;
                            serialize: (value: CallReturnType) => Buffer;
                        };
                        returnValue: {
                            deserialize: (value: Buffer) => `cb_${(...)}`;
                            serialize: (value: `cb_${(...)}`) => Buffer;
                        };
                        tag: {
                            constValue: ContractCall;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => ContractCall;
                            serialize: (value: ContractCall) => Buffer;
                        };
                        version: {
                            constValue: 2;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 2;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                callerId: { deserialize: ...; serialize: ... };
                                callerNonce: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ...): ...;
                                };
                                contractId: { deserialize: ...; serialize: ... };
                                gasPrice: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ...): ...;
                                };
                                gasUsed: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ...): ...;
                                };
                                height: { deserialize(value: ...): ...; serialize(value: ...): ... };
                                log: { deserialize: ...; serialize: ... };
                                returnType: { deserialize: ...; serialize: ... };
                                returnValue: { deserialize: ...; serialize: ... };
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            callerId: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            callerNonce: {
                                deserialize(value: Buffer): number;
                                serialize(value: number): Buffer;
                            };
                            contractId: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            gasPrice: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            gasUsed: {
                                deserialize(value: Buffer): number;
                                serialize(value: number): Buffer;
                            };
                            height: {
                                deserialize(value: Buffer): number;
                                serialize(value: number): Buffer;
                            };
                            log: {
                                deserialize: (value: ..., params: ...) => ...;
                                serialize: (value: ..., params: ...) => ...;
                            };
                            returnType: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            returnValue: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            tag: {
                                constValue: ContractCall;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 2;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "version",
            >
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        abiVersion: {
                            _getProtocolDetails(c: Ceres, tag: Tag): AbiVersion;
                            deserialize(buffer: Buffer): AbiVersion;
                            prepare(
                                value: AbiVersion | undefined,
                                __namedParameters: { tag: Tag },
                                options: {
                                    consensusProtocolVersion?: (...) | (...);
                                    onNode?: (...) | (...);
                                },
                            ): Promise<(AbiVersion | undefined)>;
                            serialize(
                                value: AbiVersion | undefined,
                                __namedParameters: { tag: Tag },
                                __namedParameters: { consensusProtocolVersion?: (...) | (...) },
                            ): Buffer;
                        };
                        accountId: {
                            deserialize: (value: Buffer) => `ak_${(...)}`;
                            serialize: (value: `ak_${(...)}`) => Buffer;
                        };
                        oracleTtlValue: {
                            deserialize(value: Buffer): number;
                            serialize(value: number): Buffer;
                        };
                        queryFee: {
                            deserialize(value: Buffer): string;
                            serialize(
                                value: Int | undefined,
                                params: {},
                                __namedParameters: { denomination?: AE_AMOUNT_FORMATS | undefined },
                            ): Buffer;
                            serializeAettos(
                                value: undefined | string,
                                params: {},
                                options: {},
                            ): string;
                        };
                        queryFormat: {
                            deserialize(buffer: Buffer): string;
                            serialize(string: string): Buffer;
                        };
                        responseFormat: {
                            deserialize(buffer: Buffer): string;
                            serialize(string: string): Buffer;
                        };
                        tag: {
                            constValue: Oracle;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => Oracle;
                            serialize: (value: Oracle) => Buffer;
                        };
                        version: {
                            constValue: 1;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 1;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                abiVersion: {
                                    _getProtocolDetails(c: ..., tag: ...): ...;
                                    deserialize(buffer: ...): ...;
                                    prepare(value: ..., __namedParameters: ..., options: ...): ...;
                                    serialize(
                                        value: ...,
                                        __namedParameters: ...,
                                        __namedParameters: ...,
                                    ): ...;
                                };
                                accountId: { deserialize: ...; serialize: ... };
                                oracleTtlValue: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ...): ...;
                                };
                                queryFee: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ..., params: ..., __namedParameters: ...): ...;
                                    serializeAettos(value: ..., params: ..., options: ...): ...;
                                };
                                queryFormat: {
                                    deserialize(buffer: ...): ...;
                                    serialize(string: ...): ...;
                                };
                                responseFormat: {
                                    deserialize(buffer: ...): ...;
                                    serialize(string: ...): ...;
                                };
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "queryFee"
                    | "abiVersion"
                    | "version",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            abiVersion: {
                                _getProtocolDetails(c: Ceres, tag: Tag): AbiVersion;
                                deserialize(buffer: Buffer): AbiVersion;
                                prepare(
                                    value: AbiVersion | undefined,
                                    __namedParameters: { tag: ... },
                                    options: { consensusProtocolVersion?: ...; onNode?: ... },
                                ): Promise<(...)>;
                                serialize(
                                    value: AbiVersion | undefined,
                                    __namedParameters: { tag: ... },
                                    __namedParameters: { consensusProtocolVersion?: ... },
                                ): Buffer;
                            };
                            accountId: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            oracleTtlValue: {
                                deserialize(value: Buffer): number;
                                serialize(value: number): Buffer;
                            };
                            queryFee: {
                                deserialize(value: Buffer): string;
                                serialize(
                                    value: Int | undefined,
                                    params: {},
                                    __namedParameters: { denomination?: ... },
                                ): Buffer;
                                serializeAettos(
                                    value: (...) | (...),
                                    params: {},
                                    options: {},
                                ): string;
                            };
                            queryFormat: {
                                deserialize(buffer: Buffer): string;
                                serialize(string: string): Buffer;
                            };
                            responseFormat: {
                                deserialize(buffer: Buffer): string;
                                serialize(string: string): Buffer;
                            };
                            tag: {
                                constValue: Oracle;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "queryFee"
                | "abiVersion"
                | "version",
            > & { denomination?: AE_AMOUNT_FORMATS | undefined } & {
                consensusProtocolVersion?: Ceres;
            }
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        channelAmount: {
                            deserialize(value: Buffer): string;
                            serialize(value: Int): Buffer;
                        };
                        channelReserve: {
                            deserialize(value: Buffer): string;
                            serialize(value: Int): Buffer;
                        };
                        initiator: {
                            deserialize: (value: Buffer) => `ak_${(...)}`;
                            serialize: (value: `ak_${(...)}`) => Buffer;
                        };
                        initiatorAmount: {
                            deserialize(value: Buffer): string;
                            serialize(value: Int): Buffer;
                        };
                        initiatorAuth: {
                            deserialize: (value: Buffer) => `cb_${(...)}`;
                            serialize: (value: `cb_${(...)}`) => Buffer;
                        };
                        initiatorDelegateIds: {
                            deserialize: (value: (...)[], params: unknown) => (...)[];
                            serialize: (value: readonly (...)[], params: unknown) => (...)[];
                        };
                        lockedUntil: {
                            deserialize(value: Buffer): string;
                            serialize(value: Int): Buffer;
                        };
                        lockPeriod: {
                            deserialize(value: Buffer): string;
                            serialize(value: Int): Buffer;
                        };
                        responder: {
                            deserialize: (value: Buffer) => `ak_${(...)}`;
                            serialize: (value: `ak_${(...)}`) => Buffer;
                        };
                        responderAmount: {
                            deserialize(value: Buffer): string;
                            serialize(value: Int): Buffer;
                        };
                        responderAuth: {
                            deserialize: (value: Buffer) => `cb_${(...)}`;
                            serialize: (value: `cb_${(...)}`) => Buffer;
                        };
                        responderDelegateIds: {
                            deserialize: (value: (...)[], params: unknown) => (...)[];
                            serialize: (value: readonly (...)[], params: unknown) => (...)[];
                        };
                        round: {
                            deserialize(value: Buffer): number;
                            serialize(value: number): Buffer;
                        };
                        soloRound: {
                            deserialize(value: Buffer): string;
                            serialize(value: Int): Buffer;
                        };
                        stateHash: {
                            deserialize: (value: Buffer) => `st_${(...)}`;
                            serialize: (value: `st_${(...)}`) => Buffer;
                        };
                        tag: {
                            constValue: Channel;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => Channel;
                            serialize: (value: Channel) => Buffer;
                        };
                        version: {
                            constValue: 3;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 3;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                channelAmount: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ...): ...;
                                };
                                channelReserve: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ...): ...;
                                };
                                initiator: { deserialize: ...; serialize: ... };
                                initiatorAmount: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ...): ...;
                                };
                                initiatorAuth: { deserialize: ...; serialize: ... };
                                initiatorDelegateIds: { deserialize: ...; serialize: ... };
                                lockedUntil: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ...): ...;
                                };
                                lockPeriod: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ...): ...;
                                };
                                responder: { deserialize: ...; serialize: ... };
                                responderAmount: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ...): ...;
                                };
                                responderAuth: { deserialize: ...; serialize: ... };
                                responderDelegateIds: { deserialize: ...; serialize: ... };
                                round: { deserialize(value: ...): ...; serialize(value: ...): ... };
                                soloRound: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ...): ...;
                                };
                                stateHash: { deserialize: ...; serialize: ... };
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            channelAmount: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            channelReserve: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            initiator: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            initiatorAmount: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            initiatorAuth: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            initiatorDelegateIds: {
                                deserialize: (value: ..., params: ...) => ...;
                                serialize: (value: ..., params: ...) => ...;
                            };
                            lockedUntil: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            lockPeriod: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            responder: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            responderAmount: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            responderAuth: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            responderDelegateIds: {
                                deserialize: (value: ..., params: ...) => ...;
                                serialize: (value: ..., params: ...) => ...;
                            };
                            round: {
                                deserialize(value: Buffer): number;
                                serialize(value: number): Buffer;
                            };
                            soloRound: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            stateHash: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            tag: {
                                constValue: Channel;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 3;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "version",
            >
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        amount: {
                            deserialize(value: Buffer): string;
                            serialize(value: Int): Buffer;
                        };
                        from: {
                            deserialize: (value: Buffer) => `ak_${(...)}`;
                            serialize: (value: `ak_${(...)}`) => Buffer;
                        };
                        tag: {
                            constValue: ChannelOffChainUpdateTransfer;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => ChannelOffChainUpdateTransfer;
                            serialize: (value: ChannelOffChainUpdateTransfer) => Buffer;
                        };
                        to: {
                            deserialize: (value: Buffer) => `ak_${(...)}`;
                            serialize: (value: `ak_${(...)}`) => Buffer;
                        };
                        version: {
                            constValue: 1;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 1;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                amount: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ...): ...;
                                };
                                from: { deserialize: ...; serialize: ... };
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                to: { deserialize: ...; serialize: ... };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            amount: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            from: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            tag: {
                                constValue: ChannelOffChainUpdateTransfer;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            to: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "version",
            >
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        amount: {
                            deserialize(value: Buffer): string;
                            serialize(value: Int): Buffer;
                        };
                        from: {
                            deserialize: (value: Buffer) => `ak_${(...)}`;
                            serialize: (value: `ak_${(...)}`) => Buffer;
                        };
                        tag: {
                            constValue: ChannelOffChainUpdateDeposit;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => ChannelOffChainUpdateDeposit;
                            serialize: (value: ChannelOffChainUpdateDeposit) => Buffer;
                        };
                        version: {
                            constValue: 1;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 1;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                amount: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ...): ...;
                                };
                                from: { deserialize: ...; serialize: ... };
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            amount: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            from: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            tag: {
                                constValue: ChannelOffChainUpdateDeposit;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "version",
            >
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        amount: {
                            deserialize(value: Buffer): string;
                            serialize(value: Int): Buffer;
                        };
                        from: {
                            deserialize: (value: Buffer) => `ak_${(...)}`;
                            serialize: (value: `ak_${(...)}`) => Buffer;
                        };
                        tag: {
                            constValue: ChannelOffChainUpdateWithdraw;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => ChannelOffChainUpdateWithdraw;
                            serialize: (value: ChannelOffChainUpdateWithdraw) => Buffer;
                        };
                        version: {
                            constValue: 1;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 1;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                amount: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ...): ...;
                                };
                                from: { deserialize: ...; serialize: ... };
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            amount: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            from: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            tag: {
                                constValue: ChannelOffChainUpdateWithdraw;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "version",
            >
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        callData: {
                            deserialize: (value: Buffer) => `cb_${(...)}`;
                            serialize: (value: `cb_${(...)}`) => Buffer;
                        };
                        code: {
                            deserialize: (value: Buffer) => `cb_${(...)}`;
                            serialize: (value: `cb_${(...)}`) => Buffer;
                        };
                        ctVersion: {
                            deserialize(buffer: Buffer): CtVersion;
                            prepare(
                                value: undefined | CtVersion,
                                params: {},
                                options: {
                                    consensusProtocolVersion?: (...) | (...);
                                    onNode?: (...) | (...);
                                },
                            ): Promise<(...) | (...)>;
                            serialize(
                                value: undefined | CtVersion,
                                params: {},
                                __namedParameters: { consensusProtocolVersion?: (...) | (...) },
                            ): Buffer;
                        };
                        deposit: {
                            deserialize(value: Buffer): string;
                            serialize(value: Int): Buffer;
                        };
                        owner: {
                            deserialize: (value: Buffer) => `ak_${(...)}`;
                            serialize: (value: `ak_${(...)}`) => Buffer;
                        };
                        tag: {
                            constValue: ChannelOffChainUpdateCreateContract;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => ChannelOffChainUpdateCreateContract;
                            serialize: (value: ChannelOffChainUpdateCreateContract) => Buffer;
                        };
                        version: {
                            constValue: 1;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 1;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                callData: { deserialize: ...; serialize: ... };
                                code: { deserialize: ...; serialize: ... };
                                ctVersion: {
                                    deserialize(buffer: ...): ...;
                                    prepare(value: ..., params: ..., options: ...): ...;
                                    serialize(value: ..., params: ..., __namedParameters: ...): ...;
                                };
                                deposit: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ...): ...;
                                };
                                owner: { deserialize: ...; serialize: ... };
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version"
                    | "ctVersion",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            callData: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            code: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            ctVersion: {
                                deserialize(buffer: Buffer): CtVersion;
                                prepare(
                                    value: (...) | (...),
                                    params: {},
                                    options: { consensusProtocolVersion?: ...; onNode?: ... },
                                ): Promise<(...)>;
                                serialize(
                                    value: (...) | (...),
                                    params: {},
                                    __namedParameters: { consensusProtocolVersion?: ... },
                                ): Buffer;
                            };
                            deposit: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            owner: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            tag: {
                                constValue: ChannelOffChainUpdateCreateContract;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "version"
                | "ctVersion",
            > & { consensusProtocolVersion?: Ceres }
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        abiVersion: {
                            _getProtocolDetails(c: Ceres, tag: Tag): AbiVersion;
                            deserialize(buffer: Buffer): AbiVersion;
                            prepare(
                                value: AbiVersion | undefined,
                                __namedParameters: { tag: Tag },
                                options: {
                                    consensusProtocolVersion?: (...) | (...);
                                    onNode?: (...) | (...);
                                },
                            ): Promise<(AbiVersion | undefined)>;
                            serialize(
                                value: AbiVersion | undefined,
                                __namedParameters: { tag: Tag },
                                __namedParameters: { consensusProtocolVersion?: (...) | (...) },
                            ): Buffer;
                        };
                        amount: {
                            deserialize(value: Buffer): string;
                            serialize(value: Int): Buffer;
                        };
                        callData: {
                            deserialize: (value: Buffer) => `cb_${(...)}`;
                            serialize: (value: `cb_${(...)}`) => Buffer;
                        };
                        caller: {
                            deserialize: (value: Buffer) => `ak_${(...)}`;
                            serialize: (value: `ak_${(...)}`) => Buffer;
                        };
                        callStack: {
                            deserialize(buffer: Buffer): Buffer;
                            serialize(buffer: Uint8Array): Buffer;
                        };
                        contract: {
                            deserialize: (value: Buffer) => `ct_${(...)}`;
                            serialize: (value: `ct_${(...)}`) => Buffer;
                        };
                        gasLimit: {
                            deserialize(value: Buffer): number;
                            serialize(
                                _value: undefined | number,
                                __namedParameters: {
                                    _computingGasLimit?: (...) | (...);
                                    buildTx: (params: ...) => ...;
                                    rebuildTx: (params: ...) => ...;
                                    tag: Tag;
                                    unpackTx: <TxType extends ...>(encodedTx: ..., txType?: ...) => ...;
                                },
                                __namedParameters: { gasMax?: (...) | (...) },
                            ): Buffer;
                        };
                        gasPrice: {
                            deserialize(value: Buffer): string;
                            prepare(
                                value: Int | undefined,
                                params: {},
                                __namedParameters: {
                                    denomination?: AE_AMOUNT_FORMATS | undefined;
                                    onNode?: (...) | (...);
                                },
                            ): Promise<(Int | undefined)>;
                            serialize(
                                value: Int | undefined,
                                params: {},
                                __namedParameters: { denomination?: AE_AMOUNT_FORMATS | undefined },
                            ): Buffer;
                            serializeAettos(value?: undefined | string): string;
                        };
                        tag: {
                            constValue: ChannelOffChainUpdateCallContract;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => ChannelOffChainUpdateCallContract;
                            serialize: (value: ChannelOffChainUpdateCallContract) => Buffer;
                        };
                        version: {
                            constValue: 1;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 1;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                abiVersion: {
                                    _getProtocolDetails(c: ..., tag: ...): ...;
                                    deserialize(buffer: ...): ...;
                                    prepare(value: ..., __namedParameters: ..., options: ...): ...;
                                    serialize(
                                        value: ...,
                                        __namedParameters: ...,
                                        __namedParameters: ...,
                                    ): ...;
                                };
                                amount: { deserialize(value: ...): ...; serialize(value: ...): ... };
                                callData: { deserialize: ...; serialize: ... };
                                caller: { deserialize: ...; serialize: ... };
                                callStack: {
                                    deserialize(buffer: ...): ...;
                                    serialize(buffer: ...): ...;
                                };
                                contract: { deserialize: ...; serialize: ... };
                                gasLimit: {
                                    deserialize(value: ...): ...;
                                    serialize(
                                        _value: ...,
                                        __namedParameters: ...,
                                        __namedParameters: ...,
                                    ): ...;
                                };
                                gasPrice: {
                                    deserialize(value: ...): ...;
                                    prepare(value: ..., params: ..., __namedParameters: ...): ...;
                                    serialize(value: ..., params: ..., __namedParameters: ...): ...;
                                    serializeAettos(value?: ...): ...;
                                };
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "abiVersion"
                    | "gasPrice"
                    | "version"
                    | "gasLimit",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            abiVersion: {
                                _getProtocolDetails(c: Ceres, tag: Tag): AbiVersion;
                                deserialize(buffer: Buffer): AbiVersion;
                                prepare(
                                    value: AbiVersion | undefined,
                                    __namedParameters: { tag: ... },
                                    options: { consensusProtocolVersion?: ...; onNode?: ... },
                                ): Promise<(...)>;
                                serialize(
                                    value: AbiVersion | undefined,
                                    __namedParameters: { tag: ... },
                                    __namedParameters: { consensusProtocolVersion?: ... },
                                ): Buffer;
                            };
                            amount: {
                                deserialize(value: Buffer): string;
                                serialize(value: Int): Buffer;
                            };
                            callData: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            caller: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            callStack: {
                                deserialize(buffer: Buffer): Buffer;
                                serialize(buffer: Uint8Array): Buffer;
                            };
                            contract: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            gasLimit: {
                                deserialize(value: Buffer): number;
                                serialize(
                                    _value: (...) | (...),
                                    __namedParameters: {
                                        _computingGasLimit?: ...;
                                        buildTx: ...;
                                        rebuildTx: ...;
                                        tag: ...;
                                        unpackTx: ...;
                                    },
                                    __namedParameters: { gasMax?: ... },
                                ): Buffer;
                            };
                            gasPrice: {
                                deserialize(value: Buffer): string;
                                prepare(
                                    value: Int | undefined,
                                    params: {},
                                    __namedParameters: { denomination?: ...; onNode?: ... },
                                ): Promise<(...)>;
                                serialize(
                                    value: Int | undefined,
                                    params: {},
                                    __namedParameters: { denomination?: ... },
                                ): Buffer;
                                serializeAettos(value?: (...) | (...)): string;
                            };
                            tag: {
                                constValue: ChannelOffChainUpdateCallContract;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "abiVersion"
                | "gasPrice"
                | "version"
                | "gasLimit",
            > & { denomination?: AE_AMOUNT_FORMATS | undefined } & {
                gasMax?: number;
            } & { consensusProtocolVersion?: Ceres }
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        accounts: {
                            deserialize: (value: (...)[], params: unknown) => (...)[];
                            serialize: (value: readonly (...)[], params: unknown) => (...)[];
                        };
                        calls: {
                            deserialize: (value: (...)[], params: unknown) => (...)[];
                            serialize: (value: readonly (...)[], params: unknown) => (...)[];
                        };
                        channels: {
                            deserialize: (value: (...)[], params: unknown) => (...)[];
                            serialize: (value: readonly (...)[], params: unknown) => (...)[];
                        };
                        contracts: {
                            deserialize: (value: (...)[], params: unknown) => (...)[];
                            serialize: (value: readonly (...)[], params: unknown) => (...)[];
                        };
                        ns: {
                            deserialize: (value: (...)[], params: unknown) => (...)[];
                            serialize: (value: readonly (...)[], params: unknown) => (...)[];
                        };
                        oracles: {
                            deserialize: (value: (...)[], params: unknown) => (...)[];
                            serialize: (value: readonly (...)[], params: unknown) => (...)[];
                        };
                        tag: {
                            constValue: TreesPoi;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => TreesPoi;
                            serialize: (value: TreesPoi) => Buffer;
                        };
                        version: {
                            constValue: 1;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 1;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                accounts: { deserialize: ...; serialize: ... };
                                calls: { deserialize: ...; serialize: ... };
                                channels: { deserialize: ...; serialize: ... };
                                contracts: { deserialize: ...; serialize: ... };
                                ns: { deserialize: ...; serialize: ... };
                                oracles: { deserialize: ...; serialize: ... };
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            accounts: {
                                deserialize: (value: ..., params: ...) => ...;
                                serialize: (value: ..., params: ...) => ...;
                            };
                            calls: {
                                deserialize: (value: ..., params: ...) => ...;
                                serialize: (value: ..., params: ...) => ...;
                            };
                            channels: {
                                deserialize: (value: ..., params: ...) => ...;
                                serialize: (value: ..., params: ...) => ...;
                            };
                            contracts: {
                                deserialize: (value: ..., params: ...) => ...;
                                serialize: (value: ..., params: ...) => ...;
                            };
                            ns: {
                                deserialize: (value: ..., params: ...) => ...;
                                serialize: (value: ..., params: ...) => ...;
                            };
                            oracles: {
                                deserialize: (value: ..., params: ...) => ...;
                                serialize: (value: ..., params: ...) => ...;
                            };
                            tag: {
                                constValue: TreesPoi;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "version",
            >
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        accounts: MapAccounts;
                        calls: MapCalls;
                        channels: MapChannels;
                        contracts: MapContracts;
                        ns: MapNames;
                        oracles: MapOracles;
                        tag: {
                            constValue: StateTrees;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => StateTrees;
                            serialize: (value: StateTrees) => Buffer;
                        };
                        version: {
                            constValue: 0;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 0;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                accounts: MapAccounts;
                                calls: MapCalls;
                                channels: MapChannels;
                                contracts: MapContracts;
                                ns: MapNames;
                                oracles: MapOracles;
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            accounts: MapAccounts;
                            calls: MapCalls;
                            channels: MapChannels;
                            contracts: MapContracts;
                            ns: MapNames;
                            oracles: MapOracles;
                            tag: {
                                constValue: StateTrees;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 0;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "version",
            >
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        tag: {
                            constValue: Mtree;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => Mtree;
                            serialize: (value: Mtree) => Buffer;
                        };
                        values: EntryMtreeValueArray;
                        version: {
                            constValue: 1;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 1;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                values: EntryMtreeValueArray;
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            tag: {
                                constValue: Mtree;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            values: EntryMtreeValueArray;
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "version",
            >
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        key: {
                            deserialize(buffer: Buffer): Buffer;
                            serialize(buffer: Uint8Array): Buffer;
                        };
                        tag: {
                            constValue: MtreeValue;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => MtreeValue;
                            serialize: (value: MtreeValue) => Buffer;
                        };
                        value: {
                            deserialize(buffer: Buffer): Buffer;
                            serialize(buffer: Uint8Array): Buffer;
                        };
                        version: {
                            constValue: 1;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 1;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                key: {
                                    deserialize(buffer: ...): ...;
                                    serialize(buffer: ...): ...;
                                };
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                value: {
                                    deserialize(buffer: ...): ...;
                                    serialize(buffer: ...): ...;
                                };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            key: {
                                deserialize(buffer: Buffer): Buffer;
                                serialize(buffer: Uint8Array): Buffer;
                            };
                            tag: {
                                constValue: MtreeValue;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            value: {
                                deserialize(buffer: Buffer): Buffer;
                                serialize(buffer: Uint8Array): Buffer;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "version",
            >
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        payload: MapContracts;
                        tag: {
                            constValue: ContractsMtree;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => ContractsMtree;
                            serialize: (value: ContractsMtree) => Buffer;
                        };
                        version: {
                            constValue: 1;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 1;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                payload: MapContracts;
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            payload: MapContracts;
                            tag: {
                                constValue: ContractsMtree;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "version",
            >
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        payload: MapCalls;
                        tag: {
                            constValue: CallsMtree;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => CallsMtree;
                            serialize: (value: CallsMtree) => Buffer;
                        };
                        version: {
                            constValue: 1;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 1;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                payload: MapCalls;
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            payload: MapCalls;
                            tag: {
                                constValue: CallsMtree;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "version",
            >
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        payload: MapChannels;
                        tag: {
                            constValue: ChannelsMtree;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => ChannelsMtree;
                            serialize: (value: ChannelsMtree) => Buffer;
                        };
                        version: {
                            constValue: 1;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 1;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                payload: MapChannels;
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            payload: MapChannels;
                            tag: {
                                constValue: ChannelsMtree;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "version",
            >
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        payload: MapNames;
                        tag: {
                            constValue: NameserviceMtree;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => NameserviceMtree;
                            serialize: (value: NameserviceMtree) => Buffer;
                        };
                        version: {
                            constValue: 1;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 1;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                payload: MapNames;
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            payload: MapNames;
                            tag: {
                                constValue: NameserviceMtree;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "version",
            >
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        payload: MapOracles;
                        tag: {
                            constValue: OraclesMtree;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => OraclesMtree;
                            serialize: (value: OraclesMtree) => Buffer;
                        };
                        version: {
                            constValue: 1;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 1;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                payload: MapOracles;
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            payload: MapOracles;
                            tag: {
                                constValue: OraclesMtree;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "version",
            >
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        payload: MapAccounts;
                        tag: {
                            constValue: AccountsMtree;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => AccountsMtree;
                            serialize: (value: AccountsMtree) => Buffer;
                        };
                        version: {
                            constValue: 1;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 1;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                payload: MapAccounts;
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "version",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            payload: MapAccounts;
                            tag: {
                                constValue: AccountsMtree;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "version",
            >
            | TxParamsBySchemaInternal<
                PickIsRec<
                    {
                        fee: {
                            deserialize(value: Buffer): string;
                            serialize(
                                value: Int | undefined,
                                params: {},
                                __namedParameters: { denomination?: AE_AMOUNT_FORMATS | undefined },
                            ): Buffer;
                            serializeAettos(
                                value: undefined | string,
                                params: {},
                                options: {},
                            ): string;
                        };
                        gasPrice: {
                            deserialize(value: Buffer): string;
                            prepare(
                                value: Int | undefined,
                                params: {},
                                __namedParameters: {
                                    denomination?: AE_AMOUNT_FORMATS | undefined;
                                    onNode?: (...) | (...);
                                },
                            ): Promise<(Int | undefined)>;
                            serialize(
                                value: Int | undefined,
                                params: {},
                                __namedParameters: { denomination?: AE_AMOUNT_FORMATS | undefined },
                            ): Buffer;
                            serializeAettos(value?: undefined | string): string;
                        };
                        tag: {
                            constValue: GaMetaTxAuthData;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => GaMetaTxAuthData;
                            serialize: (value: GaMetaTxAuthData) => Buffer;
                        };
                        txHash: {
                            deserialize: (value: Buffer) => `th_${(...)}`;
                            serialize: (value: `th_${(...)}`) => Buffer;
                        };
                        version: {
                            constValue: 1;
                            constValueOptional: boolean;
                            deserialize: (value: Buffer) => 1;
                            serialize: (value?: (...) | (...)) => Buffer;
                        };
                    },
                    true,
                >,
            > & Partial<
                Pick<
                    TxParamsBySchemaInternal<
                        PickIsRec<
                            {
                                fee: {
                                    deserialize(value: ...): ...;
                                    serialize(value: ..., params: ..., __namedParameters: ...): ...;
                                    serializeAettos(value: ..., params: ..., options: ...): ...;
                                };
                                gasPrice: {
                                    deserialize(value: ...): ...;
                                    prepare(value: ..., params: ..., __namedParameters: ...): ...;
                                    serialize(value: ..., params: ..., __namedParameters: ...): ...;
                                    serializeAettos(value?: ...): ...;
                                };
                                tag: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                                txHash: { deserialize: ...; serialize: ... };
                                version: {
                                    constValue: ...;
                                    constValueOptional: ...;
                                    deserialize: ...;
                                    serialize: ...;
                                };
                            },
                            false,
                        >,
                    >,
                    "fee"
                    | "gasPrice"
                    | "version",
                >,
            > & Omit<
                TxParamsBySchemaInternal<
                    PickIsRec<
                        {
                            fee: {
                                deserialize(value: Buffer): string;
                                serialize(
                                    value: Int | undefined,
                                    params: {},
                                    __namedParameters: { denomination?: ... },
                                ): Buffer;
                                serializeAettos(
                                    value: (...) | (...),
                                    params: {},
                                    options: {},
                                ): string;
                            };
                            gasPrice: {
                                deserialize(value: Buffer): string;
                                prepare(
                                    value: Int | undefined,
                                    params: {},
                                    __namedParameters: { denomination?: ...; onNode?: ... },
                                ): Promise<(...)>;
                                serialize(
                                    value: Int | undefined,
                                    params: {},
                                    __namedParameters: { denomination?: ... },
                                ): Buffer;
                                serializeAettos(value?: (...) | (...)): string;
                            };
                            tag: {
                                constValue: GaMetaTxAuthData;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            txHash: {
                                deserialize: (value: ...) => ...;
                                serialize: (value: ...) => ...;
                            };
                            version: {
                                constValue: 1;
                                constValueOptional: boolean;
                                deserialize: (value: ...) => ...;
                                serialize: (value?: ...) => ...;
                            };
                        },
                        false,
                    >,
                >,
                "fee"
                | "gasPrice"
                | "version",
            > & { denomination?: AE_AMOUNT_FORMATS | undefined }
        ) & { tag: Name },
    >,
) => Buffer