[TS] Update auto-generated bindings to LDK-C-Bindings 0.0.123.1
[ldk-java] / ts / structs / Event.mts
index cd0f8876e8c3f7042a361ddc245ebf388b42d971..3501004ecf1a971cf5bf8ad1b57cfb2ed9b1f404 100644 (file)
@@ -1,6 +1,8 @@
 import { TxOut } from '../structs/TxOut.mjs';
 import { TxIn } from '../structs/TxIn.mjs';
 import { BigEndianScalar } from '../structs/BigEndianScalar.mjs';
+import { WitnessProgram } from '../structs/WitnessProgram.mjs';
+import { BlindedFailure } from '../enums/BlindedFailure.mjs';
 import { Bolt11SemanticError } from '../enums/Bolt11SemanticError.mjs';
 import { Bolt12SemanticError } from '../enums/Bolt12SemanticError.mjs';
 import { COption_NoneZ } from '../enums/COption_NoneZ.mjs';
@@ -9,21 +11,28 @@ import { ChannelShutdownState } from '../enums/ChannelShutdownState.mjs';
 import { ConfirmationTarget } from '../enums/ConfirmationTarget.mjs';
 import { CreationError } from '../enums/CreationError.mjs';
 import { Currency } from '../enums/Currency.mjs';
+import { Direction } from '../enums/Direction.mjs';
 import { HTLCClaim } from '../enums/HTLCClaim.mjs';
 import { IOError } from '../enums/IOError.mjs';
+import { InboundHTLCStateDetails } from '../enums/InboundHTLCStateDetails.mjs';
 import { Level } from '../enums/Level.mjs';
 import { Network } from '../enums/Network.mjs';
+import { OutboundHTLCStateDetails } from '../enums/OutboundHTLCStateDetails.mjs';
 import { PaymentFailureReason } from '../enums/PaymentFailureReason.mjs';
 import { Recipient } from '../enums/Recipient.mjs';
 import { RetryableSendFailure } from '../enums/RetryableSendFailure.mjs';
 import { Secp256k1Error } from '../enums/Secp256k1Error.mjs';
+import { ShortChannelIdError } from '../enums/ShortChannelIdError.mjs';
 import { SiPrefix } from '../enums/SiPrefix.mjs';
 import { SocketAddressParseError } from '../enums/SocketAddressParseError.mjs';
 import { UtxoLookupError } from '../enums/UtxoLookupError.mjs';
 import { Bech32Error } from '../structs/Bech32Error.mjs';
+import { RefundMaybeWithDerivedMetadataBuilder } from '../structs/RefundMaybeWithDerivedMetadataBuilder.mjs';
+import { Result_RefundMaybeWithDerivedMetadataBuilderBolt12SemanticErrorZ } from '../structs/Result_RefundMaybeWithDerivedMetadataBuilderBolt12SemanticErrorZ.mjs';
+import { Refund } from '../structs/Refund.mjs';
+import { Result_RefundBolt12SemanticErrorZ } from '../structs/Result_RefundBolt12SemanticErrorZ.mjs';
 import { Option_u64Z } from '../structs/Option_u64Z.mjs';
 import { BlindedPath } from '../structs/BlindedPath.mjs';
-import { Refund } from '../structs/Refund.mjs';
 import { Bolt12ParseError } from '../structs/Bolt12ParseError.mjs';
 import { Result_RefundBolt12ParseErrorZ } from '../structs/Result_RefundBolt12ParseErrorZ.mjs';
 import { Retry } from '../structs/Retry.mjs';
@@ -38,7 +47,16 @@ import { RecipientOnionFields } from '../structs/RecipientOnionFields.mjs';
 import { Result_RecipientOnionFieldsDecodeErrorZ } from '../structs/Result_RecipientOnionFieldsDecodeErrorZ.mjs';
 import { TwoTuple_u64CVec_u8ZZ } from '../structs/TwoTuple_u64CVec_u8ZZ.mjs';
 import { Result_RecipientOnionFieldsNoneZ } from '../structs/Result_RecipientOnionFieldsNoneZ.mjs';
+import { UnsignedBolt12Invoice } from '../structs/UnsignedBolt12Invoice.mjs';
+import { Result_UnsignedBolt12InvoiceBolt12SemanticErrorZ } from '../structs/Result_UnsignedBolt12InvoiceBolt12SemanticErrorZ.mjs';
+import { Bolt12Invoice } from '../structs/Bolt12Invoice.mjs';
+import { Result_Bolt12InvoiceBolt12SemanticErrorZ } from '../structs/Result_Bolt12InvoiceBolt12SemanticErrorZ.mjs';
+import { Result_SchnorrSignatureNoneZ } from '../structs/Result_SchnorrSignatureNoneZ.mjs';
 import { Option_CVec_ThirtyTwoBytesZZ } from '../structs/Option_CVec_ThirtyTwoBytesZZ.mjs';
+import { Amount } from '../structs/Amount.mjs';
+import { Option_AmountZ } from '../structs/Option_AmountZ.mjs';
+import { Quantity } from '../structs/Quantity.mjs';
+import { Option_QuantityZ } from '../structs/Option_QuantityZ.mjs';
 import { Result_ThirtyTwoBytesNoneZ } from '../structs/Result_ThirtyTwoBytesNoneZ.mjs';
 import { BlindedPayInfo } from '../structs/BlindedPayInfo.mjs';
 import { Result_BlindedPayInfoDecodeErrorZ } from '../structs/Result_BlindedPayInfoDecodeErrorZ.mjs';
@@ -50,20 +68,23 @@ import { OutPoint } from '../structs/OutPoint.mjs';
 import { SpendableOutputDescriptor } from '../structs/SpendableOutputDescriptor.mjs';
 import { Result_SpendableOutputDescriptorDecodeErrorZ } from '../structs/Result_SpendableOutputDescriptorDecodeErrorZ.mjs';
 import { Option_u32Z } from '../structs/Option_u32Z.mjs';
-import { TwoTuple_CVec_u8ZusizeZ } from '../structs/TwoTuple_CVec_u8ZusizeZ.mjs';
-import { Result_C2Tuple_CVec_u8ZusizeZNoneZ } from '../structs/Result_C2Tuple_CVec_u8ZusizeZNoneZ.mjs';
+import { TwoTuple_CVec_u8Zu64Z } from '../structs/TwoTuple_CVec_u8Zu64Z.mjs';
+import { Result_C2Tuple_CVec_u8Zu64ZNoneZ } from '../structs/Result_C2Tuple_CVec_u8Zu64ZNoneZ.mjs';
+import { ChannelDerivationParameters } from '../structs/ChannelDerivationParameters.mjs';
+import { Result_ChannelDerivationParametersDecodeErrorZ } from '../structs/Result_ChannelDerivationParametersDecodeErrorZ.mjs';
+import { HTLCDescriptor } from '../structs/HTLCDescriptor.mjs';
+import { Result_HTLCDescriptorDecodeErrorZ } from '../structs/Result_HTLCDescriptorDecodeErrorZ.mjs';
 import { Result_NoneNoneZ } from '../structs/Result_NoneNoneZ.mjs';
-import { TwoTuple_ECDSASignatureCVec_ECDSASignatureZZ } from '../structs/TwoTuple_ECDSASignatureCVec_ECDSASignatureZZ.mjs';
-import { Result_C2Tuple_ECDSASignatureCVec_ECDSASignatureZZNoneZ } from '../structs/Result_C2Tuple_ECDSASignatureCVec_ECDSASignatureZZNoneZ.mjs';
-import { Result_ECDSASignatureNoneZ } from '../structs/Result_ECDSASignatureNoneZ.mjs';
 import { Result_PublicKeyNoneZ } from '../structs/Result_PublicKeyNoneZ.mjs';
 import { Option_BigEndianScalarZ } from '../structs/Option_BigEndianScalarZ.mjs';
 import { Result_RecoverableSignatureNoneZ } from '../structs/Result_RecoverableSignatureNoneZ.mjs';
-import { Result_SchnorrSignatureNoneZ } from '../structs/Result_SchnorrSignatureNoneZ.mjs';
+import { Result_ECDSASignatureNoneZ } from '../structs/Result_ECDSASignatureNoneZ.mjs';
+import { Result_TransactionNoneZ } from '../structs/Result_TransactionNoneZ.mjs';
+import { TwoTuple_ECDSASignatureCVec_ECDSASignatureZZ } from '../structs/TwoTuple_ECDSASignatureCVec_ECDSASignatureZZ.mjs';
+import { Result_C2Tuple_ECDSASignatureCVec_ECDSASignatureZZNoneZ } from '../structs/Result_C2Tuple_ECDSASignatureCVec_ECDSASignatureZZNoneZ.mjs';
 import { CommitmentTransaction } from '../structs/CommitmentTransaction.mjs';
 import { HolderCommitmentTransaction } from '../structs/HolderCommitmentTransaction.mjs';
 import { HTLCOutputInCommitment } from '../structs/HTLCOutputInCommitment.mjs';
-import { HTLCDescriptor } from '../structs/HTLCDescriptor.mjs';
 import { ClosingTransaction } from '../structs/ClosingTransaction.mjs';
 import { UnsignedChannelAnnouncement } from '../structs/UnsignedChannelAnnouncement.mjs';
 import { ChannelPublicKeys } from '../structs/ChannelPublicKeys.mjs';
@@ -76,14 +97,18 @@ import { Result_CVec_u8ZNoneZ } from '../structs/Result_CVec_u8ZNoneZ.mjs';
 import { Result_ShutdownScriptNoneZ } from '../structs/Result_ShutdownScriptNoneZ.mjs';
 import { Option_u16Z } from '../structs/Option_u16Z.mjs';
 import { Option_boolZ } from '../structs/Option_boolZ.mjs';
-import { Result_CVec_CVec_u8ZZNoneZ } from '../structs/Result_CVec_CVec_u8ZZNoneZ.mjs';
+import { Result_WitnessNoneZ } from '../structs/Result_WitnessNoneZ.mjs';
 import { InMemorySigner } from '../structs/InMemorySigner.mjs';
 import { Result_InMemorySignerDecodeErrorZ } from '../structs/Result_InMemorySignerDecodeErrorZ.mjs';
-import { Result_TransactionNoneZ } from '../structs/Result_TransactionNoneZ.mjs';
 import { ChannelDetails } from '../structs/ChannelDetails.mjs';
 import { Route } from '../structs/Route.mjs';
 import { LightningError } from '../structs/LightningError.mjs';
 import { Result_RouteLightningErrorZ } from '../structs/Result_RouteLightningErrorZ.mjs';
+import { TwoTuple_BlindedPayInfoBlindedPathZ } from '../structs/TwoTuple_BlindedPayInfoBlindedPathZ.mjs';
+import { Result_CVec_C2Tuple_BlindedPayInfoBlindedPathZZNoneZ } from '../structs/Result_CVec_C2Tuple_BlindedPayInfoBlindedPathZZNoneZ.mjs';
+import { OnionMessagePath } from '../structs/OnionMessagePath.mjs';
+import { Result_OnionMessagePathNoneZ } from '../structs/Result_OnionMessagePathNoneZ.mjs';
+import { Result_CVec_BlindedPathZNoneZ } from '../structs/Result_CVec_BlindedPathZNoneZ.mjs';
 import { InFlightHtlcs } from '../structs/InFlightHtlcs.mjs';
 import { Result_InFlightHtlcsDecodeErrorZ } from '../structs/Result_InFlightHtlcsDecodeErrorZ.mjs';
 import { RouteHop } from '../structs/RouteHop.mjs';
@@ -97,7 +122,6 @@ import { RouteParameters } from '../structs/RouteParameters.mjs';
 import { Result_RouteParametersDecodeErrorZ } from '../structs/Result_RouteParametersDecodeErrorZ.mjs';
 import { PaymentParameters } from '../structs/PaymentParameters.mjs';
 import { Result_PaymentParametersDecodeErrorZ } from '../structs/Result_PaymentParametersDecodeErrorZ.mjs';
-import { TwoTuple_BlindedPayInfoBlindedPathZ } from '../structs/TwoTuple_BlindedPayInfoBlindedPathZ.mjs';
 import { RouteHint } from '../structs/RouteHint.mjs';
 import { RouteHintHop } from '../structs/RouteHintHop.mjs';
 import { Result_RouteHintDecodeErrorZ } from '../structs/Result_RouteHintDecodeErrorZ.mjs';
@@ -116,12 +140,17 @@ import { Logger, LoggerInterface } from '../structs/Logger.mjs';
 import { NetworkGraph } from '../structs/NetworkGraph.mjs';
 import { ProbabilisticScorer } from '../structs/ProbabilisticScorer.mjs';
 import { Result_ProbabilisticScorerDecodeErrorZ } from '../structs/Result_ProbabilisticScorerDecodeErrorZ.mjs';
+import { BestBlock } from '../structs/BestBlock.mjs';
+import { Result_BestBlockDecodeErrorZ } from '../structs/Result_BestBlockDecodeErrorZ.mjs';
 import { TwoTuple_usizeTransactionZ } from '../structs/TwoTuple_usizeTransactionZ.mjs';
-import { TwoTuple_ThirtyTwoBytesCOption_ThirtyTwoBytesZZ } from '../structs/TwoTuple_ThirtyTwoBytesCOption_ThirtyTwoBytesZZ.mjs';
+import { ThreeTuple_ThirtyTwoBytesu32COption_ThirtyTwoBytesZZ } from '../structs/ThreeTuple_ThirtyTwoBytesu32COption_ThirtyTwoBytesZZ.mjs';
 import { Result_ChannelMonitorUpdateStatusNoneZ } from '../structs/Result_ChannelMonitorUpdateStatusNoneZ.mjs';
 import { HTLCUpdate } from '../structs/HTLCUpdate.mjs';
