Interface Confirm.ConfirmInterface

  • Enclosing class:
    Confirm

    public static interface Confirm.ConfirmInterface
    • Method Detail

      • transactions_confirmed

        void transactions_confirmed​(byte[] header,
                                    TwoTuple_usizeTransactionZ[] txdata,
                                    int height)
        Notifies LDK of transactions confirmed in a block with a given header and height. Must be called for any transactions registered by [`Filter::register_tx`] or any transactions spending an output registered by [`Filter::register_output`]. Such transactions appearing in the same block do not need to be included in the same call; instead, multiple calls with additional transactions may be made so long as they are made in [chain order]. May be called before or after [`best_block_updated`] for the corresponding block. However, in the event of a chain reorganization, it must not be called with a `header` that is no longer in the chain as of the last call to [`best_block_updated`]. [chain order]: Confirm#order [`best_block_updated`]: Self::best_block_updated
      • transaction_unconfirmed

        void transaction_unconfirmed​(byte[] txid)
        Notifies LDK of a transaction that is no longer confirmed as result of a chain reorganization. Must be called for any transaction returned by [`get_relevant_txids`] if it has been reorganized out of the best chain or if it is no longer confirmed in the block with the given block hash. Once called, the given transaction will not be returned by [`get_relevant_txids`], unless it has been reconfirmed via [`transactions_confirmed`]. [`get_relevant_txids`]: Self::get_relevant_txids [`transactions_confirmed`]: Self::transactions_confirmed
      • best_block_updated

        void best_block_updated​(byte[] header,
                                int height)
        Notifies LDK of an update to the best header connected at the given height. Must be called whenever a new chain tip becomes available. May be skipped for intermediary blocks.
      • get_relevant_txids

        TwoTuple_TxidBlockHashZ[] get_relevant_txids()
        Returns transactions that must be monitored for reorganization out of the chain along with the hash of the block as part of which it had been previously confirmed. Note that the returned `Option` might be `None` for channels created with LDK 0.0.112 and prior, in which case you need to manually track previous confirmations. Will include any transactions passed to [`transactions_confirmed`] that have insufficient confirmations to be safe from a chain reorganization. Will not include any transactions passed to [`transaction_unconfirmed`], unless later reconfirmed. Must be called to determine the subset of transactions that must be monitored for reorganization. Will be idempotent between calls but may change as a result of calls to the other interface methods. Thus, this is useful to determine which transactions must be given to [`transaction_unconfirmed`]. If any of the returned transactions are confirmed in a block other than the one with the given hash, they need to be unconfirmed and reconfirmed via [`transaction_unconfirmed`] and [`transactions_confirmed`], respectively. [`transactions_confirmed`]: Self::transactions_confirmed [`transaction_unconfirmed`]: Self::transaction_unconfirmed