[C#] Update test to LDK 0.0.123 and pay a BOLT12 offer
[ldk-java] / typescript_strings.py
index e691f45845142e9e61e1999e4c87ae0281838478..9704a48f0a5b9b1e7b3973153bc57450baa3ebe7 100644 (file)
@@ -129,7 +129,7 @@ async function finishInitializeWasm(wasmInstance: WebAssembly.Instance) {
 }
 
 const fn_list = ["uuuuuu", "buuuuu", "bbuuuu", "bbbuuu", "bbbbuu", "bbbbbu",
-       "bbbbbb", "ubuubu", "ubuuuu", "ubbuuu", "uubuuu", "uububu", "ububuu"];
+       "bbbbbb", "ubuubu", "ubuuuu", "ubbuuu", "uubuuu", "uubbuu", "uububu", "ububuu", "uuuubu"];
 
 /* @internal */
 export async function initializeWasmFromUint8Array(wasmBinary: Uint8Array) {
@@ -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 <stdatomic.h>
 #include <lightning.h>
@@ -1387,7 +1409,7 @@ export class {struct_name.replace("LDK","")} extends CommonBase {{
     def map_opaque_struct(self, struct_name, struct_doc_comment):
         method_header = ""
 
-        hu_name = struct_name.replace("LDKC2Tuple", "TwoTuple").replace("LDKC3Tuple", "ThreeTuple").replace("LDK", "")
+        hu_name = struct_name.replace("LDKC2Tuple", "TwoTuple").replace("LDKC3Tuple", "ThreeTuple").replace("LDKC4Tuple", "FourTuple").replace("LDK", "")
         out_opaque_struct_human = f"{self.hu_struct_file_prefix}"
         constructor_body = "super(ptr, bindings." + struct_name.replace("LDK","") + "_free);"
         extra_docs = ""