impl Drop for DecodeError {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeDecodeError>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for DecodeError {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeDecodeError>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for Init {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeInit>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for Init {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeInit>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for ErrorMessage {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeErrorMessage>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for ErrorMessage {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeErrorMessage>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for Ping {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativePing>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for Ping {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativePing>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for Pong {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativePong>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for Pong {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativePong>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for OpenChannel {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeOpenChannel>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for OpenChannel {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeOpenChannel>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for AcceptChannel {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeAcceptChannel>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for AcceptChannel {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeAcceptChannel>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for FundingCreated {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeFundingCreated>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for FundingCreated {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeFundingCreated>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for FundingSigned {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeFundingSigned>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for FundingSigned {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeFundingSigned>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for FundingLocked {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeFundingLocked>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for FundingLocked {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeFundingLocked>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for Shutdown {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeShutdown>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for Shutdown {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeShutdown>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for ClosingSigned {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeClosingSigned>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for ClosingSigned {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeClosingSigned>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for UpdateAddHTLC {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeUpdateAddHTLC>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for UpdateAddHTLC {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeUpdateAddHTLC>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for UpdateFulfillHTLC {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeUpdateFulfillHTLC>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for UpdateFulfillHTLC {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeUpdateFulfillHTLC>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for UpdateFailHTLC {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeUpdateFailHTLC>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for UpdateFailHTLC {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeUpdateFailHTLC>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for UpdateFailMalformedHTLC {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeUpdateFailMalformedHTLC>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for UpdateFailMalformedHTLC {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeUpdateFailMalformedHTLC>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for CommitmentSigned {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeCommitmentSigned>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for CommitmentSigned {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeCommitmentSigned>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for RevokeAndACK {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeRevokeAndACK>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for RevokeAndACK {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeRevokeAndACK>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for UpdateFee {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeUpdateFee>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for UpdateFee {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeUpdateFee>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for DataLossProtect {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeDataLossProtect>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for DataLossProtect {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeDataLossProtect>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for ChannelReestablish {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeChannelReestablish>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for ChannelReestablish {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeChannelReestablish>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for AnnouncementSignatures {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeAnnouncementSignatures>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for AnnouncementSignatures {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeAnnouncementSignatures>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for UnsignedNodeAnnouncement {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeUnsignedNodeAnnouncement>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for UnsignedNodeAnnouncement {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeUnsignedNodeAnnouncement>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for NodeAnnouncement {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeNodeAnnouncement>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for NodeAnnouncement {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeNodeAnnouncement>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for UnsignedChannelAnnouncement {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeUnsignedChannelAnnouncement>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for UnsignedChannelAnnouncement {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeUnsignedChannelAnnouncement>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for ChannelAnnouncement {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeChannelAnnouncement>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for ChannelAnnouncement {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeChannelAnnouncement>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for UnsignedChannelUpdate {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeUnsignedChannelUpdate>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for UnsignedChannelUpdate {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeUnsignedChannelUpdate>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for ChannelUpdate {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeChannelUpdate>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for ChannelUpdate {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeChannelUpdate>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for QueryChannelRange {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeQueryChannelRange>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for QueryChannelRange {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeQueryChannelRange>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for ReplyChannelRange {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeReplyChannelRange>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for ReplyChannelRange {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeReplyChannelRange>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for QueryShortChannelIds {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeQueryShortChannelIds>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for QueryShortChannelIds {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeQueryShortChannelIds>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for ReplyShortChannelIdsEnd {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeReplyShortChannelIdsEnd>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for ReplyShortChannelIdsEnd {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeReplyShortChannelIdsEnd>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for GossipTimestampFilter {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeGossipTimestampFilter>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for GossipTimestampFilter {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeGossipTimestampFilter>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for LightningError {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeLightningError>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for LightningError {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeLightningError>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
impl Drop for CommitmentUpdate {
fn drop(&mut self) {
- if self.is_owned && !self.inner.is_null() {
+ if self.is_owned && !<*mut nativeCommitmentUpdate>::is_null(self.inner) {
let _ = unsafe { Box::from_raw(self.inner) };
}
}
impl Clone for CommitmentUpdate {
fn clone(&self) -> Self {
Self {
- inner: if self.inner.is_null() { std::ptr::null_mut() } else {
+ inner: if <*mut nativeCommitmentUpdate>::is_null(self.inner) { std::ptr::null_mut() } else {
Box::into_raw(Box::new(unsafe { &*self.inner }.clone())) },
is_owned: true,
}
/// Handle an incoming funding_locked message from the given peer.
pub handle_funding_locked: extern "C" fn (this_arg: *const c_void, their_node_id: crate::c_types::PublicKey, msg: &crate::ln::msgs::FundingLocked),
/// Handle an incoming shutdown message from the given peer.
- pub handle_shutdown: extern "C" fn (this_arg: *const c_void, their_node_id: crate::c_types::PublicKey, msg: &crate::ln::msgs::Shutdown),
+ pub handle_shutdown: extern "C" fn (this_arg: *const c_void, their_node_id: crate::c_types::PublicKey, their_features: &crate::ln::features::InitFeatures, msg: &crate::ln::msgs::Shutdown),
/// Handle an incoming closing_signed message from the given peer.
pub handle_closing_signed: extern "C" fn (this_arg: *const c_void, their_node_id: crate::c_types::PublicKey, msg: &crate::ln::msgs::ClosingSigned),
/// Handle an incoming update_add_htlc message from the given peer.
fn handle_funding_locked(&self, their_node_id: &bitcoin::secp256k1::key::PublicKey, msg: &lightning::ln::msgs::FundingLocked) {
(self.handle_funding_locked)(self.this_arg, crate::c_types::PublicKey::from_rust(&their_node_id), &crate::ln::msgs::FundingLocked { inner: unsafe { (msg as *const _) as *mut _ }, is_owned: false })
}
- fn handle_shutdown(&self, their_node_id: &bitcoin::secp256k1::key::PublicKey, msg: &lightning::ln::msgs::Shutdown) {
- (self.handle_shutdown)(self.this_arg, crate::c_types::PublicKey::from_rust(&their_node_id), &crate::ln::msgs::Shutdown { inner: unsafe { (msg as *const _) as *mut _ }, is_owned: false })
+ fn handle_shutdown(&self, their_node_id: &bitcoin::secp256k1::key::PublicKey, their_features: &lightning::ln::features::InitFeatures, msg: &lightning::ln::msgs::Shutdown) {
+ (self.handle_shutdown)(self.this_arg, crate::c_types::PublicKey::from_rust(&their_node_id), &crate::ln::features::InitFeatures { inner: unsafe { (their_features as *const _) as *mut _ }, is_owned: false }, &crate::ln::msgs::Shutdown { inner: unsafe { (msg as *const _) as *mut _ }, is_owned: false })
}
fn handle_closing_signed(&self, their_node_id: &bitcoin::secp256k1::key::PublicKey, msg: &lightning::ln::msgs::ClosingSigned) {
(self.handle_closing_signed)(self.this_arg, crate::c_types::PublicKey::from_rust(&their_node_id), &crate::ln::msgs::ClosingSigned { inner: unsafe { (msg as *const _) as *mut _ }, is_owned: false })