+ },
+
+ read_chan_signer (reader: Uint8Array): number {
+ Result_SignDecodeErrorZ ret = arg.read_chan_signer(reader);
+ result: number = ret == null ? 0 : ret.clone_ptr();
+ return result;
+ },
+
+ sign_invoice (invoice_preimage: Uint8Array): number {
+ Result_RecoverableSignatureNoneZ ret = arg.sign_invoice(invoice_preimage);
+ result: number = ret == null ? 0 : ret.clone_ptr();
+ return result;
+ },
+
+ get_inbound_payment_key_material (): Uint8Array {
+ Uint8Array ret = arg.get_inbound_payment_key_material();
+ result: Uint8Array = InternalUtils.check_arr_len(ret, 32);
+ return result;
+ },
+
+
+ };
+ impl_holder.held = new KeysInterface (null, structImplementation);
+ }
+ }
+
+ export interface KeysInterfaceInterface {
+ get_node_secret(): Uint8Array;
+ get_destination_script(): Uint8Array;
+ get_shutdown_scriptpubkey(): ShutdownScript;
+ get_channel_signer(inbound: boolean, channel_value_satoshis: number): Sign;
+ get_secure_random_bytes(): Uint8Array;
+ read_chan_signer(reader: Uint8Array): Result_SignDecodeErrorZ;
+ sign_invoice(invoice_preimage: Uint8Array): Result_RecoverableSignatureNoneZ;
+ get_inbound_payment_key_material(): Uint8Array;
+
+ }
+
+ class LDKKeysInterfaceHolder {
+ held: KeysInterface;
+ }
+ public Uint8Array get_node_secret() {
+ Uint8Array ret = bindings.KeysInterface_get_node_secret(this.ptr);