+import { UntrustedString } from '../structs/UntrustedString.mjs';
+import { ClosureReason } from '../structs/ClosureReason.mjs';
+import { ChannelId } from '../structs/ChannelId.mjs';
 import { MonitorEvent } from '../structs/MonitorEvent.mjs';
-import { ThreeTuple_OutPointCVec_MonitorEventZPublicKeyZ } from '../structs/ThreeTuple_OutPointCVec_MonitorEventZPublicKeyZ.mjs';
+import { FourTuple_OutPointChannelIdCVec_MonitorEventZPublicKeyZ } from '../structs/FourTuple_OutPointChannelIdCVec_MonitorEventZPublicKeyZ.mjs';
 import { InitFeatures } from '../structs/InitFeatures.mjs';
 import { Result_InitFeaturesDecodeErrorZ } from '../structs/Result_InitFeaturesDecodeErrorZ.mjs';
 import { ChannelFeatures } from '../structs/ChannelFeatures.mjs';
@@ -136,10 +165,18 @@ import { BlindedHopFeatures } from '../structs/BlindedHopFeatures.mjs';
 import { Result_BlindedHopFeaturesDecodeErrorZ } from '../structs/Result_BlindedHopFeaturesDecodeErrorZ.mjs';
 import { ChannelTypeFeatures } from '../structs/ChannelTypeFeatures.mjs';
 import { Result_ChannelTypeFeaturesDecodeErrorZ } from '../structs/Result_ChannelTypeFeaturesDecodeErrorZ.mjs';
+import { OfferId } from '../structs/OfferId.mjs';
+import { Result_OfferIdDecodeErrorZ } from '../structs/Result_OfferIdDecodeErrorZ.mjs';
+import { Result_NoneBolt12SemanticErrorZ } from '../structs/Result_NoneBolt12SemanticErrorZ.mjs';
 import { Offer } from '../structs/Offer.mjs';
+import { Result_OfferBolt12SemanticErrorZ } from '../structs/Result_OfferBolt12SemanticErrorZ.mjs';
+import { InvoiceRequestWithDerivedPayerIdBuilder } from '../structs/InvoiceRequestWithDerivedPayerIdBuilder.mjs';
+import { Result_InvoiceRequestWithDerivedPayerIdBuilderBolt12SemanticErrorZ } from '../structs/Result_InvoiceRequestWithDerivedPayerIdBuilderBolt12SemanticErrorZ.mjs';
+import { InvoiceRequestWithExplicitPayerIdBuilder } from '../structs/InvoiceRequestWithExplicitPayerIdBuilder.mjs';
+import { Result_InvoiceRequestWithExplicitPayerIdBuilderBolt12SemanticErrorZ } from '../structs/Result_InvoiceRequestWithExplicitPayerIdBuilderBolt12SemanticErrorZ.mjs';
 import { Result_OfferBolt12ParseErrorZ } from '../structs/Result_OfferBolt12ParseErrorZ.mjs';
-import { Result_PublicKeySecp256k1ErrorZ } from '../structs/Result_PublicKeySecp256k1ErrorZ.mjs';
 import { Result_NodeIdDecodeErrorZ } from '../structs/Result_NodeIdDecodeErrorZ.mjs';
+import { Result_PublicKeySecp256k1ErrorZ } from '../structs/Result_PublicKeySecp256k1ErrorZ.mjs';
 import { ChannelUpdate } from '../structs/ChannelUpdate.mjs';
 import { NetworkUpdate } from '../structs/NetworkUpdate.mjs';
 import { Option_NetworkUpdateZ } from '../structs/Option_NetworkUpdateZ.mjs';
@@ -160,6 +197,10 @@ import { OpenChannel } from '../structs/OpenChannel.mjs';
 import { OpenChannelV2 } from '../structs/OpenChannelV2.mjs';
 import { FundingCreated } from '../structs/FundingCreated.mjs';
 import { FundingSigned } from '../structs/FundingSigned.mjs';
+import { Stfu } from '../structs/Stfu.mjs';
+import { Splice } from '../structs/Splice.mjs';
+import { SpliceAck } from '../structs/SpliceAck.mjs';
+import { SpliceLocked } from '../structs/SpliceLocked.mjs';
 import { TxAddInput } from '../structs/TxAddInput.mjs';
 import { TxAddOutput } from '../structs/TxAddOutput.mjs';
 import { TxRemoveInput } from '../structs/TxRemoveInput.mjs';
@@ -201,19 +242,24 @@ import { NodeInfo } from '../structs/NodeInfo.mjs';
 import { Result_NodeInfoDecodeErrorZ } from '../structs/Result_NodeInfoDecodeErrorZ.mjs';
 import { Result_NetworkGraphDecodeErrorZ } from '../structs/Result_NetworkGraphDecodeErrorZ.mjs';
 import { Option_CVec_SocketAddressZZ } from '../structs/Option_CVec_SocketAddressZZ.mjs';
-import { ChannelDerivationParameters } from '../structs/ChannelDerivationParameters.mjs';
-import { Result_ChannelDerivationParametersDecodeErrorZ } from '../structs/Result_ChannelDerivationParametersDecodeErrorZ.mjs';
-import { Result_HTLCDescriptorDecodeErrorZ } from '../structs/Result_HTLCDescriptorDecodeErrorZ.mjs';
+import { Result_u64ShortChannelIdErrorZ } from '../structs/Result_u64ShortChannelIdErrorZ.mjs';
+import { PendingHTLCInfo } from '../structs/PendingHTLCInfo.mjs';
+import { InboundHTLCErr } from '../structs/InboundHTLCErr.mjs';
+import { Result_PendingHTLCInfoInboundHTLCErrZ } from '../structs/Result_PendingHTLCInfoInboundHTLCErrZ.mjs';
 import { Utxo } from '../structs/Utxo.mjs';
 import { Option_TxOutZ } from '../structs/Option_TxOutZ.mjs';
 import { Input } from '../structs/Input.mjs';
 import { CoinSelection } from '../structs/CoinSelection.mjs';
 import { Result_CoinSelectionNoneZ } from '../structs/Result_CoinSelectionNoneZ.mjs';
 import { Result_CVec_UtxoZNoneZ } from '../structs/Result_CVec_UtxoZNoneZ.mjs';
+import { UnknownPaymentContext } from '../structs/UnknownPaymentContext.mjs';
+import { Bolt12OfferContext } from '../structs/Bolt12OfferContext.mjs';
+import { Bolt12RefundContext } from '../structs/Bolt12RefundContext.mjs';
+import { PaymentContext } from '../structs/PaymentContext.mjs';
+import { Option_PaymentContextZ } from '../structs/Option_PaymentContextZ.mjs';
 import { TwoTuple_u64u16Z } from '../structs/TwoTuple_u64u16Z.mjs';
 import { Option_C2Tuple_u64u16ZZ } from '../structs/Option_C2Tuple_u64u16ZZ.mjs';
-import { Option_ChannelShutdownStateZ } from '../structs/Option_ChannelShutdownStateZ.mjs';
-import { Result_ThirtyTwoBytesAPIErrorZ } from '../structs/Result_ThirtyTwoBytesAPIErrorZ.mjs';
+import { Result_ChannelIdAPIErrorZ } from '../structs/Result_ChannelIdAPIErrorZ.mjs';
 import { RecentPaymentDetails } from '../structs/RecentPaymentDetails.mjs';
 import { PaymentSendFailure } from '../structs/PaymentSendFailure.mjs';
 import { Result_NonePaymentSendFailureZ } from '../structs/Result_NonePaymentSendFailureZ.mjs';
@@ -224,29 +270,42 @@ import { TwoTuple_ThirtyTwoBytesThirtyTwoBytesZ } from '../structs/TwoTuple_Thir
 import { Result_C2Tuple_ThirtyTwoBytesThirtyTwoBytesZPaymentSendFailureZ } from '../structs/Result_C2Tuple_ThirtyTwoBytesThirtyTwoBytesZPaymentSendFailureZ.mjs';
 import { ProbeSendFailure } from '../structs/ProbeSendFailure.mjs';
 import { Result_CVec_C2Tuple_ThirtyTwoBytesThirtyTwoBytesZZProbeSendFailureZ } from '../structs/Result_CVec_C2Tuple_ThirtyTwoBytesThirtyTwoBytesZZProbeSendFailureZ.mjs';
-import { TwoTuple_ThirtyTwoBytesPublicKeyZ } from '../structs/TwoTuple_ThirtyTwoBytesPublicKeyZ.mjs';
+import { TwoTuple_ChannelIdPublicKeyZ } from '../structs/TwoTuple_ChannelIdPublicKeyZ.mjs';
+import { OfferWithDerivedMetadataBuilder } from '../structs/OfferWithDerivedMetadataBuilder.mjs';
+import { Result_OfferWithDerivedMetadataBuilderBolt12SemanticErrorZ } from '../structs/Result_OfferWithDerivedMetadataBuilderBolt12SemanticErrorZ.mjs';
+import { Option_StrZ } from '../structs/Option_StrZ.mjs';
 import { Result_C2Tuple_ThirtyTwoBytesThirtyTwoBytesZNoneZ } from '../structs/Result_C2Tuple_ThirtyTwoBytesThirtyTwoBytesZNoneZ.mjs';
-import { CounterpartyForwardingInfo } from '../structs/CounterpartyForwardingInfo.mjs';
-import { Result_CounterpartyForwardingInfoDecodeErrorZ } from '../structs/Result_CounterpartyForwardingInfoDecodeErrorZ.mjs';
-import { ChannelCounterparty } from '../structs/ChannelCounterparty.mjs';
-import { Result_ChannelCounterpartyDecodeErrorZ } from '../structs/Result_ChannelCounterpartyDecodeErrorZ.mjs';
-import { Result_ChannelDetailsDecodeErrorZ } from '../structs/Result_ChannelDetailsDecodeErrorZ.mjs';
+import { Result_ThirtyTwoBytesAPIErrorZ } from '../structs/Result_ThirtyTwoBytesAPIErrorZ.mjs';
+import { InvoiceRequest } from '../structs/InvoiceRequest.mjs';
+import { InvoiceError } from '../structs/InvoiceError.mjs';
+import { OffersMessage } from '../structs/OffersMessage.mjs';
+import { Option_OffersMessageZ } from '../structs/Option_OffersMessageZ.mjs';
+import { Destination } from '../structs/Destination.mjs';
+import { ThreeTuple_OffersMessageDestinationBlindedPathZ } from '../structs/ThreeTuple_OffersMessageDestinationBlindedPathZ.mjs';
 import { PhantomRouteHints } from '../structs/PhantomRouteHints.mjs';
 import { Result_PhantomRouteHintsDecodeErrorZ } from '../structs/Result_PhantomRouteHintsDecodeErrorZ.mjs';
-import { Result_ChannelShutdownStateDecodeErrorZ } from '../structs/Result_ChannelShutdownStateDecodeErrorZ.mjs';
+import { BlindedForward } from '../structs/BlindedForward.mjs';
+import { Result_BlindedForwardDecodeErrorZ } from '../structs/Result_BlindedForwardDecodeErrorZ.mjs';
+import { OnionPacket } from '../structs/OnionPacket.mjs';
+import { FinalOnionHopData } from '../structs/FinalOnionHopData.mjs';
+import { PendingHTLCRouting } from '../structs/PendingHTLCRouting.mjs';
+import { Result_PendingHTLCRoutingDecodeErrorZ } from '../structs/Result_PendingHTLCRoutingDecodeErrorZ.mjs';
+import { Result_PendingHTLCInfoDecodeErrorZ } from '../structs/Result_PendingHTLCInfoDecodeErrorZ.mjs';
+import { Result_BlindedFailureDecodeErrorZ } from '../structs/Result_BlindedFailureDecodeErrorZ.mjs';
 import { ChannelMonitor } from '../structs/ChannelMonitor.mjs';
 import { ChannelMonitorUpdate } from '../structs/ChannelMonitorUpdate.mjs';
 import { Watch, WatchInterface } from '../structs/Watch.mjs';
 import { BroadcasterInterface, BroadcasterInterfaceInterface } from '../structs/BroadcasterInterface.mjs';
 import { EntropySource, EntropySourceInterface } from '../structs/EntropySource.mjs';
 import { UnsignedInvoiceRequest } from '../structs/UnsignedInvoiceRequest.mjs';
-import { UnsignedBolt12Invoice } from '../structs/UnsignedBolt12Invoice.mjs';
 import { UnsignedChannelUpdate } from '../structs/UnsignedChannelUpdate.mjs';
 import { UnsignedNodeAnnouncement } from '../structs/UnsignedNodeAnnouncement.mjs';
 import { UnsignedGossipMessage } from '../structs/UnsignedGossipMessage.mjs';
 import { NodeSigner, NodeSignerInterface } from '../structs/NodeSigner.mjs';
 import { SignerProvider, SignerProviderInterface } from '../structs/SignerProvider.mjs';
 import { FeeEstimator, FeeEstimatorInterface } from '../structs/FeeEstimator.mjs';
+import { ReceiveTlvs } from '../structs/ReceiveTlvs.mjs';
+import { MessageRouter, MessageRouterInterface } from '../structs/MessageRouter.mjs';
 import { Router, RouterInterface } from '../structs/Router.mjs';
 import { ChannelManager } from '../structs/ChannelManager.mjs';
 import { TwoTuple_ThirtyTwoBytesChannelManagerZ } from '../structs/TwoTuple_ThirtyTwoBytesChannelManagerZ.mjs';
