Skip to main content

TxWitnesses

Represents the pubkey signatures, and datums/redeemers/scripts that are witnessing a transaction.

export interface TxWitnesses {
  addDummySignatures(n: number): void
  addSignature(signature: Signature): void
  allScripts: UplcProgramV2
    | NativeScript
    | UplcProgramV1[]
  calcExFee(params: NetworkParams): bigint
  countNonDummySignatures(): number
  datums: UplcData[]
  dump(): any
  encodingConfig: TxWitnessesEncodingConfig
  findUplcProgram(hash: number[]
    | ValidatorHash<unknown>
    | StakingValidatorHash<unknown>
    | MintingPolicyHash<unknown>): UplcProgramV2 | UplcProgramV1
  isSmart(): boolean
  kind: "TxWitnesses"
  nativeScripts: NativeScript[]
  recover(refScriptsInRefInputs: UplcProgramV2 | UplcProgramV1[]): void
  redeemers: TxRedeemer[]
  removeDummySignatures(n: number): void
  signatures: Signature[]
  toCbor(): number[]
  v1Scripts: UplcProgramV1[]
  v2RefScripts: UplcProgramV2[]
  v2Scripts: UplcProgramV2[]
  verifySignatures(bodyBytes: number[]): void
}

Properties

addDummySignatures

Used to calculate the correct min fee

txWitnesses.addDummySignatures satisfies (n: number) => void

addSignature

txWitnesses.addSignature satisfies (signature: Signature) => void

allScripts

txWitnesses.allScripts satisfies UplcProgramV2
  | NativeScript
  | UplcProgramV1[]

calcExFee

txWitnesses.calcExFee satisfies (params: NetworkParams) => bigint

countNonDummySignatures

txWitnesses.countNonDummySignatures satisfies () => number

datums

txWitnesses.datums satisfies UplcData[]

dump

txWitnesses.dump satisfies () => any

encodingConfig

txWitnesses.encodingConfig satisfies TxWitnessesEncodingConfig

findUplcProgram

txWitnesses.findUplcProgram satisfies (hash: number[]
  | ValidatorHash<unknown>
  | StakingValidatorHash<unknown>
  | MintingPolicyHash<unknown>) => UplcProgramV2 | UplcProgramV1

isSmart

txWitnesses.isSmart satisfies () => boolean

kind

txWitnesses.kind satisfies "TxWitnesses"

nativeScripts

txWitnesses.nativeScripts satisfies NativeScript[]

recover

txWitnesses.recover satisfies (refScriptsInRefInputs: UplcProgramV2 | UplcProgramV1[]) => void

redeemers

txWitnesses.redeemers satisfies TxRedeemer[]

removeDummySignatures

txWitnesses.removeDummySignatures satisfies (n: number) => void

signatures

txWitnesses.signatures satisfies Signature[]

toCbor

txWitnesses.toCbor satisfies () => number[]

v1Scripts

txWitnesses.v1Scripts satisfies UplcProgramV1[]

v2RefScripts

txWitnesses.v2RefScripts satisfies UplcProgramV2[]

v2Scripts

txWitnesses.v2Scripts satisfies UplcProgramV2[]

verifySignatures

Throws error if some signatures are incorrect

txWitnesses.verifySignatures satisfies (bodyBytes: number[]) => void