X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=typescript_strings.py;h=afb2b67f69cc3e99db4a69de29b34521e8383f51;hb=5a78aa805d7c550a855d6b589907cab4ab6ca476;hp=a7035633cdabd5dcda86a8fa638235e19d397630;hpb=49be9f346217a25fc099abfaac392d4b6236f22f;p=ldk-java diff --git a/typescript_strings.py b/typescript_strings.py index a7035633..afb2b67f 100644 --- a/typescript_strings.py +++ b/typescript_strings.py @@ -489,6 +489,28 @@ export class UnqualifiedError { }""" self.obj_defined(["BigEndianScalar"], "structs") + self.witness_program_defn = """export class WitnessProgram extends CommonBase { + /** The witness program bytes themselves */ + public program: Uint8Array; + /** The witness program version */ + public version: WitnessVersion; + + /* @internal */ + public constructor(_dummy: null, ptr: bigint) { + super(ptr, bindings.WitnessProgram_free); + this.program = bindings.decodeUint8Array(bindings.WitnessProgram_get_program(ptr)); + this.version = new WitnessVersion(bindings.WitnessProgram_get_version(ptr)); + } + public static constructor_new(program: Uint8Array, version: WitnessVersion): WitnessProgram { + if (program.length < 2 || program.length > 40) + throw new Error("WitnessProgram must be between 2 and 40 bytes long"); + if (version.getVal() == 0 && program.length != 20 && program.length != 32) + throw new Error("WitnessProgram for version 0 must be between either 20 or 30 bytes"); + return new WitnessProgram(null, bindings.WitnessProgram_new(version.getVal(), bindings.encodeUint8Array(program))); + } +}""" + self.obj_defined(["WitnessProgram"], "structs") + self.c_file_pfx = """#include "js-wasm.h" #include #include