@@ -272,18 +331,15 @@ import { TwoTuple_ThirtyTwoBytesChannelMonitorZ } from '../structs/TwoTuple_Thir
 import { Result_C2Tuple_ThirtyTwoBytesChannelMonitorZDecodeErrorZ } from '../structs/Result_C2Tuple_ThirtyTwoBytesChannelMonitorZDecodeErrorZ.mjs';
 import { Type, TypeInterface } from '../structs/Type.mjs';
 import { TwoTuple_PublicKeyTypeZ } from '../structs/TwoTuple_PublicKeyTypeZ.mjs';
-import { InvoiceRequest } from '../structs/InvoiceRequest.mjs';
-import { Bolt12Invoice } from '../structs/Bolt12Invoice.mjs';
-import { InvoiceError } from '../structs/InvoiceError.mjs';
-import { OffersMessage } from '../structs/OffersMessage.mjs';
-import { Option_OffersMessageZ } from '../structs/Option_OffersMessageZ.mjs';
-import { CustomOnionMessageContents, CustomOnionMessageContentsInterface } from '../structs/CustomOnionMessageContents.mjs';
-import { Option_CustomOnionMessageContentsZ } from '../structs/Option_CustomOnionMessageContentsZ.mjs';
-import { Result_COption_CustomOnionMessageContentsZDecodeErrorZ } from '../structs/Result_COption_CustomOnionMessageContentsZDecodeErrorZ.mjs';
+import { TwoTuple_PublicKeyCVec_SocketAddressZZ } from '../structs/TwoTuple_PublicKeyCVec_SocketAddressZZ.mjs';
+import { OnionMessageContents, OnionMessageContentsInterface } from '../structs/OnionMessageContents.mjs';
+import { Option_OnionMessageContentsZ } from '../structs/Option_OnionMessageContentsZ.mjs';
+import { Result_COption_OnionMessageContentsZDecodeErrorZ } from '../structs/Result_COption_OnionMessageContentsZDecodeErrorZ.mjs';
+import { ThreeTuple_OnionMessageContentsDestinationBlindedPathZ } from '../structs/ThreeTuple_OnionMessageContentsDestinationBlindedPathZ.mjs';
 import { Option_TypeZ } from '../structs/Option_TypeZ.mjs';
 import { Result_COption_TypeZDecodeErrorZ } from '../structs/Result_COption_TypeZDecodeErrorZ.mjs';
 import { Option_SocketAddressZ } from '../structs/Option_SocketAddressZ.mjs';
-import { TwoTuple_PublicKeyCOption_SocketAddressZZ } from '../structs/TwoTuple_PublicKeyCOption_SocketAddressZZ.mjs';
+import { PeerDetails } from '../structs/PeerDetails.mjs';
 import { PeerHandleError } from '../structs/PeerHandleError.mjs';
 import { Result_CVec_u8ZPeerHandleErrorZ } from '../structs/Result_CVec_u8ZPeerHandleErrorZ.mjs';
 import { Result_NonePeerHandleErrorZ } from '../structs/Result_NonePeerHandleErrorZ.mjs';
@@ -295,9 +351,18 @@ import { Result_NoneIOErrorZ } from '../structs/Result_NoneIOErrorZ.mjs';
 import { Result_CVec_StrZIOErrorZ } from '../structs/Result_CVec_StrZIOErrorZ.mjs';
 import { Result_CVec_C2Tuple_ThirtyTwoBytesChannelMonitorZZIOErrorZ } from '../structs/Result_CVec_C2Tuple_ThirtyTwoBytesChannelMonitorZZIOErrorZ.mjs';
 import { Result_C2Tuple_ThirtyTwoBytesChannelMonitorZIOErrorZ } from '../structs/Result_C2Tuple_ThirtyTwoBytesChannelMonitorZIOErrorZ.mjs';
+import { Result_UnsignedInvoiceRequestBolt12SemanticErrorZ } from '../structs/Result_UnsignedInvoiceRequestBolt12SemanticErrorZ.mjs';
+import { Result_InvoiceRequestBolt12SemanticErrorZ } from '../structs/Result_InvoiceRequestBolt12SemanticErrorZ.mjs';
 import { Option_SecretKeyZ } from '../structs/Option_SecretKeyZ.mjs';
+import { InvoiceWithExplicitSigningPubkeyBuilder } from '../structs/InvoiceWithExplicitSigningPubkeyBuilder.mjs';
+import { Result_InvoiceWithExplicitSigningPubkeyBuilderBolt12SemanticErrorZ } from '../structs/Result_InvoiceWithExplicitSigningPubkeyBuilderBolt12SemanticErrorZ.mjs';
 import { VerifiedInvoiceRequest } from '../structs/VerifiedInvoiceRequest.mjs';
 import { Result_VerifiedInvoiceRequestNoneZ } from '../structs/Result_VerifiedInvoiceRequestNoneZ.mjs';
+import { InvoiceWithDerivedSigningPubkeyBuilder } from '../structs/InvoiceWithDerivedSigningPubkeyBuilder.mjs';
+import { Result_InvoiceWithDerivedSigningPubkeyBuilderBolt12SemanticErrorZ } from '../structs/Result_InvoiceWithDerivedSigningPubkeyBuilderBolt12SemanticErrorZ.mjs';
+import { InvoiceRequestFields } from '../structs/InvoiceRequestFields.mjs';
+import { Result_InvoiceRequestFieldsDecodeErrorZ } from '../structs/Result_InvoiceRequestFieldsDecodeErrorZ.mjs';
+import { Option_ECDSASignatureZ } from '../structs/Option_ECDSASignatureZ.mjs';
 import { Option_i64Z } from '../structs/Option_i64Z.mjs';
 import { Result_SocketAddressDecodeErrorZ } from '../structs/Result_SocketAddressDecodeErrorZ.mjs';
 import { Result_SocketAddressSocketAddressParseErrorZ } from '../structs/Result_SocketAddressSocketAddressParseErrorZ.mjs';
@@ -307,6 +372,10 @@ import { UpdateFailHTLC } from '../structs/UpdateFailHTLC.mjs';
 import { UpdateFailMalformedHTLC } from '../structs/UpdateFailMalformedHTLC.mjs';
 import { Result_AcceptChannelDecodeErrorZ } from '../structs/Result_AcceptChannelDecodeErrorZ.mjs';
 import { Result_AcceptChannelV2DecodeErrorZ } from '../structs/Result_AcceptChannelV2DecodeErrorZ.mjs';
+import { Result_StfuDecodeErrorZ } from '../structs/Result_StfuDecodeErrorZ.mjs';
+import { Result_SpliceDecodeErrorZ } from '../structs/Result_SpliceDecodeErrorZ.mjs';
+import { Result_SpliceAckDecodeErrorZ } from '../structs/Result_SpliceAckDecodeErrorZ.mjs';
+import { Result_SpliceLockedDecodeErrorZ } from '../structs/Result_SpliceLockedDecodeErrorZ.mjs';
 import { Result_TxAddInputDecodeErrorZ } from '../structs/Result_TxAddInputDecodeErrorZ.mjs';
 import { Result_TxAddOutputDecodeErrorZ } from '../structs/Result_TxAddOutputDecodeErrorZ.mjs';
 import { Result_TxRemoveInputDecodeErrorZ } from '../structs/Result_TxRemoveInputDecodeErrorZ.mjs';
@@ -337,9 +406,11 @@ import { Result_UpdateFailMalformedHTLCDecodeErrorZ } from '../structs/Result_Up
 import { UpdateFee } from '../structs/UpdateFee.mjs';
 import { Result_UpdateFeeDecodeErrorZ } from '../structs/Result_UpdateFeeDecodeErrorZ.mjs';
 import { Result_UpdateFulfillHTLCDecodeErrorZ } from '../structs/Result_UpdateFulfillHTLCDecodeErrorZ.mjs';
+import { Result_OnionPacketDecodeErrorZ } from '../structs/Result_OnionPacketDecodeErrorZ.mjs';
 import { Result_UpdateAddHTLCDecodeErrorZ } from '../structs/Result_UpdateAddHTLCDecodeErrorZ.mjs';
 import { OnionMessage } from '../structs/OnionMessage.mjs';
 import { Result_OnionMessageDecodeErrorZ } from '../structs/Result_OnionMessageDecodeErrorZ.mjs';
+import { Result_FinalOnionHopDataDecodeErrorZ } from '../structs/Result_FinalOnionHopDataDecodeErrorZ.mjs';
 import { Ping } from '../structs/Ping.mjs';
 import { Result_PingDecodeErrorZ } from '../structs/Result_PingDecodeErrorZ.mjs';
 import { Pong } from '../structs/Pong.mjs';
@@ -361,6 +432,21 @@ import { Result_GossipTimestampFilterDecodeErrorZ } from '../structs/Result_Goss
 import { Bolt11Invoice } from '../structs/Bolt11Invoice.mjs';
 import { SignOrCreationError } from '../structs/SignOrCreationError.mjs';
 import { Result_Bolt11InvoiceSignOrCreationErrorZ } from '../structs/Result_Bolt11InvoiceSignOrCreationErrorZ.mjs';
+import { Option_InboundHTLCStateDetailsZ } from '../structs/Option_InboundHTLCStateDetailsZ.mjs';
+import { Result_COption_InboundHTLCStateDetailsZDecodeErrorZ } from '../structs/Result_COption_InboundHTLCStateDetailsZDecodeErrorZ.mjs';
+import { InboundHTLCDetails } from '../structs/InboundHTLCDetails.mjs';
+import { Result_InboundHTLCDetailsDecodeErrorZ } from '../structs/Result_InboundHTLCDetailsDecodeErrorZ.mjs';
+import { Option_OutboundHTLCStateDetailsZ } from '../structs/Option_OutboundHTLCStateDetailsZ.mjs';
+import { Result_COption_OutboundHTLCStateDetailsZDecodeErrorZ } from '../structs/Result_COption_OutboundHTLCStateDetailsZDecodeErrorZ.mjs';
+import { OutboundHTLCDetails } from '../structs/OutboundHTLCDetails.mjs';
+import { Result_OutboundHTLCDetailsDecodeErrorZ } from '../structs/Result_OutboundHTLCDetailsDecodeErrorZ.mjs';
+import { CounterpartyForwardingInfo } from '../structs/CounterpartyForwardingInfo.mjs';
+import { Result_CounterpartyForwardingInfoDecodeErrorZ } from '../structs/Result_CounterpartyForwardingInfoDecodeErrorZ.mjs';
+import { ChannelCounterparty } from '../structs/ChannelCounterparty.mjs';
+import { Result_ChannelCounterpartyDecodeErrorZ } from '../structs/Result_ChannelCounterpartyDecodeErrorZ.mjs';
+import { Option_ChannelShutdownStateZ } from '../structs/Option_ChannelShutdownStateZ.mjs';
+import { Result_ChannelDetailsDecodeErrorZ } from '../structs/Result_ChannelDetailsDecodeErrorZ.mjs';
+import { Result_ChannelShutdownStateDecodeErrorZ } from '../structs/Result_ChannelShutdownStateDecodeErrorZ.mjs';
 import { Result_OffersMessageDecodeErrorZ } from '../structs/Result_OffersMessageDecodeErrorZ.mjs';
 import { Option_HTLCClaimZ } from '../structs/Option_HTLCClaimZ.mjs';
 import { CounterpartyCommitmentSecrets } from '../structs/CounterpartyCommitmentSecrets.mjs';
@@ -392,8 +478,6 @@ import { Result_ClaimedHTLCDecodeErrorZ } from '../structs/Result_ClaimedHTLCDec
 import { PathFailure } from '../structs/PathFailure.mjs';
 import { Option_PathFailureZ } from '../structs/Option_PathFailureZ.mjs';
 import { Result_COption_PathFailureZDecodeErrorZ } from '../structs/Result_COption_PathFailureZDecodeErrorZ.mjs';
-import { UntrustedString } from '../structs/UntrustedString.mjs';
-import { ClosureReason } from '../structs/ClosureReason.mjs';
 import { Option_ClosureReasonZ } from '../structs/Option_ClosureReasonZ.mjs';
 import { Result_COption_ClosureReasonZDecodeErrorZ } from '../structs/Result_COption_ClosureReasonZDecodeErrorZ.mjs';
 import { HTLCDestination } from '../structs/HTLCDestination.mjs';
@@ -433,37 +517,71 @@ import { TransactionU16LenLimited } from '../structs/TransactionU16LenLimited.mj
 import { Result_TransactionU16LenLimitedNoneZ } from '../structs/Result_TransactionU16LenLimitedNoneZ.mjs';
 import { Result_TransactionU16LenLimitedDecodeErrorZ } from '../structs/Result_TransactionU16LenLimitedDecodeErrorZ.mjs';
 import { Result_UntrustedStringDecodeErrorZ } from '../structs/Result_UntrustedStringDecodeErrorZ.mjs';
-import { ReceiveTlvs } from '../structs/ReceiveTlvs.mjs';
-import { Result_ReceiveTlvsDecodeErrorZ } from '../structs/Result_ReceiveTlvsDecodeErrorZ.mjs';
+import { Result_ChannelIdDecodeErrorZ } from '../structs/Result_ChannelIdDecodeErrorZ.mjs';
+import { TwoTuple__u832u16Z } from '../structs/TwoTuple__u832u16Z.mjs';
 import { PaymentRelay } from '../structs/PaymentRelay.mjs';
 import { Result_PaymentRelayDecodeErrorZ } from '../structs/Result_PaymentRelayDecodeErrorZ.mjs';
 import { PaymentConstraints } from '../structs/PaymentConstraints.mjs';
 import { Result_PaymentConstraintsDecodeErrorZ } from '../structs/Result_PaymentConstraintsDecodeErrorZ.mjs';
