From 75efc3ae06ee1514115c42af3fee1d475927fcaa Mon Sep 17 00:00:00 2001 From: wiesche Date: Sat, 5 Sep 2026 12:00:58 +0200 Subject: [PATCH] document contract late locking --- doc/contracts.md | 2 ++ libwallet/src/contract/actions/README.md | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/contracts.md b/doc/contracts.md index 9c4107d..8e36745 100644 --- a/doc/contracts.md +++ b/doc/contracts.md @@ -39,6 +39,8 @@ Each party chooses `--min_conf` when it first joins and cannot change it later. is used for the fee estimate, so any required inputs need enough confirmations at that point. A value of `0` allows unconfirmed non-coinbase outputs. Open contracts do not reserve funds, so a late-locked contract can fail if another transaction spends the available outputs first. +Signing then returns `NotEnoughFunds`; revoke and recreate the contract, or use `--add-outputs` +when creating it to reserve inputs. `contract new --ttl_blocks N` stops contract signing after `N` blocks. Finalized transactions can still be posted afterward. diff --git a/libwallet/src/contract/actions/README.md b/libwallet/src/contract/actions/README.md index acc2e79..9adeeae 100644 --- a/libwallet/src/contract/actions/README.md +++ b/libwallet/src/contract/actions/README.md @@ -37,8 +37,6 @@ Separating side effects until the 'save_step' part would make these functions mu #### TODOs - - Reserve funds across open late-locked contracts, or make the possible signing failure - clearer to callers. - Raise the replacement fee when `revoke` races a transaction already in the mempool. - Merge invoice-proof retrieval with the existing payment-proof API. - Add a Grin node API for kernel lookup by MMR index, then use the witness index instead