From cff17ef2bdd5f22aa19c398bc1bfc3f7c9d2bedc Mon Sep 17 00:00:00 2001 From: Rob Woodgate Date: Wed, 3 Dec 2025 18:07:17 +0000 Subject: [PATCH 1/6] Adds optional P2PKWitness.digest --- 11.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/11.md b/11.md index 51baeddf..3c51c563 100644 --- a/11.md +++ b/11.md @@ -61,12 +61,15 @@ Signatures are stored in `P2PKWitness` objects and are provided in either each ` ```json { - "signatures": ]> + "signatures": ]>, + "digest": // Optional. } ``` The `signatures` are an array of signatures in hex and correspond to the signatures by one or more signing public keys. +To facilitate the signing of multi-party `SIG_ALL` transactions, the SHA256 digest of the message to be signed can be stored in the optional `P2PKWitness.digest` of the `Proof` to be signed. Wallets SHOULD sign a `SIG_ALL` proof over this digest, if present, and ignore it entirely for `SIG_INPUTS` proofs. + ## Tags More complex spending conditions can be defined in the tags in `Secret.tags`. All tags are optional. Tags are arrays with two or more strings being `["key", "value1", "value2", ...]`. We denote a specific tag in a proof by its `key`. From e76e22bdfe0770bab688c2d13f7beeaafc9add71 Mon Sep 17 00:00:00 2001 From: Rob Woodgate Date: Thu, 4 Dec 2025 00:24:10 +0000 Subject: [PATCH 2/6] Added witness.mts for flexibility --- 11.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/11.md b/11.md index 3c51c563..a0c12841 100644 --- a/11.md +++ b/11.md @@ -63,6 +63,7 @@ Signatures are stored in `P2PKWitness` objects and are provided in either each ` { "signatures": ]>, "digest": // Optional. + "mts": , // Optional. } ``` @@ -70,6 +71,10 @@ The `signatures` are an array of signatures in hex and correspond to the signatu To facilitate the signing of multi-party `SIG_ALL` transactions, the SHA256 digest of the message to be signed can be stored in the optional `P2PKWitness.digest` of the `Proof` to be signed. Wallets SHOULD sign a `SIG_ALL` proof over this digest, if present, and ignore it entirely for `SIG_INPUTS` proofs. +In cases where `SIG_ALL` signers require detailed information about the inputs and outputs (eg: where there are multiple receivers), the plain text _message to sign_ can be stored in the `P2PKWitness.mts` of the `Proof` to be signed. Wallets **MUST** sign a `SIG_ALL` proof over the SHA256 of this message. if present, and ignore it entirely for `SIG_INPUTS` proofs. + +If both `digest` and `mts` are included, a wallet SHOULD use the `mts` and IGNORE the `digest`, or MUST validate the `digest` matches the `SHA256(mts)` before using it. + ## Tags More complex spending conditions can be defined in the tags in `Secret.tags`. All tags are optional. Tags are arrays with two or more strings being `["key", "value1", "value2", ...]`. We denote a specific tag in a proof by its `key`. From 6d6a5f24a7329e2e6fc13ff06dda0950a1a75d10 Mon Sep 17 00:00:00 2001 From: Rob Woodgate Date: Fri, 9 Jan 2026 15:56:29 +0000 Subject: [PATCH 3/6] Update 11.md Fix misplaced comma Co-authored-by: SatsAndSports --- 11.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/11.md b/11.md index a0c12841..dd706841 100644 --- a/11.md +++ b/11.md @@ -62,8 +62,8 @@ Signatures are stored in `P2PKWitness` objects and are provided in either each ` ```json { "signatures": ]>, - "digest": // Optional. - "mts": , // Optional. + "digest": , // Optional. + "mts": // Optional. } ``` From 91cbd4e0eb3dbb8bd0ea1f95b9fdcc147de95445 Mon Sep 17 00:00:00 2001 From: Rob Woodgate Date: Mon, 12 Jan 2026 09:17:26 +0000 Subject: [PATCH 4/6] Adds note that mts and digest should be removed before sending to mint --- 11.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/11.md b/11.md index dd706841..48b6f57e 100644 --- a/11.md +++ b/11.md @@ -75,6 +75,8 @@ In cases where `SIG_ALL` signers require detailed information about the inputs a If both `digest` and `mts` are included, a wallet SHOULD use the `mts` and IGNORE the `digest`, or MUST validate the `digest` matches the `SHA256(mts)` before using it. +Wallets SHOULD remove the `digest` and `mts` before sending to proofs to the mint. + ## Tags More complex spending conditions can be defined in the tags in `Secret.tags`. All tags are optional. Tags are arrays with two or more strings being `["key", "value1", "value2", ...]`. We denote a specific tag in a proof by its `key`. From 784607d524ca790569facec1d6031a13ba7254a4 Mon Sep 17 00:00:00 2001 From: Rob Woodgate Date: Tue, 13 Jan 2026 08:57:06 +0000 Subject: [PATCH 5/6] Punctuation fix Co-authored-by: SatsAndSports --- 11.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/11.md b/11.md index 48b6f57e..2eff9147 100644 --- a/11.md +++ b/11.md @@ -71,7 +71,7 @@ The `signatures` are an array of signatures in hex and correspond to the signatu To facilitate the signing of multi-party `SIG_ALL` transactions, the SHA256 digest of the message to be signed can be stored in the optional `P2PKWitness.digest` of the `Proof` to be signed. Wallets SHOULD sign a `SIG_ALL` proof over this digest, if present, and ignore it entirely for `SIG_INPUTS` proofs. -In cases where `SIG_ALL` signers require detailed information about the inputs and outputs (eg: where there are multiple receivers), the plain text _message to sign_ can be stored in the `P2PKWitness.mts` of the `Proof` to be signed. Wallets **MUST** sign a `SIG_ALL` proof over the SHA256 of this message. if present, and ignore it entirely for `SIG_INPUTS` proofs. +In cases where `SIG_ALL` signers require detailed information about the inputs and outputs (eg: where there are multiple receivers), the plain text _message to sign_ can be stored in the `P2PKWitness.mts` of the `Proof` to be signed. Wallets **MUST** sign a `SIG_ALL` proof over the SHA256 of this message, if present, and ignore it entirely for `SIG_INPUTS` proofs. If both `digest` and `mts` are included, a wallet SHOULD use the `mts` and IGNORE the `digest`, or MUST validate the `digest` matches the `SHA256(mts)` before using it. From c7681b34fb971534fdf563edb3ee4d3d06af1200 Mon Sep 17 00:00:00 2001 From: Rob Woodgate Date: Tue, 13 Jan 2026 08:57:43 +0000 Subject: [PATCH 6/6] Typo fix Co-authored-by: SatsAndSports --- 11.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/11.md b/11.md index 2eff9147..bef7d88c 100644 --- a/11.md +++ b/11.md @@ -75,7 +75,7 @@ In cases where `SIG_ALL` signers require detailed information about the inputs a If both `digest` and `mts` are included, a wallet SHOULD use the `mts` and IGNORE the `digest`, or MUST validate the `digest` matches the `SHA256(mts)` before using it. -Wallets SHOULD remove the `digest` and `mts` before sending to proofs to the mint. +Wallets SHOULD remove the `digest` and `mts` before sending the proofs to the mint. ## Tags