-import { PaymentError } from '../structs/PaymentError.mjs';
-import { Result_ThirtyTwoBytesPaymentErrorZ } from '../structs/Result_ThirtyTwoBytesPaymentErrorZ.mjs';
-import { Result_NonePaymentErrorZ } from '../structs/Result_NonePaymentErrorZ.mjs';
-import { ProbingError } from '../structs/ProbingError.mjs';
-import { Result_CVec_C2Tuple_ThirtyTwoBytesThirtyTwoBytesZZProbingErrorZ } from '../structs/Result_CVec_C2Tuple_ThirtyTwoBytesThirtyTwoBytesZZProbingErrorZ.mjs';
+import { Result_PaymentContextDecodeErrorZ } from '../structs/Result_PaymentContextDecodeErrorZ.mjs';
+import { Result_UnknownPaymentContextDecodeErrorZ } from '../structs/Result_UnknownPaymentContextDecodeErrorZ.mjs';
+import { Result_Bolt12OfferContextDecodeErrorZ } from '../structs/Result_Bolt12OfferContextDecodeErrorZ.mjs';
+import { Result_Bolt12RefundContextDecodeErrorZ } from '../structs/Result_Bolt12RefundContextDecodeErrorZ.mjs';
 import { Result_StrSecp256k1ErrorZ } from '../structs/Result_StrSecp256k1ErrorZ.mjs';
-import { OnionMessagePath } from '../structs/OnionMessagePath.mjs';
-import { Result_OnionMessagePathNoneZ } from '../structs/Result_OnionMessagePathNoneZ.mjs';
-import { TwoTuple_PublicKeyOnionMessageZ } from '../structs/TwoTuple_PublicKeyOnionMessageZ.mjs';
+import { ThreeTuple_ThirtyTwoBytesRecipientOnionFieldsRouteParametersZ } from '../structs/ThreeTuple_ThirtyTwoBytesRecipientOnionFieldsRouteParametersZ.mjs';
+import { Result_C3Tuple_ThirtyTwoBytesRecipientOnionFieldsRouteParametersZNoneZ } from '../structs/Result_C3Tuple_ThirtyTwoBytesRecipientOnionFieldsRouteParametersZNoneZ.mjs';
+import { ThreeTuple_PublicKeyOnionMessageCOption_CVec_SocketAddressZZZ } from '../structs/ThreeTuple_PublicKeyOnionMessageCOption_CVec_SocketAddressZZZ.mjs';
 import { SendError } from '../structs/SendError.mjs';
-import { Result_C2Tuple_PublicKeyOnionMessageZSendErrorZ } from '../structs/Result_C2Tuple_PublicKeyOnionMessageZSendErrorZ.mjs';
-import { Result_NoneSendErrorZ } from '../structs/Result_NoneSendErrorZ.mjs';
+import { Result_C3Tuple_PublicKeyOnionMessageCOption_CVec_SocketAddressZZZSendErrorZ } from '../structs/Result_C3Tuple_PublicKeyOnionMessageCOption_CVec_SocketAddressZZZSendErrorZ.mjs';
+import { NextMessageHop } from '../structs/NextMessageHop.mjs';
+import { ParsedOnionMessageContents } from '../structs/ParsedOnionMessageContents.mjs';
+import { PeeledOnion } from '../structs/PeeledOnion.mjs';
+import { Result_PeeledOnionNoneZ } from '../structs/Result_PeeledOnionNoneZ.mjs';
+import { SendSuccess } from '../structs/SendSuccess.mjs';
+import { Result_SendSuccessSendErrorZ } from '../structs/Result_SendSuccessSendErrorZ.mjs';
 import { Result_BlindedPathNoneZ } from '../structs/Result_BlindedPathNoneZ.mjs';
 import { Result_C2Tuple_BlindedPayInfoBlindedPathZNoneZ } from '../structs/Result_C2Tuple_BlindedPayInfoBlindedPathZNoneZ.mjs';
+import { ForwardNode } from '../structs/ForwardNode.mjs';
 import { Result_BlindedPathDecodeErrorZ } from '../structs/Result_BlindedPathDecodeErrorZ.mjs';
 import { Result_BlindedHopDecodeErrorZ } from '../structs/Result_BlindedHopDecodeErrorZ.mjs';
 import { Result_InvoiceErrorDecodeErrorZ } from '../structs/Result_InvoiceErrorDecodeErrorZ.mjs';
+import { TrackedSpendableOutput } from '../structs/TrackedSpendableOutput.mjs';
+import { Result_TrackedSpendableOutputDecodeErrorZ } from '../structs/Result_TrackedSpendableOutputDecodeErrorZ.mjs';
+import { OutputSpendStatus } from '../structs/OutputSpendStatus.mjs';
+import { Result_OutputSpendStatusDecodeErrorZ } from '../structs/Result_OutputSpendStatusDecodeErrorZ.mjs';
 import { WatchedOutput } from '../structs/WatchedOutput.mjs';
 import { Filter, FilterInterface } from '../structs/Filter.mjs';
 import { Option_FilterZ } from '../structs/Option_FilterZ.mjs';
+import { ChangeDestinationSource, ChangeDestinationSourceInterface } from '../structs/ChangeDestinationSource.mjs';
+import { KVStore, KVStoreInterface } from '../structs/KVStore.mjs';
+import { OutputSpender, OutputSpenderInterface } from '../structs/OutputSpender.mjs';
+import { OutputSweeper } from '../structs/OutputSweeper.mjs';
+import { Result_OutputSweeperDecodeErrorZ } from '../structs/Result_OutputSweeperDecodeErrorZ.mjs';
+import { TwoTuple_BestBlockOutputSweeperZ } from '../structs/TwoTuple_BestBlockOutputSweeperZ.mjs';
+import { Result_C2Tuple_BestBlockOutputSweeperZDecodeErrorZ } from '../structs/Result_C2Tuple_BestBlockOutputSweeperZDecodeErrorZ.mjs';
+import { DelayedPaymentBasepoint } from '../structs/DelayedPaymentBasepoint.mjs';
+import { Result_DelayedPaymentBasepointDecodeErrorZ } from '../structs/Result_DelayedPaymentBasepointDecodeErrorZ.mjs';
+import { DelayedPaymentKey } from '../structs/DelayedPaymentKey.mjs';
+import { Result_DelayedPaymentKeyDecodeErrorZ } from '../structs/Result_DelayedPaymentKeyDecodeErrorZ.mjs';
+import { HtlcBasepoint } from '../structs/HtlcBasepoint.mjs';
+import { Result_HtlcBasepointDecodeErrorZ } from '../structs/Result_HtlcBasepointDecodeErrorZ.mjs';
+import { HtlcKey } from '../structs/HtlcKey.mjs';
+import { Result_HtlcKeyDecodeErrorZ } from '../structs/Result_HtlcKeyDecodeErrorZ.mjs';
+import { RevocationBasepoint } from '../structs/RevocationBasepoint.mjs';
+import { Result_RevocationBasepointDecodeErrorZ } from '../structs/Result_RevocationBasepointDecodeErrorZ.mjs';
+import { RevocationKey } from '../structs/RevocationKey.mjs';
+import { Result_RevocationKeyDecodeErrorZ } from '../structs/Result_RevocationKeyDecodeErrorZ.mjs';
 import { LockedChannelMonitor } from '../structs/LockedChannelMonitor.mjs';
 import { Result_LockedChannelMonitorNoneZ } from '../structs/Result_LockedChannelMonitorNoneZ.mjs';
+import { TwoTuple_OutPointChannelIdZ } from '../structs/TwoTuple_OutPointChannelIdZ.mjs';
 import { MonitorUpdateId } from '../structs/MonitorUpdateId.mjs';
 import { TwoTuple_OutPointCVec_MonitorUpdateIdZZ } from '../structs/TwoTuple_OutPointCVec_MonitorUpdateIdZZ.mjs';
-import { KVStore, KVStoreInterface } from '../structs/KVStore.mjs';
+import { FirstHopCandidate } from '../structs/FirstHopCandidate.mjs';
+import { PublicHopCandidate } from '../structs/PublicHopCandidate.mjs';
+import { PrivateHopCandidate } from '../structs/PrivateHopCandidate.mjs';
+import { BlindedPathCandidate } from '../structs/BlindedPathCandidate.mjs';
+import { OneHopBlindedPathCandidate } from '../structs/OneHopBlindedPathCandidate.mjs';
+import { CandidateRouteHop } from '../structs/CandidateRouteHop.mjs';
 import { ChannelUsage } from '../structs/ChannelUsage.mjs';
 import { ProbabilisticScoringFeeParameters } from '../structs/ProbabilisticScoringFeeParameters.mjs';
 import { ScoreLookUp, ScoreLookUpInterface } from '../structs/ScoreLookUp.mjs';
@@ -474,15 +592,15 @@ import { Persister, PersisterInterface } from '../structs/Persister.mjs';
 import { MonitorUpdatingPersister } from '../structs/MonitorUpdatingPersister.mjs';
 import { Persist, PersistInterface } from '../structs/Persist.mjs';
 import { PrintableString } from '../structs/PrintableString.mjs';
+import { Listen, ListenInterface } from '../structs/Listen.mjs';
+import { Confirm, ConfirmInterface } from '../structs/Confirm.mjs';
+import { SpendingDelay } from '../structs/SpendingDelay.mjs';
 import { FutureCallback, FutureCallbackInterface } from '../structs/FutureCallback.mjs';
 import { Future } from '../structs/Future.mjs';
 import { ChannelHandshakeConfig } from '../structs/ChannelHandshakeConfig.mjs';
 import { ChannelHandshakeLimits } from '../structs/ChannelHandshakeLimits.mjs';
 import { ChannelConfigUpdate } from '../structs/ChannelConfigUpdate.mjs';
 import { UserConfig } from '../structs/UserConfig.mjs';
-import { BestBlock } from '../structs/BestBlock.mjs';
-import { Listen, ListenInterface } from '../structs/Listen.mjs';
-import { Confirm, ConfirmInterface } from '../structs/Confirm.mjs';
 import { ChainMonitor } from '../structs/ChainMonitor.mjs';
 import { EventHandler, EventHandlerInterface } from '../structs/EventHandler.mjs';
 import { EventsProvider, EventsProviderInterface } from '../structs/EventsProvider.mjs';
@@ -490,16 +608,19 @@ import { FailureCode } from '../structs/FailureCode.mjs';
 import { ChainParameters } from '../structs/ChainParameters.mjs';
 import { MessageSendEventsProvider, MessageSendEventsProviderInterface } from '../structs/MessageSendEventsProvider.mjs';
 import { ChannelMessageHandler, ChannelMessageHandlerInterface } from '../structs/ChannelMessageHandler.mjs';
+import { OffersMessageHandler, OffersMessageHandlerInterface } from '../structs/OffersMessageHandler.mjs';
+import { NodeIdLookUp, NodeIdLookUpInterface } from '../structs/NodeIdLookUp.mjs';
 import { ChannelManagerReadArgs } from '../structs/ChannelManagerReadArgs.mjs';
 import { ExpandedKey } from '../structs/ExpandedKey.mjs';
+import { CommonOpenChannelFields } from '../structs/CommonOpenChannelFields.mjs';
+import { CommonAcceptChannelFields } from '../structs/CommonAcceptChannelFields.mjs';
 import { Packet } from '../structs/Packet.mjs';
 import { RoutingMessageHandler, RoutingMessageHandlerInterface } from '../structs/RoutingMessageHandler.mjs';
-import { OnionMessageProvider, OnionMessageProviderInterface } from '../structs/OnionMessageProvider.mjs';
 import { OnionMessageHandler, OnionMessageHandlerInterface } from '../structs/OnionMessageHandler.mjs';
+import { TrampolineOnionPacket } from '../structs/TrampolineOnionPacket.mjs';
 import { CustomMessageReader, CustomMessageReaderInterface } from '../structs/CustomMessageReader.mjs';
 import { CustomMessageHandler, CustomMessageHandlerInterface } from '../structs/CustomMessageHandler.mjs';
 import { IgnoringMessageHandler } from '../structs/IgnoringMessageHandler.mjs';
-import { OffersMessageHandler, OffersMessageHandlerInterface } from '../structs/OffersMessageHandler.mjs';
 import { CustomOnionMessageHandler, CustomOnionMessageHandlerInterface } from '../structs/CustomOnionMessageHandler.mjs';
 import { ErroringMessageHandler } from '../structs/ErroringMessageHandler.mjs';
 import { MessageHandler } from '../structs/MessageHandler.mjs';
@@ -508,10 +629,12 @@ import { PeerManager } from '../structs/PeerManager.mjs';
 import { DirectedChannelTransactionParameters } from '../structs/DirectedChannelTransactionParameters.mjs';
 import { OfferFeatures } from '../structs/OfferFeatures.mjs';
 import { InvoiceRequestFeatures } from '../structs/InvoiceRequestFeatures.mjs';
-import { Amount } from '../structs/Amount.mjs';
-import { Quantity } from '../structs/Quantity.mjs';
+import { OfferWithExplicitMetadataBuilder } from '../structs/OfferWithExplicitMetadataBuilder.mjs';
+import { SignBolt12InvoiceFn, SignBolt12InvoiceFnInterface } from '../structs/SignBolt12InvoiceFn.mjs';
 import { TaggedHash } from '../structs/TaggedHash.mjs';
 import { ErroneousField } from '../structs/ErroneousField.mjs';
