UNPKG

@scure/btc-signer

Version:

Audited & minimal library for Bitcoin. Handle transactions, Schnorr, Taproot, UTXO & PSBT

747 lines 55.4 kB
import * as P from 'micro-packed'; import { type Bytes } from './utils.ts'; export declare const TaprootControlBlock: P.CoderType<P.StructInput<{ version: number; internalKey: P.Bytes; merklePath: P.Bytes[]; }>>; export declare const PSBTGlobal: { readonly unsignedTx: readonly [0, false, P.CoderType<P.StructInput<{ version: number; inputs: P.StructInput<{ txid: /*elided*/ any; index: /*elided*/ any; finalScriptSig: /*elided*/ any; sequence: /*elided*/ any; }>[]; outputs: P.StructInput<{ amount: /*elided*/ any; script: /*elided*/ any; }>[]; lockTime: number; }>>, readonly [0], readonly [0], false]; readonly xpub: readonly [1, P.CoderType<P.Bytes>, P.CoderType<P.StructInput<{ fingerprint: number; path: number[]; }>>, readonly [], readonly [0, 2], false]; readonly txVersion: readonly [2, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly fallbackLocktime: readonly [3, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly inputCount: readonly [4, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly outputCount: readonly [5, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly txModifiable: readonly [6, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly version: readonly [251, false, P.CoderType<number>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }; export declare const PSBTInput: { readonly nonWitnessUtxo: readonly [0, false, P.CoderType<P.StructInput<{ version: number; segwitFlag: boolean | undefined; inputs: P.StructInput<{ txid: /*elided*/ any; index: /*elided*/ any; finalScriptSig: /*elided*/ any; sequence: /*elided*/ any; }>[]; outputs: P.StructInput<{ amount: /*elided*/ any; script: /*elided*/ any; }>[]; witnesses: P.Option<Uint8Array<ArrayBufferLike>[][]>; lockTime: number; }>>, readonly [], readonly [0, 2], false]; readonly witnessUtxo: readonly [1, false, P.CoderType<P.StructInput<{ amount: bigint; script: Uint8Array<ArrayBufferLike>; }>>, readonly [], readonly [0, 2], false]; readonly partialSig: readonly [2, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly sighashType: readonly [3, false, P.CoderType<number>, readonly [], readonly [0, 2], false]; readonly redeemScript: readonly [4, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly witnessScript: readonly [5, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly bip32Derivation: readonly [6, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ fingerprint: number; path: number[]; }>>, readonly [], readonly [0, 2], false]; readonly finalScriptSig: readonly [7, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly finalScriptWitness: readonly [8, false, P.CoderType<Uint8Array<ArrayBufferLike>[]>, readonly [], readonly [0, 2], false]; readonly porCommitment: readonly [9, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly ripemd160: readonly [10, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly sha256: readonly [11, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly hash160: readonly [12, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly hash256: readonly [13, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly txid: readonly [14, false, P.CoderType<P.Bytes>, readonly [2], readonly [2], true]; readonly index: readonly [15, false, P.CoderType<number>, readonly [2], readonly [2], true]; readonly sequence: readonly [16, false, P.CoderType<number>, readonly [], readonly [2], true]; readonly requiredTimeLocktime: readonly [17, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly requiredHeightLocktime: readonly [18, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly tapKeySig: readonly [19, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapScriptSig: readonly [20, P.CoderType<P.StructInput<{ pubKey: Uint8Array<ArrayBufferLike>; leafHash: P.Bytes; }>>, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapLeafScript: readonly [21, P.CoderType<P.StructInput<{ version: number; internalKey: P.Bytes; merklePath: P.Bytes[]; }>>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly tapBip32Derivation: readonly [22, P.CoderType<P.Bytes>, P.CoderType<P.StructInput<{ hashes: P.Bytes[]; der: P.StructInput<{ fingerprint: /*elided*/ any; path: /*elided*/ any; }>; }>>, readonly [], readonly [0, 2], false]; readonly tapInternalKey: readonly [23, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapMerkleRoot: readonly [24, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }; export declare const PSBTInputFinalKeys: (keyof TransactionInput)[]; export declare const PSBTInputUnsignedKeys: (keyof TransactionInput)[]; export declare const PSBTOutput: { readonly redeemScript: readonly [0, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly witnessScript: readonly [1, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly bip32Derivation: readonly [2, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ fingerprint: number; path: number[]; }>>, readonly [], readonly [0, 2], false]; readonly amount: readonly [3, false, P.CoderType<bigint>, readonly [2], readonly [2], true]; readonly script: readonly [4, false, P.CoderType<P.Bytes>, readonly [2], readonly [2], true]; readonly tapInternalKey: readonly [5, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapTree: readonly [6, false, P.CoderType<P.StructInput<{ depth: number; version: number; script: Uint8Array<ArrayBufferLike>; }>[]>, readonly [], readonly [0, 2], false]; readonly tapBip32Derivation: readonly [7, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ hashes: P.Bytes[]; der: P.StructInput<{ fingerprint: /*elided*/ any; path: /*elided*/ any; }>; }>>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }; export declare const PSBTOutputUnsignedKeys: (keyof typeof PSBTOutput)[]; type PSBTKeyCoder = P.CoderType<any> | false; type PSBTKeyMapInfo = Readonly<[ number, PSBTKeyCoder, any, readonly number[], readonly number[], boolean ]>; type PSBTKeyMap = Record<string, PSBTKeyMapInfo>; declare const PSBTUnknownKey: P.CoderType<P.StructInput<{ type: number; key: Uint8Array; }>>; type PSBTUnknownFields = { unknown?: [P.UnwrapCoder<typeof PSBTUnknownKey>, Bytes][]; }; export type PSBTKeyMapKeys<T extends PSBTKeyMap> = { -readonly [K in keyof T]?: T[K][1] extends false ? P.UnwrapCoder<T[K][2]> : [P.UnwrapCoder<T[K][1]>, P.UnwrapCoder<T[K][2]>][]; } & PSBTUnknownFields; declare function PSBTKeyMap<T extends PSBTKeyMap>(psbtEnum: T): P.CoderType<PSBTKeyMapKeys<T>>; export declare const PSBTInputCoder: P.CoderType<PSBTKeyMapKeys<{ readonly nonWitnessUtxo: readonly [0, false, P.CoderType<P.StructInput<{ version: number; segwitFlag: boolean | undefined; inputs: P.StructInput<{ txid: /*elided*/ any; index: /*elided*/ any; finalScriptSig: /*elided*/ any; sequence: /*elided*/ any; }>[]; outputs: P.StructInput<{ amount: /*elided*/ any; script: /*elided*/ any; }>[]; witnesses: P.Option<Uint8Array<ArrayBufferLike>[][]>; lockTime: number; }>>, readonly [], readonly [0, 2], false]; readonly witnessUtxo: readonly [1, false, P.CoderType<P.StructInput<{ amount: bigint; script: Uint8Array<ArrayBufferLike>; }>>, readonly [], readonly [0, 2], false]; readonly partialSig: readonly [2, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly sighashType: readonly [3, false, P.CoderType<number>, readonly [], readonly [0, 2], false]; readonly redeemScript: readonly [4, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly witnessScript: readonly [5, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly bip32Derivation: readonly [6, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ fingerprint: number; path: number[]; }>>, readonly [], readonly [0, 2], false]; readonly finalScriptSig: readonly [7, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly finalScriptWitness: readonly [8, false, P.CoderType<Uint8Array<ArrayBufferLike>[]>, readonly [], readonly [0, 2], false]; readonly porCommitment: readonly [9, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly ripemd160: readonly [10, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly sha256: readonly [11, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly hash160: readonly [12, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly hash256: readonly [13, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly txid: readonly [14, false, P.CoderType<P.Bytes>, readonly [2], readonly [2], true]; readonly index: readonly [15, false, P.CoderType<number>, readonly [2], readonly [2], true]; readonly sequence: readonly [16, false, P.CoderType<number>, readonly [], readonly [2], true]; readonly requiredTimeLocktime: readonly [17, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly requiredHeightLocktime: readonly [18, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly tapKeySig: readonly [19, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapScriptSig: readonly [20, P.CoderType<P.StructInput<{ pubKey: Uint8Array<ArrayBufferLike>; leafHash: P.Bytes; }>>, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapLeafScript: readonly [21, P.CoderType<P.StructInput<{ version: number; internalKey: P.Bytes; merklePath: P.Bytes[]; }>>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly tapBip32Derivation: readonly [22, P.CoderType<P.Bytes>, P.CoderType<P.StructInput<{ hashes: P.Bytes[]; der: P.StructInput<{ fingerprint: /*elided*/ any; path: /*elided*/ any; }>; }>>, readonly [], readonly [0, 2], false]; readonly tapInternalKey: readonly [23, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapMerkleRoot: readonly [24, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }>>; export type ExtendType<T, E> = { [K in keyof T]: K extends keyof E ? E[K] | T[K] : T[K]; }; export type RequireType<T, K extends keyof T> = T & { [P in K]-?: T[P]; }; export type TransactionInput = P.UnwrapCoder<typeof PSBTInputCoder>; export type TransactionInputUpdate = ExtendType<TransactionInput, { nonWitnessUtxo?: string | Bytes; txid?: string; }>; export declare const PSBTOutputCoder: P.CoderType<PSBTKeyMapKeys<{ readonly redeemScript: readonly [0, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly witnessScript: readonly [1, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly bip32Derivation: readonly [2, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ fingerprint: number; path: number[]; }>>, readonly [], readonly [0, 2], false]; readonly amount: readonly [3, false, P.CoderType<bigint>, readonly [2], readonly [2], true]; readonly script: readonly [4, false, P.CoderType<P.Bytes>, readonly [2], readonly [2], true]; readonly tapInternalKey: readonly [5, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapTree: readonly [6, false, P.CoderType<P.StructInput<{ depth: number; version: number; script: Uint8Array<ArrayBufferLike>; }>[]>, readonly [], readonly [0, 2], false]; readonly tapBip32Derivation: readonly [7, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ hashes: P.Bytes[]; der: P.StructInput<{ fingerprint: /*elided*/ any; path: /*elided*/ any; }>; }>>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }>>; export type TransactionOutput = P.UnwrapCoder<typeof PSBTOutputCoder>; export type TransactionOutputUpdate = ExtendType<TransactionOutput, { script?: string; }>; export type TransactionOutputRequired = { script: Bytes; amount: bigint; }; export declare const _RawPSBTV0: P.CoderType<P.StructInput<{ magic: undefined; global: PSBTKeyMapKeys<{ readonly unsignedTx: readonly [0, false, P.CoderType<P.StructInput<{ version: /*elided*/ any; inputs: /*elided*/ any; outputs: /*elided*/ any; lockTime: /*elided*/ any; }>>, readonly [0], readonly [0], false]; readonly xpub: readonly [1, P.CoderType<P.Bytes>, P.CoderType<P.StructInput<{ fingerprint: /*elided*/ any; path: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly txVersion: readonly [2, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly fallbackLocktime: readonly [3, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly inputCount: readonly [4, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly outputCount: readonly [5, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly txModifiable: readonly [6, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly version: readonly [251, false, P.CoderType<number>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }>; inputs: PSBTKeyMapKeys<{ readonly nonWitnessUtxo: readonly [0, false, P.CoderType<P.StructInput<{ version: /*elided*/ any; segwitFlag: /*elided*/ any; inputs: /*elided*/ any; outputs: /*elided*/ any; witnesses: /*elided*/ any; lockTime: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly witnessUtxo: readonly [1, false, P.CoderType<P.StructInput<{ amount: /*elided*/ any; script: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly partialSig: readonly [2, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly sighashType: readonly [3, false, P.CoderType<number>, readonly [], readonly [0, 2], false]; readonly redeemScript: readonly [4, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly witnessScript: readonly [5, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly bip32Derivation: readonly [6, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ fingerprint: /*elided*/ any; path: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly finalScriptSig: readonly [7, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly finalScriptWitness: readonly [8, false, P.CoderType<Uint8Array<ArrayBufferLike>[]>, readonly [], readonly [0, 2], false]; readonly porCommitment: readonly [9, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly ripemd160: readonly [10, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly sha256: readonly [11, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly hash160: readonly [12, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly hash256: readonly [13, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly txid: readonly [14, false, P.CoderType<P.Bytes>, readonly [2], readonly [2], true]; readonly index: readonly [15, false, P.CoderType<number>, readonly [2], readonly [2], true]; readonly sequence: readonly [16, false, P.CoderType<number>, readonly [], readonly [2], true]; readonly requiredTimeLocktime: readonly [17, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly requiredHeightLocktime: readonly [18, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly tapKeySig: readonly [19, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapScriptSig: readonly [20, P.CoderType<P.StructInput<{ pubKey: /*elided*/ any; leafHash: /*elided*/ any; }>>, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapLeafScript: readonly [21, P.CoderType<P.StructInput<{ version: /*elided*/ any; internalKey: /*elided*/ any; merklePath: /*elided*/ any; }>>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly tapBip32Derivation: readonly [22, P.CoderType<P.Bytes>, P.CoderType<P.StructInput<{ hashes: /*elided*/ any; der: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly tapInternalKey: readonly [23, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapMerkleRoot: readonly [24, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }>[]; outputs: PSBTKeyMapKeys<{ readonly redeemScript: readonly [0, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly witnessScript: readonly [1, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly bip32Derivation: readonly [2, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ fingerprint: /*elided*/ any; path: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly amount: readonly [3, false, P.CoderType<bigint>, readonly [2], readonly [2], true]; readonly script: readonly [4, false, P.CoderType<P.Bytes>, readonly [2], readonly [2], true]; readonly tapInternalKey: readonly [5, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapTree: readonly [6, false, P.CoderType<P.StructInput<{ depth: /*elided*/ any; version: /*elided*/ any; script: /*elided*/ any; }>[]>, readonly [], readonly [0, 2], false]; readonly tapBip32Derivation: readonly [7, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ hashes: /*elided*/ any; der: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }>[]; }>>; export declare const _RawPSBTV2: P.CoderType<P.StructInput<{ magic: undefined; global: PSBTKeyMapKeys<{ readonly unsignedTx: readonly [0, false, P.CoderType<P.StructInput<{ version: /*elided*/ any; inputs: /*elided*/ any; outputs: /*elided*/ any; lockTime: /*elided*/ any; }>>, readonly [0], readonly [0], false]; readonly xpub: readonly [1, P.CoderType<P.Bytes>, P.CoderType<P.StructInput<{ fingerprint: /*elided*/ any; path: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly txVersion: readonly [2, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly fallbackLocktime: readonly [3, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly inputCount: readonly [4, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly outputCount: readonly [5, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly txModifiable: readonly [6, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly version: readonly [251, false, P.CoderType<number>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }>; inputs: PSBTKeyMapKeys<{ readonly nonWitnessUtxo: readonly [0, false, P.CoderType<P.StructInput<{ version: /*elided*/ any; segwitFlag: /*elided*/ any; inputs: /*elided*/ any; outputs: /*elided*/ any; witnesses: /*elided*/ any; lockTime: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly witnessUtxo: readonly [1, false, P.CoderType<P.StructInput<{ amount: /*elided*/ any; script: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly partialSig: readonly [2, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly sighashType: readonly [3, false, P.CoderType<number>, readonly [], readonly [0, 2], false]; readonly redeemScript: readonly [4, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly witnessScript: readonly [5, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly bip32Derivation: readonly [6, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ fingerprint: /*elided*/ any; path: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly finalScriptSig: readonly [7, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly finalScriptWitness: readonly [8, false, P.CoderType<Uint8Array<ArrayBufferLike>[]>, readonly [], readonly [0, 2], false]; readonly porCommitment: readonly [9, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly ripemd160: readonly [10, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly sha256: readonly [11, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly hash160: readonly [12, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly hash256: readonly [13, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly txid: readonly [14, false, P.CoderType<P.Bytes>, readonly [2], readonly [2], true]; readonly index: readonly [15, false, P.CoderType<number>, readonly [2], readonly [2], true]; readonly sequence: readonly [16, false, P.CoderType<number>, readonly [], readonly [2], true]; readonly requiredTimeLocktime: readonly [17, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly requiredHeightLocktime: readonly [18, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly tapKeySig: readonly [19, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapScriptSig: readonly [20, P.CoderType<P.StructInput<{ pubKey: /*elided*/ any; leafHash: /*elided*/ any; }>>, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapLeafScript: readonly [21, P.CoderType<P.StructInput<{ version: /*elided*/ any; internalKey: /*elided*/ any; merklePath: /*elided*/ any; }>>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly tapBip32Derivation: readonly [22, P.CoderType<P.Bytes>, P.CoderType<P.StructInput<{ hashes: /*elided*/ any; der: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly tapInternalKey: readonly [23, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapMerkleRoot: readonly [24, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }>[]; outputs: PSBTKeyMapKeys<{ readonly redeemScript: readonly [0, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly witnessScript: readonly [1, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly bip32Derivation: readonly [2, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ fingerprint: /*elided*/ any; path: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly amount: readonly [3, false, P.CoderType<bigint>, readonly [2], readonly [2], true]; readonly script: readonly [4, false, P.CoderType<P.Bytes>, readonly [2], readonly [2], true]; readonly tapInternalKey: readonly [5, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapTree: readonly [6, false, P.CoderType<P.StructInput<{ depth: /*elided*/ any; version: /*elided*/ any; script: /*elided*/ any; }>[]>, readonly [], readonly [0, 2], false]; readonly tapBip32Derivation: readonly [7, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ hashes: /*elided*/ any; der: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }>[]; }>>; export type PSBTRaw = typeof _RawPSBTV0 | typeof _RawPSBTV2; export declare const _DebugPSBT: P.CoderType<P.StructInput<{ magic: undefined; items: Record<string, string | P.Bytes>[]; }>>; export declare function cleanPSBTFields<T extends PSBTKeyMap>(version: number, info: T, lst: PSBTKeyMapKeys<T>): PSBTKeyMapKeys<T>; export declare function mergeKeyMap<T extends PSBTKeyMap>(psbtEnum: T, val: PSBTKeyMapKeys<T>, cur?: PSBTKeyMapKeys<T>, allowedFields?: (keyof PSBTKeyMapKeys<T>)[], allowUnknown?: boolean): PSBTKeyMapKeys<T>; export declare const RawPSBTV0: P.CoderType<P.StructInput<{ magic: undefined; global: PSBTKeyMapKeys<{ readonly unsignedTx: readonly [0, false, P.CoderType<P.StructInput<{ version: /*elided*/ any; inputs: /*elided*/ any; outputs: /*elided*/ any; lockTime: /*elided*/ any; }>>, readonly [0], readonly [0], false]; readonly xpub: readonly [1, P.CoderType<P.Bytes>, P.CoderType<P.StructInput<{ fingerprint: /*elided*/ any; path: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly txVersion: readonly [2, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly fallbackLocktime: readonly [3, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly inputCount: readonly [4, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly outputCount: readonly [5, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly txModifiable: readonly [6, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly version: readonly [251, false, P.CoderType<number>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }>; inputs: PSBTKeyMapKeys<{ readonly nonWitnessUtxo: readonly [0, false, P.CoderType<P.StructInput<{ version: /*elided*/ any; segwitFlag: /*elided*/ any; inputs: /*elided*/ any; outputs: /*elided*/ any; witnesses: /*elided*/ any; lockTime: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly witnessUtxo: readonly [1, false, P.CoderType<P.StructInput<{ amount: /*elided*/ any; script: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly partialSig: readonly [2, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly sighashType: readonly [3, false, P.CoderType<number>, readonly [], readonly [0, 2], false]; readonly redeemScript: readonly [4, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly witnessScript: readonly [5, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly bip32Derivation: readonly [6, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ fingerprint: /*elided*/ any; path: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly finalScriptSig: readonly [7, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly finalScriptWitness: readonly [8, false, P.CoderType<Uint8Array<ArrayBufferLike>[]>, readonly [], readonly [0, 2], false]; readonly porCommitment: readonly [9, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly ripemd160: readonly [10, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly sha256: readonly [11, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly hash160: readonly [12, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly hash256: readonly [13, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly txid: readonly [14, false, P.CoderType<P.Bytes>, readonly [2], readonly [2], true]; readonly index: readonly [15, false, P.CoderType<number>, readonly [2], readonly [2], true]; readonly sequence: readonly [16, false, P.CoderType<number>, readonly [], readonly [2], true]; readonly requiredTimeLocktime: readonly [17, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly requiredHeightLocktime: readonly [18, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly tapKeySig: readonly [19, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapScriptSig: readonly [20, P.CoderType<P.StructInput<{ pubKey: /*elided*/ any; leafHash: /*elided*/ any; }>>, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapLeafScript: readonly [21, P.CoderType<P.StructInput<{ version: /*elided*/ any; internalKey: /*elided*/ any; merklePath: /*elided*/ any; }>>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly tapBip32Derivation: readonly [22, P.CoderType<P.Bytes>, P.CoderType<P.StructInput<{ hashes: /*elided*/ any; der: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly tapInternalKey: readonly [23, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapMerkleRoot: readonly [24, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }>[]; outputs: PSBTKeyMapKeys<{ readonly redeemScript: readonly [0, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly witnessScript: readonly [1, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly bip32Derivation: readonly [2, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ fingerprint: /*elided*/ any; path: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly amount: readonly [3, false, P.CoderType<bigint>, readonly [2], readonly [2], true]; readonly script: readonly [4, false, P.CoderType<P.Bytes>, readonly [2], readonly [2], true]; readonly tapInternalKey: readonly [5, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapTree: readonly [6, false, P.CoderType<P.StructInput<{ depth: /*elided*/ any; version: /*elided*/ any; script: /*elided*/ any; }>[]>, readonly [], readonly [0, 2], false]; readonly tapBip32Derivation: readonly [7, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ hashes: /*elided*/ any; der: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }>[]; }> | P.StructInput<{ magic: undefined; global: PSBTKeyMapKeys<{ readonly unsignedTx: readonly [0, false, P.CoderType<P.StructInput<{ version: /*elided*/ any; inputs: /*elided*/ any; outputs: /*elided*/ any; lockTime: /*elided*/ any; }>>, readonly [0], readonly [0], false]; readonly xpub: readonly [1, P.CoderType<P.Bytes>, P.CoderType<P.StructInput<{ fingerprint: /*elided*/ any; path: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly txVersion: readonly [2, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly fallbackLocktime: readonly [3, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly inputCount: readonly [4, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly outputCount: readonly [5, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly txModifiable: readonly [6, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly version: readonly [251, false, P.CoderType<number>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }>; inputs: PSBTKeyMapKeys<{ readonly nonWitnessUtxo: readonly [0, false, P.CoderType<P.StructInput<{ version: /*elided*/ any; segwitFlag: /*elided*/ any; inputs: /*elided*/ any; outputs: /*elided*/ any; witnesses: /*elided*/ any; lockTime: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly witnessUtxo: readonly [1, false, P.CoderType<P.StructInput<{ amount: /*elided*/ any; script: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly partialSig: readonly [2, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly sighashType: readonly [3, false, P.CoderType<number>, readonly [], readonly [0, 2], false]; readonly redeemScript: readonly [4, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly witnessScript: readonly [5, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly bip32Derivation: readonly [6, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ fingerprint: /*elided*/ any; path: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly finalScriptSig: readonly [7, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly finalScriptWitness: readonly [8, false, P.CoderType<Uint8Array<ArrayBufferLike>[]>, readonly [], readonly [0, 2], false]; readonly porCommitment: readonly [9, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly ripemd160: readonly [10, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly sha256: readonly [11, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly hash160: readonly [12, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly hash256: readonly [13, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly txid: readonly [14, false, P.CoderType<P.Bytes>, readonly [2], readonly [2], true]; readonly index: readonly [15, false, P.CoderType<number>, readonly [2], readonly [2], true]; readonly sequence: readonly [16, false, P.CoderType<number>, readonly [], readonly [2], true]; readonly requiredTimeLocktime: readonly [17, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly requiredHeightLocktime: readonly [18, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly tapKeySig: readonly [19, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapScriptSig: readonly [20, P.CoderType<P.StructInput<{ pubKey: /*elided*/ any; leafHash: /*elided*/ any; }>>, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapLeafScript: readonly [21, P.CoderType<P.StructInput<{ version: /*elided*/ any; internalKey: /*elided*/ any; merklePath: /*elided*/ any; }>>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly tapBip32Derivation: readonly [22, P.CoderType<P.Bytes>, P.CoderType<P.StructInput<{ hashes: /*elided*/ any; der: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly tapInternalKey: readonly [23, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapMerkleRoot: readonly [24, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }>[]; outputs: PSBTKeyMapKeys<{ readonly redeemScript: readonly [0, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly witnessScript: readonly [1, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly bip32Derivation: readonly [2, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ fingerprint: /*elided*/ any; path: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly amount: readonly [3, false, P.CoderType<bigint>, readonly [2], readonly [2], true]; readonly script: readonly [4, false, P.CoderType<P.Bytes>, readonly [2], readonly [2], true]; readonly tapInternalKey: readonly [5, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapTree: readonly [6, false, P.CoderType<P.StructInput<{ depth: /*elided*/ any; version: /*elided*/ any; script: /*elided*/ any; }>[]>, readonly [], readonly [0, 2], false]; readonly tapBip32Derivation: readonly [7, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ hashes: /*elided*/ any; der: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }>[]; }>>; export declare const RawPSBTV2: P.CoderType<P.StructInput<{ magic: undefined; global: PSBTKeyMapKeys<{ readonly unsignedTx: readonly [0, false, P.CoderType<P.StructInput<{ version: /*elided*/ any; inputs: /*elided*/ any; outputs: /*elided*/ any; lockTime: /*elided*/ any; }>>, readonly [0], readonly [0], false]; readonly xpub: readonly [1, P.CoderType<P.Bytes>, P.CoderType<P.StructInput<{ fingerprint: /*elided*/ any; path: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly txVersion: readonly [2, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly fallbackLocktime: readonly [3, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly inputCount: readonly [4, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly outputCount: readonly [5, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly txModifiable: readonly [6, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly version: readonly [251, false, P.CoderType<number>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }>; inputs: PSBTKeyMapKeys<{ readonly nonWitnessUtxo: readonly [0, false, P.CoderType<P.StructInput<{ version: /*elided*/ any; segwitFlag: /*elided*/ any; inputs: /*elided*/ any; outputs: /*elided*/ any; witnesses: /*elided*/ any; lockTime: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly witnessUtxo: readonly [1, false, P.CoderType<P.StructInput<{ amount: /*elided*/ any; script: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly partialSig: readonly [2, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly sighashType: readonly [3, false, P.CoderType<number>, readonly [], readonly [0, 2], false]; readonly redeemScript: readonly [4, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly witnessScript: readonly [5, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly bip32Derivation: readonly [6, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ fingerprint: /*elided*/ any; path: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly finalScriptSig: readonly [7, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly finalScriptWitness: readonly [8, false, P.CoderType<Uint8Array<ArrayBufferLike>[]>, readonly [], readonly [0, 2], false]; readonly porCommitment: readonly [9, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly ripemd160: readonly [10, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly sha256: readonly [11, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly hash160: readonly [12, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly hash256: readonly [13, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly txid: readonly [14, false, P.CoderType<P.Bytes>, readonly [2], readonly [2], true]; readonly index: readonly [15, false, P.CoderType<number>, readonly [2], readonly [2], true]; readonly sequence: readonly [16, false, P.CoderType<number>, readonly [], readonly [2], true]; readonly requiredTimeLocktime: readonly [17, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly requiredHeightLocktime: readonly [18, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly tapKeySig: readonly [19, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapScriptSig: readonly [20, P.CoderType<P.StructInput<{ pubKey: /*elided*/ any; leafHash: /*elided*/ any; }>>, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapLeafScript: readonly [21, P.CoderType<P.StructInput<{ version: /*elided*/ any; internalKey: /*elided*/ any; merklePath: /*elided*/ any; }>>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly tapBip32Derivation: readonly [22, P.CoderType<P.Bytes>, P.CoderType<P.StructInput<{ hashes: /*elided*/ any; der: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly tapInternalKey: readonly [23, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapMerkleRoot: readonly [24, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }>[]; outputs: PSBTKeyMapKeys<{ readonly redeemScript: readonly [0, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly witnessScript: readonly [1, false, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; readonly bip32Derivation: readonly [2, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ fingerprint: /*elided*/ any; path: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly amount: readonly [3, false, P.CoderType<bigint>, readonly [2], readonly [2], true]; readonly script: readonly [4, false, P.CoderType<P.Bytes>, readonly [2], readonly [2], true]; readonly tapInternalKey: readonly [5, false, P.CoderType<Uint8Array<ArrayBufferLike>>, readonly [], readonly [0, 2], false]; readonly tapTree: readonly [6, false, P.CoderType<P.StructInput<{ depth: /*elided*/ any; version: /*elided*/ any; script: /*elided*/ any; }>[]>, readonly [], readonly [0, 2], false]; readonly tapBip32Derivation: readonly [7, P.CoderType<Uint8Array<ArrayBufferLike>>, P.CoderType<P.StructInput<{ hashes: /*elided*/ any; der: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }>[]; }> | P.StructInput<{ magic: undefined; global: PSBTKeyMapKeys<{ readonly unsignedTx: readonly [0, false, P.CoderType<P.StructInput<{ version: /*elided*/ any; inputs: /*elided*/ any; outputs: /*elided*/ any; lockTime: /*elided*/ any; }>>, readonly [0], readonly [0], false]; readonly xpub: readonly [1, P.CoderType<P.Bytes>, P.CoderType<P.StructInput<{ fingerprint: /*elided*/ any; path: /*elided*/ any; }>>, readonly [], readonly [0, 2], false]; readonly txVersion: readonly [2, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly fallbackLocktime: readonly [3, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly inputCount: readonly [4, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly outputCount: readonly [5, false, P.CoderType<number>, readonly [2], readonly [2], false]; readonly txModifiable: readonly [6, false, P.CoderType<number>, readonly [], readonly [2], false]; readonly version: readonly [251, false, P.CoderType<number>, readonly [], readonly [0, 2], false]; readonly proprietary: readonly [252, P.CoderType<P.Bytes>, P.CoderType<P.Bytes>, readonly [], readonly [0, 2], false]; }>; inputs: PSBTKeyMapKeys<{ readonly nonWitnessU