What changed, and why it matters
This commit fixes a trivial typo in a documentation file. The phrase 'pops a pops a' was corrected to 'pops a'. There is no code change and no security impact.
Recommended action
No action required. This is a documentation typo fix with no security relevance.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The change is a single-character/word correction in doc/tapscript_opcodes.md, removing a duplicated ‘pops a’ in the description of OP_SHA256FINALIZE. No source code, consensus logic, script execution, or cryptographic behavior is modified.
Changed components
doc/tapscript_opcodes.mdInspect captured patch +1 / −1
diff --git a/doc/tapscript_opcodes.md b/doc/tapscript_opcodes.md
index 7e673e1..7e365d4 100644
--- a/doc/tapscript_opcodes.md
+++ b/doc/tapscript_opcodes.md
@@ -17,7 +17,7 @@ Taproot already increases a lot of resource limitations from segwitv0, so there
1. **Streaming Opcodes for streaming hashes**: There is an existing limitation of `MAX_SCRIPT_ELEMENT_SIZE`(520 bytes) because of which we cannot operate hash functions like `OP_SHA256` on messages more than 520 bytes. This allows hashing on more than 520 bytes while still preserving the existing security against resource exhaustion attacks. The proposal for this by Russell O'Connor can be found in the description [here](https://github.com/ElementsProject/elements/pull/817).
1. Define `OP_SUCCESS196` as `OP_SHA256INITIALIZE` which pops a bytestring and push SHA256 context creating by adding the bytestring to the initial SHA256 context.
1. Define `OP_SUCCESS197` as `OP_SHA256UPDATE` which first pops a bytestring followed by another pop for SHA256 context and pushes an updated context by adding the bytestring to the data stream being hashed.
- 1. Define `OP_SUCCESS198` as `OP_SHA256FINALIZE` which first pops a pops a bytestring followed by another pop for SHA256 context and finally pushes a SHA256 hash value after adding the bytestring and completing the padding.
+ 1. Define `OP_SUCCESS198` as `OP_SHA256FINALIZE` which first pops a bytestring followed by another pop for SHA256 context and finally pushes a SHA256 hash value after adding the bytestring and completing the padding.
2. **Transaction Introspection codes**: Transaction introspection is already possible in elements script by use of `OP_CHECKSIGFROMSTACKVERIFY`, however the current solutions are really expensive in applications like [covenants](https://github.com/sanket1729/covenants-demo). Therefore, we are not adding any new functionality by supporting introspection, only making it easier to use. The warning still remains the same as with covenants, if the user is inspecting data from parts of the transaction that are not signed, the script can cause unexpected behavior.
Risk score
Our methodology →Why this scored 15/100
Human-validated context
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
No validated notes yet.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.