+import { SignInvoiceRequestFn, SignInvoiceRequestFnInterface } from '../structs/SignInvoiceRequestFn.mjs';
+import { SignError } from '../structs/SignError.mjs';
 import { P2PGossipSync } from '../structs/P2PGossipSync.mjs';
 import { ReadOnlyNetworkGraph } from '../structs/ReadOnlyNetworkGraph.mjs';
 import { DirectedChannelInfo } from '../structs/DirectedChannelInfo.mjs';
@@ -526,12 +649,11 @@ import { MultiThreadedScoreLockWrite } from '../structs/MultiThreadedScoreLockWr
 import { ProbabilisticScoringDecayParameters } from '../structs/ProbabilisticScoringDecayParameters.mjs';
 import { KeysManager } from '../structs/KeysManager.mjs';
 import { PhantomKeysManager } from '../structs/PhantomKeysManager.mjs';
-import { Destination } from '../structs/Destination.mjs';
-import { MessageRouter, MessageRouterInterface } from '../structs/MessageRouter.mjs';
+import { RandomBytes } from '../structs/RandomBytes.mjs';
 import { OnionMessenger } from '../structs/OnionMessenger.mjs';
 import { DefaultMessageRouter } from '../structs/DefaultMessageRouter.mjs';
-import { OnionMessageContents } from '../structs/OnionMessageContents.mjs';
-import { ForwardNode } from '../structs/ForwardNode.mjs';
+import { IntroductionNode } from '../structs/IntroductionNode.mjs';
+import { EmptyNodeIdLookUp } from '../structs/EmptyNodeIdLookUp.mjs';
 import { ForwardTlvs } from '../structs/ForwardTlvs.mjs';
 import { CoinSelectionSource, CoinSelectionSourceInterface } from '../structs/CoinSelectionSource.mjs';
 import { WalletSource, WalletSourceInterface } from '../structs/WalletSource.mjs';
@@ -564,23 +686,25 @@ export class Event extends CommonBase {
                        case 0: return new Event_FundingGenerationReady(ptr);
                        case 1: return new Event_PaymentClaimable(ptr);
                        case 2: return new Event_PaymentClaimed(ptr);
-                       case 3: return new Event_PaymentSent(ptr);
-                       case 4: return new Event_PaymentFailed(ptr);
-                       case 5: return new Event_PaymentPathSuccessful(ptr);
-                       case 6: return new Event_PaymentPathFailed(ptr);
-                       case 7: return new Event_ProbeSuccessful(ptr);
-                       case 8: return new Event_ProbeFailed(ptr);
-                       case 9: return new Event_PendingHTLCsForwardable(ptr);
-                       case 10: return new Event_HTLCIntercepted(ptr);
-                       case 11: return new Event_SpendableOutputs(ptr);
-                       case 12: return new Event_PaymentForwarded(ptr);
-                       case 13: return new Event_ChannelPending(ptr);
-                       case 14: return new Event_ChannelReady(ptr);
-                       case 15: return new Event_ChannelClosed(ptr);
-                       case 16: return new Event_DiscardFunding(ptr);
-                       case 17: return new Event_OpenChannelRequest(ptr);
-                       case 18: return new Event_HTLCHandlingFailed(ptr);
-                       case 19: return new Event_BumpTransaction(ptr);
+                       case 3: return new Event_ConnectionNeeded(ptr);
+                       case 4: return new Event_InvoiceRequestFailed(ptr);
+                       case 5: return new Event_PaymentSent(ptr);
+                       case 6: return new Event_PaymentFailed(ptr);
+                       case 7: return new Event_PaymentPathSuccessful(ptr);
+                       case 8: return new Event_PaymentPathFailed(ptr);
+                       case 9: return new Event_ProbeSuccessful(ptr);
+                       case 10: return new Event_ProbeFailed(ptr);
+                       case 11: return new Event_PendingHTLCsForwardable(ptr);
+                       case 12: return new Event_HTLCIntercepted(ptr);
+                       case 13: return new Event_SpendableOutputs(ptr);
+                       case 14: return new Event_PaymentForwarded(ptr);
+                       case 15: return new Event_ChannelPending(ptr);
+                       case 16: return new Event_ChannelReady(ptr);
+                       case 17: return new Event_ChannelClosed(ptr);
+                       case 18: return new Event_DiscardFunding(ptr);
+                       case 19: return new Event_OpenChannelRequest(ptr);
+                       case 20: return new Event_HTLCHandlingFailed(ptr);
+                       case 21: return new Event_BumpTransaction(ptr);
                        default:
                                throw new Error('oops, this should be unreachable'); // Unreachable without extending the (internal) bindings interface
                }
@@ -604,18 +728,19 @@ export class Event extends CommonBase {
        /**
         * Utility method to constructs a new FundingGenerationReady-variant Event
         */
-       public static constructor_funding_generation_ready(temporary_channel_id: Uint8Array, counterparty_node_id: Uint8Array, channel_value_satoshis: bigint, output_script: Uint8Array, user_channel_id: bigint): Event {
-               const ret: bigint = bindings.Event_funding_generation_ready(bindings.encodeUint8Array(bindings.check_arr_len(temporary_channel_id, 32)), bindings.encodeUint8Array(bindings.check_arr_len(counterparty_node_id, 33)), channel_value_satoshis, bindings.encodeUint8Array(output_script), bindings.encodeUint128(user_channel_id));
+       public static constructor_funding_generation_ready(temporary_channel_id: ChannelId, counterparty_node_id: Uint8Array, channel_value_satoshis: bigint, output_script: Uint8Array, user_channel_id: bigint): Event {
+               const ret: bigint = bindings.Event_funding_generation_ready(CommonBase.get_ptr_of(temporary_channel_id), bindings.encodeUint8Array(bindings.check_arr_len(counterparty_node_id, 33)), channel_value_satoshis, bindings.encodeUint8Array(output_script), bindings.encodeUint128(user_channel_id));
                const ret_hu_conv: Event = Event.constr_from_ptr(ret);
                CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv);
+               CommonBase.add_ref_from(ret_hu_conv, temporary_channel_id);
                return ret_hu_conv;
        }
 
        /**
         * Utility method to constructs a new PaymentClaimable-variant Event
         */
-       public static constructor_payment_claimable(receiver_node_id: Uint8Array, payment_hash: Uint8Array, onion_fields: RecipientOnionFields, amount_msat: bigint, counterparty_skimmed_fee_msat: bigint, purpose: PaymentPurpose, via_channel_id: Option_ThirtyTwoBytesZ, via_user_channel_id: Option_U128Z, claim_deadline: Option_u32Z): Event {
-               const ret: bigint = bindings.Event_payment_claimable(bindings.encodeUint8Array(bindings.check_arr_len(receiver_node_id, 33)), bindings.encodeUint8Array(bindings.check_arr_len(payment_hash, 32)), onion_fields == null ? 0n : CommonBase.get_ptr_of(onion_fields), amount_msat, counterparty_skimmed_fee_msat, CommonBase.get_ptr_of(purpose), CommonBase.get_ptr_of(via_channel_id), CommonBase.get_ptr_of(via_user_channel_id), CommonBase.get_ptr_of(claim_deadline));
+       public static constructor_payment_claimable(receiver_node_id: Uint8Array, payment_hash: Uint8Array, onion_fields: RecipientOnionFields, amount_msat: bigint, counterparty_skimmed_fee_msat: bigint, purpose: PaymentPurpose, via_channel_id: ChannelId, via_user_channel_id: Option_U128Z, claim_deadline: Option_u32Z): Event {
+               const ret: bigint = bindings.Event_payment_claimable(bindings.encodeUint8Array(bindings.check_arr_len(receiver_node_id, 33)), bindings.encodeUint8Array(bindings.check_arr_len(payment_hash, 32)), CommonBase.get_ptr_of(onion_fields), amount_msat, counterparty_skimmed_fee_msat, CommonBase.get_ptr_of(purpose), CommonBase.get_ptr_of(via_channel_id), CommonBase.get_ptr_of(via_user_channel_id), CommonBase.get_ptr_of(claim_deadline));
                const ret_hu_conv: Event = Event.constr_from_ptr(ret);
                CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv);
                CommonBase.add_ref_from(ret_hu_conv, onion_fields);
@@ -630,7 +755,7 @@ export class Event extends CommonBase {
         * Utility method to constructs a new PaymentClaimed-variant Event
         */
        public static constructor_payment_claimed(receiver_node_id: Uint8Array, payment_hash: Uint8Array, amount_msat: bigint, purpose: PaymentPurpose, htlcs: ClaimedHTLC[], sender_intended_total_msat: Option_u64Z): Event {
-               const ret: bigint = bindings.Event_payment_claimed(bindings.encodeUint8Array(bindings.check_arr_len(receiver_node_id, 33)), bindings.encodeUint8Array(bindings.check_arr_len(payment_hash, 32)), amount_msat, CommonBase.get_ptr_of(purpose), bindings.encodeUint64Array(htlcs.map(htlcs_conv_13 => htlcs_conv_13 == null ? 0n : CommonBase.get_ptr_of(htlcs_conv_13))), CommonBase.get_ptr_of(sender_intended_total_msat));
+               const ret: bigint = bindings.Event_payment_claimed(bindings.encodeUint8Array(bindings.check_arr_len(receiver_node_id, 33)), bindings.encodeUint8Array(bindings.check_arr_len(payment_hash, 32)), amount_msat, CommonBase.get_ptr_of(purpose), bindings.encodeUint64Array(htlcs.map(htlcs_conv_13 => CommonBase.get_ptr_of(htlcs_conv_13))), CommonBase.get_ptr_of(sender_intended_total_msat));
                const ret_hu_conv: Event = Event.constr_from_ptr(ret);
                CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv);
                CommonBase.add_ref_from(ret_hu_conv, purpose);
@@ -639,6 +764,27 @@ export class Event extends CommonBase {
                return ret_hu_conv;
        }
 
+       /**
+        * Utility method to constructs a new ConnectionNeeded-variant Event
+        */
+       public static constructor_connection_needed(node_id: Uint8Array, addresses: SocketAddress[]): Event {
+               const ret: bigint = bindings.Event_connection_needed(bindings.encodeUint8Array(bindings.check_arr_len(node_id, 33)), bindings.encodeUint64Array(addresses.map(addresses_conv_15 => CommonBase.get_ptr_of(addresses_conv_15))));
+               const ret_hu_conv: Event = Event.constr_from_ptr(ret);
+               CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv);
+               addresses.forEach((addresses_conv_15: SocketAddress) => { CommonBase.add_ref_from(ret_hu_conv, addresses_conv_15); });
+               return ret_hu_conv;
+       }
+
+       /**
+        * Utility method to constructs a new InvoiceRequestFailed-variant Event
+        */
+       public static constructor_invoice_request_failed(payment_id: Uint8Array): Event {
+               const ret: bigint = bindings.Event_invoice_request_failed(bindings.encodeUint8Array(bindings.check_arr_len(payment_id, 32)));
+               const ret_hu_conv: Event = Event.constr_from_ptr(ret);
+               CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv);
+               return ret_hu_conv;
+       }
+
        /**
         * Utility method to constructs a new PaymentSent-variant Event
         */
@@ -666,7 +812,7 @@ export class Event extends CommonBase {
         * Utility method to constructs a new PaymentPathSuccessful-variant Event
         */
        public static constructor_payment_path_successful(payment_id: Uint8Array, payment_hash: Option_ThirtyTwoBytesZ, path: Path): Event {
-               const ret: bigint = bindings.Event_payment_path_successful(bindings.encodeUint8Array(bindings.check_arr_len(payment_id, 32)), CommonBase.get_ptr_of(payment_hash), path == null ? 0n : CommonBase.get_ptr_of(path));
+               const ret: bigint = bindings.Event_payment_path_successful(bindings.encodeUint8Array(bindings.check_arr_len(payment_id, 32)), CommonBase.get_ptr_of(payment_hash), CommonBase.get_ptr_of(path));
                const ret_hu_conv: Event = Event.constr_from_ptr(ret);
                CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv);
                CommonBase.add_ref_from(ret_hu_conv, payment_hash);
@@ -678,7 +824,7 @@ export class Event extends CommonBase {
         * Utility method to constructs a new PaymentPathFailed-variant Event
         */
        public static constructor_payment_path_failed(payment_id: Option_ThirtyTwoBytesZ, payment_hash: Uint8Array, payment_failed_permanently: boolean, failure: PathFailure, path: Path, short_channel_id: Option_u64Z): Event {
-               const ret: bigint = bindings.Event_payment_path_failed(CommonBase.get_ptr_of(payment_id), bindings.encodeUint8Array(bindings.check_arr_len(payment_hash, 32)), payment_failed_permanently, CommonBase.get_ptr_of(failure), path == null ? 0n : CommonBase.get_ptr_of(path), CommonBase.get_ptr_of(short_channel_id));
+               const ret: bigint = bindings.Event_payment_path_failed(CommonBase.get_ptr_of(payment_id), bindings.encodeUint8Array(bindings.check_arr_len(payment_hash, 32)), payment_failed_permanently, CommonBase.get_ptr_of(failure), CommonBase.get_ptr_of(path), CommonBase.get_ptr_of(short_channel_id));
                const ret_hu_conv: Event = Event.constr_from_ptr(ret);
                CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv);
                CommonBase.add_ref_from(ret_hu_conv, payment_id);
@@ -692,7 +838,7 @@ export class Event extends CommonBase {
         * Utility method to constructs a new ProbeSuccessful-variant Event
         */
        public static constructor_probe_successful(payment_id: Uint8Array, payment_hash: Uint8Array, path: Path): Event {
-               const ret: bigint = bindings.Event_probe_successful(bindings.encodeUint8Array(bindings.check_arr_len(payment_id, 32)), bindings.encodeUint8Array(bindings.check_arr_len(payment_hash, 32)), path == null ? 0n : CommonBase.get_ptr_of(path));
+               const ret: bigint = bindings.Event_probe_successful(bindings.encodeUint8Array(bindings.check_arr_len(payment_id, 32)), bindings.encodeUint8Array(bindings.check_arr_len(payment_hash, 32)), CommonBase.get_ptr_of(path));
                const ret_hu_conv: Event = Event.constr_from_ptr(ret);
                CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv);
                CommonBase.add_ref_from(ret_hu_conv, path);
@@ -703,7 +849,7 @@ export class Event extends CommonBase {
         * Utility method to constructs a new ProbeFailed-variant Event
         */
        public static constructor_probe_failed(payment_id: Uint8Array, payment_hash: Uint8Array, path: Path, short_channel_id: Option_u64Z): Event {
-               const ret: bigint = bindings.Event_probe_failed(bindings.encodeUint8Array(bindings.check_arr_len(payment_id, 32)), bindings.encodeUint8Array(bindings.check_arr_len(payment_hash, 32)), path == null ? 0n : CommonBase.get_ptr_of(path), CommonBase.get_ptr_of(short_channel_id));
+               const ret: bigint = bindings.Event_probe_failed(bindings.encodeUint8Array(bindings.check_arr_len(payment_id, 32)), bindings.encodeUint8Array(bindings.check_arr_len(payment_hash, 32)), CommonBase.get_ptr_of(path), CommonBase.get_ptr_of(short_channel_id));
                const ret_hu_conv: Event = Event.constr_from_ptr(ret);
                CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv);
                CommonBase.add_ref_from(ret_hu_conv, path);
@@ -734,7 +880,7 @@ export class Event extends CommonBase {
        /**
         * Utility method to constructs a new SpendableOutputs-variant Event
         */
-       public static constructor_spendable_outputs(outputs: SpendableOutputDescriptor[], channel_id: Option_ThirtyTwoBytesZ): Event {
+       public static constructor_spendable_outputs(outputs: SpendableOutputDescriptor[], channel_id: ChannelId): Event {
                const ret: bigint = bindings.Event_spendable_outputs(bindings.encodeUint64Array(outputs.map(outputs_conv_27 => CommonBase.get_ptr_of(outputs_conv_27))), CommonBase.get_ptr_of(channel_id));
                const ret_hu_conv: Event = Event.constr_from_ptr(ret);
                CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv);
@@ -746,13 +892,16 @@ export class Event extends CommonBase {
        /**
         * Utility method to constructs a new PaymentForwarded-variant Event
         */
-       public static constructor_payment_forwarded(prev_channel_id: Option_ThirtyTwoBytesZ, next_channel_id: Option_ThirtyTwoBytesZ, fee_earned_msat: Option_u64Z, claim_from_onchain_tx: boolean, outbound_amount_forwarded_msat: Option_u64Z): Event {
-               const ret: bigint = bindings.Event_payment_forwarded(CommonBase.get_ptr_of(prev_channel_id), CommonBase.get_ptr_of(next_channel_id), CommonBase.get_ptr_of(fee_earned_msat), claim_from_onchain_tx, CommonBase.get_ptr_of(outbound_amount_forwarded_msat));
+       public static constructor_payment_forwarded(prev_channel_id: ChannelId, next_channel_id: ChannelId, prev_user_channel_id: Option_U128Z, next_user_channel_id: Option_U128Z, total_fee_earned_msat: Option_u64Z, skimmed_fee_msat: Option_u64Z, claim_from_onchain_tx: boolean, outbound_amount_forwarded_msat: Option_u64Z): Event {
+               const ret: bigint = bindings.Event_payment_forwarded(CommonBase.get_ptr_of(prev_channel_id), CommonBase.get_ptr_of(next_channel_id), CommonBase.get_ptr_of(prev_user_channel_id), CommonBase.get_ptr_of(next_user_channel_id), CommonBase.get_ptr_of(total_fee_earned_msat), CommonBase.get_ptr_of(skimmed_fee_msat), claim_from_onchain_tx, CommonBase.get_ptr_of(outbound_amount_forwarded_msat));
                const ret_hu_conv: Event = Event.constr_from_ptr(ret);
                CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv);
                CommonBase.add_ref_from(ret_hu_conv, prev_channel_id);
                CommonBase.add_ref_from(ret_hu_conv, next_channel_id);
-               CommonBase.add_ref_from(ret_hu_conv, fee_earned_msat);
+               CommonBase.add_ref_from(ret_hu_conv, prev_user_channel_id);
+               CommonBase.add_ref_from(ret_hu_conv, next_user_channel_id);
+               CommonBase.add_ref_from(ret_hu_conv, total_fee_earned_msat);
+               CommonBase.add_ref_from(ret_hu_conv, skimmed_fee_msat);
                CommonBase.add_ref_from(ret_hu_conv, outbound_amount_forwarded_msat);
                return ret_hu_conv;
        }
@@ -760,22 +909,25 @@ export class Event extends CommonBase {
        /**
         * Utility method to constructs a new ChannelPending-variant Event
         */
-       public static constructor_channel_pending(channel_id: Uint8Array, user_channel_id: bigint, former_temporary_channel_id: Option_ThirtyTwoBytesZ, counterparty_node_id: Uint8Array, funding_txo: OutPoint): Event {
-               const ret: bigint = bindings.Event_channel_pending(bindings.encodeUint8Array(bindings.check_arr_len(channel_id, 32)), bindings.encodeUint128(user_channel_id), CommonBase.get_ptr_of(former_temporary_channel_id), bindings.encodeUint8Array(bindings.check_arr_len(counterparty_node_id, 33)), funding_txo == null ? 0n : CommonBase.get_ptr_of(funding_txo));
+       public static constructor_channel_pending(channel_id: ChannelId, user_channel_id: bigint, former_temporary_channel_id: ChannelId, counterparty_node_id: Uint8Array, funding_txo: OutPoint, channel_type: ChannelTypeFeatures): Event {
+               const ret: bigint = bindings.Event_channel_pending(CommonBase.get_ptr_of(channel_id), bindings.encodeUint128(user_channel_id), CommonBase.get_ptr_of(former_temporary_channel_id), bindings.encodeUint8Array(bindings.check_arr_len(counterparty_node_id, 33)), CommonBase.get_ptr_of(funding_txo), CommonBase.get_ptr_of(channel_type));
                const ret_hu_conv: Event = Event.constr_from_ptr(ret);
                CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv);
+               CommonBase.add_ref_from(ret_hu_conv, channel_id);
                CommonBase.add_ref_from(ret_hu_conv, former_temporary_channel_id);
                CommonBase.add_ref_from(ret_hu_conv, funding_txo);
+               CommonBase.add_ref_from(ret_hu_conv, channel_type);
                return ret_hu_conv;
        }
 
        /**
         * Utility method to constructs a new ChannelReady-variant Event
         */
-       public static constructor_channel_ready(channel_id: Uint8Array, user_channel_id: bigint, counterparty_node_id: Uint8Array, channel_type: ChannelTypeFeatures): Event {
-               const ret: bigint = bindings.Event_channel_ready(bindings.encodeUint8Array(bindings.check_arr_len(channel_id, 32)), bindings.encodeUint128(user_channel_id), bindings.encodeUint8Array(bindings.check_arr_len(counterparty_node_id, 33)), channel_type == null ? 0n : CommonBase.get_ptr_of(channel_type));
+       public static constructor_channel_ready(channel_id: ChannelId, user_channel_id: bigint, counterparty_node_id: Uint8Array, channel_type: ChannelTypeFeatures): Event {
+               const ret: bigint = bindings.Event_channel_ready(CommonBase.get_ptr_of(channel_id), bindings.encodeUint128(user_channel_id), bindings.encodeUint8Array(bindings.check_arr_len(counterparty_node_id, 33)), CommonBase.get_ptr_of(channel_type));
                const ret_hu_conv: Event = Event.constr_from_ptr(ret);
                CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv);
+               CommonBase.add_ref_from(ret_hu_conv, channel_id);
                CommonBase.add_ref_from(ret_hu_conv, channel_type);
                return ret_hu_conv;
        }
@@ -783,32 +935,36 @@ export class Event extends CommonBase {
        /**
         * Utility method to constructs a new ChannelClosed-variant Event
         */
-       public static constructor_channel_closed(channel_id: Uint8Array, user_channel_id: bigint, reason: ClosureReason, counterparty_node_id: Uint8Array, channel_capacity_sats: Option_u64Z): Event {
-               const ret: bigint = bindings.Event_channel_closed(bindings.encodeUint8Array(bindings.check_arr_len(channel_id, 32)), bindings.encodeUint128(user_channel_id), CommonBase.get_ptr_of(reason), bindings.encodeUint8Array(bindings.check_arr_len(counterparty_node_id, 33)), CommonBase.get_ptr_of(channel_capacity_sats));
+       public static constructor_channel_closed(channel_id: ChannelId, user_channel_id: bigint, reason: ClosureReason, counterparty_node_id: Uint8Array, channel_capacity_sats: Option_u64Z, channel_funding_txo: OutPoint): Event {
+               const ret: bigint = bindings.Event_channel_closed(CommonBase.get_ptr_of(channel_id), bindings.encodeUint128(user_channel_id), CommonBase.get_ptr_of(reason), bindings.encodeUint8Array(bindings.check_arr_len(counterparty_node_id, 33)), CommonBase.get_ptr_of(channel_capacity_sats), CommonBase.get_ptr_of(channel_funding_txo));
                const ret_hu_conv: Event = Event.constr_from_ptr(ret);
                CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv);
+               CommonBase.add_ref_from(ret_hu_conv, channel_id);
                CommonBase.add_ref_from(ret_hu_conv, reason);
                CommonBase.add_ref_from(ret_hu_conv, channel_capacity_sats);
+               CommonBase.add_ref_from(ret_hu_conv, channel_funding_txo);
                return ret_hu_conv;
        }
 
        /**
         * Utility method to constructs a new DiscardFunding-variant Event
         */
-       public static constructor_discard_funding(channel_id: Uint8Array, transaction: Uint8Array): Event {
-               const ret: bigint = bindings.Event_discard_funding(bindings.encodeUint8Array(bindings.check_arr_len(channel_id, 32)), bindings.encodeUint8Array(transaction));
+       public static constructor_discard_funding(channel_id: ChannelId, transaction: Uint8Array): Event {
+               const ret: bigint = bindings.Event_discard_funding(CommonBase.get_ptr_of(channel_id), bindings.encodeUint8Array(transaction));
                const ret_hu_conv: Event = Event.constr_from_ptr(ret);
                CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv);
+               CommonBase.add_ref_from(ret_hu_conv, channel_id);
                return ret_hu_conv;
        }
 
        /**
         * Utility method to constructs a new OpenChannelRequest-variant Event
         */
-       public static constructor_open_channel_request(temporary_channel_id: Uint8Array, counterparty_node_id: Uint8Array, funding_satoshis: bigint, push_msat: bigint, channel_type: ChannelTypeFeatures): Event {
-               const ret: bigint = bindings.Event_open_channel_request(bindings.encodeUint8Array(bindings.check_arr_len(temporary_channel_id, 32)), bindings.encodeUint8Array(bindings.check_arr_len(counterparty_node_id, 33)), funding_satoshis, push_msat, channel_type == null ? 0n : CommonBase.get_ptr_of(channel_type));
+       public static constructor_open_channel_request(temporary_channel_id: ChannelId, counterparty_node_id: Uint8Array, funding_satoshis: bigint, push_msat: bigint, channel_type: ChannelTypeFeatures): Event {
+               const ret: bigint = bindings.Event_open_channel_request(CommonBase.get_ptr_of(temporary_channel_id), bindings.encodeUint8Array(bindings.check_arr_len(counterparty_node_id, 33)), funding_satoshis, push_msat, CommonBase.get_ptr_of(channel_type));
                const ret_hu_conv: Event = Event.constr_from_ptr(ret);
                CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv);
+               CommonBase.add_ref_from(ret_hu_conv, temporary_channel_id);
                CommonBase.add_ref_from(ret_hu_conv, channel_type);
                return ret_hu_conv;
        }
@@ -816,10 +972,11 @@ export class Event extends CommonBase {
        /**
         * Utility method to constructs a new HTLCHandlingFailed-variant Event
         */
-       public static constructor_htlchandling_failed(prev_channel_id: Uint8Array, failed_next_destination: HTLCDestination): Event {
-               const ret: bigint = bindings.Event_htlchandling_failed(bindings.encodeUint8Array(bindings.check_arr_len(prev_channel_id, 32)), CommonBase.get_ptr_of(failed_next_destination));
+       public static constructor_htlchandling_failed(prev_channel_id: ChannelId, failed_next_destination: HTLCDestination): Event {
+               const ret: bigint = bindings.Event_htlchandling_failed(CommonBase.get_ptr_of(prev_channel_id), CommonBase.get_ptr_of(failed_next_destination));
                const ret_hu_conv: Event = Event.constr_from_ptr(ret);
                CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv);
+               CommonBase.add_ref_from(ret_hu_conv, prev_channel_id);
                CommonBase.add_ref_from(ret_hu_conv, failed_next_destination);
                return ret_hu_conv;
        }
@@ -840,7 +997,7 @@ export class Event extends CommonBase {
         * This ignores pointers and is_owned flags and looks at the values in fields.
         */
        public eq(b: Event): boolean {
-               const ret: boolean = bindings.Event_eq(this.ptr, b == null ? 0n : CommonBase.get_ptr_of(b));
+               const ret: boolean = bindings.Event_eq(this.ptr, CommonBase.get_ptr_of(b));
                return ret;
        }
 
@@ -862,7 +1019,7 @@ export class Event_FundingGenerationReady extends Event {
         * 
         * [`ChannelManager::funding_transaction_generated`]: crate::ln::channelmanager::ChannelManager::funding_transaction_generated
         */
-       public temporary_channel_id: Uint8Array;
+       public temporary_channel_id: ChannelId;
        /**
         * The counterparty's node_id, which you'll need to pass back into
         * [`ChannelManager::funding_transaction_generated`].
@@ -893,9 +1050,10 @@ export class Event_FundingGenerationReady extends Event {
        /* @internal */
        public constructor(ptr: bigint) {
                super(null, ptr);
-               const temporary_channel_id: number = bindings.LDKEvent_FundingGenerationReady_get_temporary_channel_id(ptr);
-               const temporary_channel_id_conv: Uint8Array = bindings.decodeUint8Array(temporary_channel_id);
-               this.temporary_channel_id = temporary_channel_id_conv;
+               const temporary_channel_id: bigint = bindings.LDKEvent_FundingGenerationReady_get_temporary_channel_id(ptr);
+               const temporary_channel_id_hu_conv: ChannelId = new ChannelId(null, temporary_channel_id);
+                       CommonBase.add_ref_from(temporary_channel_id_hu_conv, this);
+               this.temporary_channel_id = temporary_channel_id_hu_conv;
                const counterparty_node_id: number = bindings.LDKEvent_FundingGenerationReady_get_counterparty_node_id(ptr);
                const counterparty_node_id_conv: Uint8Array = bindings.decodeUint8Array(counterparty_node_id);
                this.counterparty_node_id = counterparty_node_id_conv;
@@ -965,8 +1123,10 @@ export class Event_PaymentClaimable extends Event {
        public purpose: PaymentPurpose;
        /**
         * The `channel_id` indicating over which channel we received the payment.
+        * 
+        * Note that this (or a relevant inner pointer) may be NULL or all-0s to represent None
         */
-       public via_channel_id: Option_ThirtyTwoBytesZ;
+       public via_channel_id: ChannelId;
        /**
         * The `user_channel_id` indicating over which channel we received the payment.
         */
@@ -1001,7 +1161,7 @@ export class Event_PaymentClaimable extends Event {
                        CommonBase.add_ref_from(purpose_hu_conv, this);
                this.purpose = purpose_hu_conv;
                const via_channel_id: bigint = bindings.LDKEvent_PaymentClaimable_get_via_channel_id(ptr);
-               const via_channel_id_hu_conv: Option_ThirtyTwoBytesZ = Option_ThirtyTwoBytesZ.constr_from_ptr(via_channel_id);
+               const via_channel_id_hu_conv: ChannelId = new ChannelId(null, via_channel_id);
                        CommonBase.add_ref_from(via_channel_id_hu_conv, this);
                this.via_channel_id = via_channel_id_hu_conv;
                const via_user_channel_id: bigint = bindings.LDKEvent_PaymentClaimable_get_via_user_channel_id(ptr);
@@ -1083,6 +1243,49 @@ export class Event_PaymentClaimed extends Event {
                this.sender_intended_total_msat = sender_intended_total_msat_hu_conv;
        }
 }
+/** A Event of type ConnectionNeeded */
+export class Event_ConnectionNeeded extends Event {
+       /**
+        * The node id for the node needing a connection.
+        */
+       public node_id: Uint8Array;
+       /**
+        * Sockets for connecting to the node.
+        */
+       public addresses: SocketAddress[];
+       /* @internal */
+       public constructor(ptr: bigint) {
+               super(null, ptr);
+               const node_id: number = bindings.LDKEvent_ConnectionNeeded_get_node_id(ptr);
+               const node_id_conv: Uint8Array = bindings.decodeUint8Array(node_id);
+               this.node_id = node_id_conv;
+               const addresses: number = bindings.LDKEvent_ConnectionNeeded_get_addresses(ptr);
+               const addresses_conv_15_len: number = bindings.getArrayLength(addresses);
+                       const addresses_conv_15_arr: SocketAddress[] = new Array(addresses_conv_15_len).fill(null);
+                       for (var p = 0; p < addresses_conv_15_len; p++) {
+                               const addresses_conv_15: bigint = bindings.getU64ArrayElem(addresses, p);
+                               const addresses_conv_15_hu_conv: SocketAddress = SocketAddress.constr_from_ptr(addresses_conv_15);
+                               CommonBase.add_ref_from(addresses_conv_15_hu_conv, this);
+                               addresses_conv_15_arr[p] = addresses_conv_15_hu_conv;
+                       }
+                       bindings.freeWasmMemory(addresses)
+               this.addresses = addresses_conv_15_arr;
+       }
+}
+/** A Event of type InvoiceRequestFailed */
+export class Event_InvoiceRequestFailed extends Event {
+       /**
+        * The `payment_id` to have been associated with payment for the requested invoice.
+        */
+       public payment_id: Uint8Array;
+       /* @internal */
+       public constructor(ptr: bigint) {
+               super(null, ptr);
+               const payment_id: number = bindings.LDKEvent_InvoiceRequestFailed_get_payment_id(ptr);
+               const payment_id_conv: Uint8Array = bindings.decodeUint8Array(payment_id);
+               this.payment_id = payment_id_conv;
+       }
+}
 /** A Event of type PaymentSent */
 export class Event_PaymentSent extends Event {
        /**
@@ -1424,8 +1627,10 @@ export class Event_SpendableOutputs extends Event {
         * The `channel_id` indicating which channel the spendable outputs belong to.
         * 
         * This will always be `Some` for events generated by LDK versions 0.0.117 and above.
+        * 
+        * Note that this (or a relevant inner pointer) may be NULL or all-0s to represent None
         */
-       public channel_id: Option_ThirtyTwoBytesZ;
+       public channel_id: ChannelId;
        /* @internal */
        public constructor(ptr: bigint) {
                super(null, ptr);
@@ -1441,7 +1646,7 @@ export class Event_SpendableOutputs extends Event {
                        bindings.freeWasmMemory(outputs)
                this.outputs = outputs_conv_27_arr;
                const channel_id: bigint = bindings.LDKEvent_SpendableOutputs_get_channel_id(ptr);
-               const channel_id_hu_conv: Option_ThirtyTwoBytesZ = Option_ThirtyTwoBytesZ.constr_from_ptr(channel_id);
+               const channel_id_hu_conv: ChannelId = new ChannelId(null, channel_id);
                        CommonBase.add_ref_from(channel_id_hu_conv, this);
                this.channel_id = channel_id_hu_conv;
        }
@@ -1449,17 +1654,37 @@ export class Event_SpendableOutputs extends Event {
 /** A Event of type PaymentForwarded */
 export class Event_PaymentForwarded extends Event {
        /**
-        * The incoming channel between the previous node and us. This is only `None` for events
-        * generated or serialized by versions prior to 0.0.107.
+        * The channel id of the incoming channel between the previous node and us.
+        * 
+        * This is only `None` for events generated or serialized by versions prior to 0.0.107.
+        * 
+        * Note that this (or a relevant inner pointer) may be NULL or all-0s to represent None
         */
-       public prev_channel_id: Option_ThirtyTwoBytesZ;
+       public prev_channel_id: ChannelId;
        /**
-        * The outgoing channel between the next node and us. This is only `None` for events
-        * generated or serialized by versions prior to 0.0.107.
+        * The channel id of the outgoing channel between the next node and us.
+        * 
+        * This is only `None` for events generated or serialized by versions prior to 0.0.107.
+        * 
+        * Note that this (or a relevant inner pointer) may be NULL or all-0s to represent None
         */
-       public next_channel_id: Option_ThirtyTwoBytesZ;
+       public next_channel_id: ChannelId;
        /**
-        * The fee, in milli-satoshis, which was earned as a result of the payment.
+        * The `user_channel_id` of the incoming channel between the previous node and us.
+        * 
+        * This is only `None` for events generated or serialized by versions prior to 0.0.122.
+        */
+       public prev_user_channel_id: Option_U128Z;
+       /**
+        * The `user_channel_id` of the outgoing channel between the next node and us.
+        * 
+        * This will be `None` if the payment was settled via an on-chain transaction. See the
+        * caveat described for the `total_fee_earned_msat` field. Moreover it will be `None` for
+        * events generated or serialized by versions prior to 0.0.122.
+        */
+       public next_user_channel_id: Option_U128Z;
+       /**
+        * The total fee, in milli-satoshis, which was earned as a result of the payment.
         * 
         * Note that if we force-closed the channel over which we forwarded an HTLC while the HTLC
         * was pending, the amount the next hop claimed will have been rounded down to the nearest
@@ -1470,10 +1695,26 @@ export class Event_PaymentForwarded extends Event {
         * If the channel which sent us the payment has been force-closed, we will claim the funds
         * via an on-chain transaction. In that case we do not yet know the on-chain transaction
         * fees which we will spend and will instead set this to `None`. It is possible duplicate
-        * `PaymentForwarded` events are generated for the same payment iff `fee_earned_msat` is
+        * `PaymentForwarded` events are generated for the same payment iff `total_fee_earned_msat` is
         * `None`.
         */
-       public fee_earned_msat: Option_u64Z;
+       public total_fee_earned_msat: Option_u64Z;
+       /**
+        * The share of the total fee, in milli-satoshis, which was withheld in addition to the
+        * forwarding fee.
+        * 
+        * This will only be `Some` if we forwarded an intercepted HTLC with less than the
+        * expected amount. This means our counterparty accepted to receive less than the invoice
+        * amount, e.g., by claiming the payment featuring a corresponding
+        * [`PaymentClaimable::counterparty_skimmed_fee_msat`].
+        * 
+        * Will also always be `None` for events serialized with LDK prior to version 0.0.122.
+        * 
+        * The caveat described above the `total_fee_earned_msat` field applies here as well.
+        * 
+        * [`PaymentClaimable::counterparty_skimmed_fee_msat`]: Self::PaymentClaimable::counterparty_skimmed_fee_msat
+        */
+       public skimmed_fee_msat: Option_u64Z;
        /**
         * If this is `true`, the forwarded HTLC was claimed by our counterparty via an on-chain
         * transaction.
@@ -1482,24 +1723,36 @@ export class Event_PaymentForwarded extends Event {
        /**
         * The final amount forwarded, in milli-satoshis, after the fee is deducted.
         * 
-        * The caveat described above the `fee_earned_msat` field applies here as well.
+        * The caveat described above the `total_fee_earned_msat` field applies here as well.
         */
        public outbound_amount_forwarded_msat: Option_u64Z;
        /* @internal */
        public constructor(ptr: bigint) {
                super(null, ptr);
                const prev_channel_id: bigint = bindings.LDKEvent_PaymentForwarded_get_prev_channel_id(ptr);
-               const prev_channel_id_hu_conv: Option_ThirtyTwoBytesZ = Option_ThirtyTwoBytesZ.constr_from_ptr(prev_channel_id);
+               const prev_channel_id_hu_conv: ChannelId = new ChannelId(null, prev_channel_id);
                        CommonBase.add_ref_from(prev_channel_id_hu_conv, this);
                this.prev_channel_id = prev_channel_id_hu_conv;
                const next_channel_id: bigint = bindings.LDKEvent_PaymentForwarded_get_next_channel_id(ptr);
-               const next_channel_id_hu_conv: Option_ThirtyTwoBytesZ = Option_ThirtyTwoBytesZ.constr_from_ptr(next_channel_id);
+               const next_channel_id_hu_conv: ChannelId = new ChannelId(null, next_channel_id);
                        CommonBase.add_ref_from(next_channel_id_hu_conv, this);
                this.next_channel_id = next_channel_id_hu_conv;
-               const fee_earned_msat: bigint = bindings.LDKEvent_PaymentForwarded_get_fee_earned_msat(ptr);
-               const fee_earned_msat_hu_conv: Option_u64Z = Option_u64Z.constr_from_ptr(fee_earned_msat);
-                       CommonBase.add_ref_from(fee_earned_msat_hu_conv, this);
-               this.fee_earned_msat = fee_earned_msat_hu_conv;
+               const prev_user_channel_id: bigint = bindings.LDKEvent_PaymentForwarded_get_prev_user_channel_id(ptr);
+               const prev_user_channel_id_hu_conv: Option_U128Z = Option_U128Z.constr_from_ptr(prev_user_channel_id);
+                       CommonBase.add_ref_from(prev_user_channel_id_hu_conv, this);
+               this.prev_user_channel_id = prev_user_channel_id_hu_conv;
+               const next_user_channel_id: bigint = bindings.LDKEvent_PaymentForwarded_get_next_user_channel_id(ptr);
+               const next_user_channel_id_hu_conv: Option_U128Z = Option_U128Z.constr_from_ptr(next_user_channel_id);
+                       CommonBase.add_ref_from(next_user_channel_id_hu_conv, this);
+               this.next_user_channel_id = next_user_channel_id_hu_conv;
+               const total_fee_earned_msat: bigint = bindings.LDKEvent_PaymentForwarded_get_total_fee_earned_msat(ptr);
+               const total_fee_earned_msat_hu_conv: Option_u64Z = Option_u64Z.constr_from_ptr(total_fee_earned_msat);
+                       CommonBase.add_ref_from(total_fee_earned_msat_hu_conv, this);
+               this.total_fee_earned_msat = total_fee_earned_msat_hu_conv;
+               const skimmed_fee_msat: bigint = bindings.LDKEvent_PaymentForwarded_get_skimmed_fee_msat(ptr);
+               const skimmed_fee_msat_hu_conv: Option_u64Z = Option_u64Z.constr_from_ptr(skimmed_fee_msat);
+                       CommonBase.add_ref_from(skimmed_fee_msat_hu_conv, this);
+               this.skimmed_fee_msat = skimmed_fee_msat_hu_conv;
                this.claim_from_onchain_tx = bindings.LDKEvent_PaymentForwarded_get_claim_from_onchain_tx(ptr);
                const outbound_amount_forwarded_msat: bigint = bindings.LDKEvent_PaymentForwarded_get_outbound_amount_forwarded_msat(ptr);
                const outbound_amount_forwarded_msat_hu_conv: Option_u64Z = Option_u64Z.constr_from_ptr(outbound_amount_forwarded_msat);
@@ -1512,7 +1765,7 @@ export class Event_ChannelPending extends Event {
        /**
         * The `channel_id` of the channel that is pending confirmation.
         */
-       public channel_id: Uint8Array;
+       public channel_id: ChannelId;
        /**
         * The `user_channel_id` value passed in to [`ChannelManager::create_channel`] for outbound
         * channels, or to [`ChannelManager::accept_inbound_channel`] for inbound channels if
@@ -1528,8 +1781,10 @@ export class Event_ChannelPending extends Event {
         * The `temporary_channel_id` this channel used to be known by during channel establishment.
         * 
         * Will be `None` for channels created prior to LDK version 0.0.115.
+        * 
+        * Note that this (or a relevant inner pointer) may be NULL or all-0s to represent None
         */
-       public former_temporary_channel_id: Option_ThirtyTwoBytesZ;
+       public former_temporary_channel_id: ChannelId;
        /**
         * The `node_id` of the channel counterparty.
         */
@@ -1538,17 +1793,26 @@ export class Event_ChannelPending extends Event {
         * The outpoint of the channel's funding transaction.
         */
        public funding_txo: OutPoint;
+       /**
+        * The features that this channel will operate with.
+        * 
+        * Will be `None` for channels created prior to LDK version 0.0.122.
+        * 
+        * Note that this (or a relevant inner pointer) may be NULL or all-0s to represent None
+        */
+       public channel_type: ChannelTypeFeatures;
        /* @internal */
        public constructor(ptr: bigint) {
                super(null, ptr);
-               const channel_id: number = bindings.LDKEvent_ChannelPending_get_channel_id(ptr);
-               const channel_id_conv: Uint8Array = bindings.decodeUint8Array(channel_id);
-               this.channel_id = channel_id_conv;
+               const channel_id: bigint = bindings.LDKEvent_ChannelPending_get_channel_id(ptr);
+               const channel_id_hu_conv: ChannelId = new ChannelId(null, channel_id);
+                       CommonBase.add_ref_from(channel_id_hu_conv, this);
+               this.channel_id = channel_id_hu_conv;
                const user_channel_id: number = bindings.LDKEvent_ChannelPending_get_user_channel_id(ptr);
                const user_channel_id_conv: bigint = bindings.decodeUint128(user_channel_id);
                this.user_channel_id = user_channel_id_conv;
                const former_temporary_channel_id: bigint = bindings.LDKEvent_ChannelPending_get_former_temporary_channel_id(ptr);
-               const former_temporary_channel_id_hu_conv: Option_ThirtyTwoBytesZ = Option_ThirtyTwoBytesZ.constr_from_ptr(former_temporary_channel_id);
+               const former_temporary_channel_id_hu_conv: ChannelId = new ChannelId(null, former_temporary_channel_id);
                        CommonBase.add_ref_from(former_temporary_channel_id_hu_conv, this);
                this.former_temporary_channel_id = former_temporary_channel_id_hu_conv;
                const counterparty_node_id: number = bindings.LDKEvent_ChannelPending_get_counterparty_node_id(ptr);
@@ -1558,6 +1822,10 @@ export class Event_ChannelPending extends Event {
                const funding_txo_hu_conv: OutPoint = new OutPoint(null, funding_txo);
                        CommonBase.add_ref_from(funding_txo_hu_conv, this);
                this.funding_txo = funding_txo_hu_conv;
+               const channel_type: bigint = bindings.LDKEvent_ChannelPending_get_channel_type(ptr);
+               const channel_type_hu_conv: ChannelTypeFeatures = new ChannelTypeFeatures(null, channel_type);
+                       CommonBase.add_ref_from(channel_type_hu_conv, this);
+               this.channel_type = channel_type_hu_conv;
        }
 }
 /** A Event of type ChannelReady */
@@ -1565,7 +1833,7 @@ export class Event_ChannelReady extends Event {
        /**
         * The `channel_id` of the channel that is ready.
         */
-       public channel_id: Uint8Array;
+       public channel_id: ChannelId;
        /**
         * The `user_channel_id` value passed in to [`ChannelManager::create_channel`] for outbound
         * channels, or to [`ChannelManager::accept_inbound_channel`] for inbound channels if
@@ -1588,9 +1856,10 @@ export class Event_ChannelReady extends Event {
        /* @internal */
        public constructor(ptr: bigint) {
                super(null, ptr);
-               const channel_id: number = bindings.LDKEvent_ChannelReady_get_channel_id(ptr);
-               const channel_id_conv: Uint8Array = bindings.decodeUint8Array(channel_id);
-               this.channel_id = channel_id_conv;
+               const channel_id: bigint = bindings.LDKEvent_ChannelReady_get_channel_id(ptr);
+               const channel_id_hu_conv: ChannelId = new ChannelId(null, channel_id);
+                       CommonBase.add_ref_from(channel_id_hu_conv, this);
+               this.channel_id = channel_id_hu_conv;
                const user_channel_id: number = bindings.LDKEvent_ChannelReady_get_user_channel_id(ptr);
                const user_channel_id_conv: bigint = bindings.decodeUint128(user_channel_id);
                this.user_channel_id = user_channel_id_conv;
@@ -1609,7 +1878,7 @@ export class Event_ChannelClosed extends Event {
         * The `channel_id` of the channel which has been closed. Note that on-chain transactions
         * resolving the channel are likely still awaiting confirmation.
         */
-       public channel_id: Uint8Array;
+       public channel_id: ChannelId;
        /**
         * The `user_channel_id` value passed in to [`ChannelManager::create_channel`] for outbound
         * channels, or to [`ChannelManager::accept_inbound_channel`] for inbound channels if
@@ -1641,12 +1910,21 @@ export class Event_ChannelClosed extends Event {
         * This field will be `None` for objects serialized prior to LDK 0.0.117.
         */
        public channel_capacity_sats: Option_u64Z;
+       /**
+        * The original channel funding TXO; this helps checking for the existence and confirmation
+        * status of the closing tx.
+        * Note that for instances serialized in v0.0.119 or prior this will be missing (None).
+        * 
+        * Note that this (or a relevant inner pointer) may be NULL or all-0s to represent None
+        */
+       public channel_funding_txo: OutPoint;
        /* @internal */
        public constructor(ptr: bigint) {
                super(null, ptr);
-               const channel_id: number = bindings.LDKEvent_ChannelClosed_get_channel_id(ptr);
-               const channel_id_conv: Uint8Array = bindings.decodeUint8Array(channel_id);
-               this.channel_id = channel_id_conv;
+               const channel_id: bigint = bindings.LDKEvent_ChannelClosed_get_channel_id(ptr);
+               const channel_id_hu_conv: ChannelId = new ChannelId(null, channel_id);
+                       CommonBase.add_ref_from(channel_id_hu_conv, this);
+               this.channel_id = channel_id_hu_conv;
                const user_channel_id: number = bindings.LDKEvent_ChannelClosed_get_user_channel_id(ptr);
                const user_channel_id_conv: bigint = bindings.decodeUint128(user_channel_id);
                this.user_channel_id = user_channel_id_conv;
@@ -1661,6 +1939,10 @@ export class Event_ChannelClosed extends Event {
                const channel_capacity_sats_hu_conv: Option_u64Z = Option_u64Z.constr_from_ptr(channel_capacity_sats);
                        CommonBase.add_ref_from(channel_capacity_sats_hu_conv, this);
                this.channel_capacity_sats = channel_capacity_sats_hu_conv;
+               const channel_funding_txo: bigint = bindings.LDKEvent_ChannelClosed_get_channel_funding_txo(ptr);
+               const channel_funding_txo_hu_conv: OutPoint = new OutPoint(null, channel_funding_txo);
+                       CommonBase.add_ref_from(channel_funding_txo_hu_conv, this);
+               this.channel_funding_txo = channel_funding_txo_hu_conv;
        }
 }
 /** A Event of type DiscardFunding */
@@ -1668,7 +1950,7 @@ export class Event_DiscardFunding extends Event {
        /**
         * The channel_id of the channel which has been closed.
         */
-       public channel_id: Uint8Array;
+       public channel_id: ChannelId;
        /**
         * The full transaction received from the user
         */
@@ -1676,9 +1958,10 @@ export class Event_DiscardFunding extends Event {
        /* @internal */
        public constructor(ptr: bigint) {
                super(null, ptr);
-               const channel_id: number = bindings.LDKEvent_DiscardFunding_get_channel_id(ptr);
-               const channel_id_conv: Uint8Array = bindings.decodeUint8Array(channel_id);
-               this.channel_id = channel_id_conv;
+               const channel_id: bigint = bindings.LDKEvent_DiscardFunding_get_channel_id(ptr);
+               const channel_id_hu_conv: ChannelId = new ChannelId(null, channel_id);
+                       CommonBase.add_ref_from(channel_id_hu_conv, this);
+               this.channel_id = channel_id_hu_conv;
                const transaction: number = bindings.LDKEvent_DiscardFunding_get_transaction(ptr);
                const transaction_conv: Uint8Array = bindings.decodeUint8Array(transaction);
                this.transaction = transaction_conv;
@@ -1696,7 +1979,7 @@ export class Event_OpenChannelRequest extends Event {
         * [`ChannelManager::accept_inbound_channel`]: crate::ln::channelmanager::ChannelManager::accept_inbound_channel
         * [`ChannelManager::force_close_without_broadcasting_txn`]: crate::ln::channelmanager::ChannelManager::force_close_without_broadcasting_txn
         */
-       public temporary_channel_id: Uint8Array;
+       public temporary_channel_id: ChannelId;
        /**
         * The node_id of the counterparty requesting to open the channel.
         * 
@@ -1738,9 +2021,10 @@ export class Event_OpenChannelRequest extends Event {
        /* @internal */
        public constructor(ptr: bigint) {
                super(null, ptr);
-               const temporary_channel_id: number = bindings.LDKEvent_OpenChannelRequest_get_temporary_channel_id(ptr);
-               const temporary_channel_id_conv: Uint8Array = bindings.decodeUint8Array(temporary_channel_id);
-               this.temporary_channel_id = temporary_channel_id_conv;
+               const temporary_channel_id: bigint = bindings.LDKEvent_OpenChannelRequest_get_temporary_channel_id(ptr);
+               const temporary_channel_id_hu_conv: ChannelId = new ChannelId(null, temporary_channel_id);
+                       CommonBase.add_ref_from(temporary_channel_id_hu_conv, this);
+               this.temporary_channel_id = temporary_channel_id_hu_conv;
                const counterparty_node_id: number = bindings.LDKEvent_OpenChannelRequest_get_counterparty_node_id(ptr);
                const counterparty_node_id_conv: Uint8Array = bindings.decodeUint8Array(counterparty_node_id);
                this.counterparty_node_id = counterparty_node_id_conv;
@@ -1757,7 +2041,7 @@ export class Event_HTLCHandlingFailed extends Event {
        /**
         * The channel over which the HTLC was received.
         */
-       public prev_channel_id: Uint8Array;
+       public prev_channel_id: ChannelId;
        /**
         * Destination of the HTLC that failed to be processed.
         */
@@ -1765,9 +2049,10 @@ export class Event_HTLCHandlingFailed extends Event {
        /* @internal */
        public constructor(ptr: bigint) {
                super(null, ptr);
-               const prev_channel_id: number = bindings.LDKEvent_HTLCHandlingFailed_get_prev_channel_id(ptr);
-               const prev_channel_id_conv: Uint8Array = bindings.decodeUint8Array(prev_channel_id);
-               this.prev_channel_id = prev_channel_id_conv;
+               const prev_channel_id: bigint = bindings.LDKEvent_HTLCHandlingFailed_get_prev_channel_id(ptr);
+               const prev_channel_id_hu_conv: ChannelId = new ChannelId(null, prev_channel_id);
+                       CommonBase.add_ref_from(prev_channel_id_hu_conv, this);
+               this.prev_channel_id = prev_channel_id_hu_conv;
                const failed_next_destination: bigint = bindings.LDKEvent_HTLCHandlingFailed_get_failed_next_destination(ptr);
                const failed_next_destination_hu_conv: HTLCDestination = HTLCDestination.constr_from_ptr(failed_next_destination);
                        CommonBase.add_ref_from(failed_next_destination_hu_conv, this);