-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
txscript: backport tokenizer from dcrd #1684
Closed
cfromknecht
wants to merge
116
commits into
btcsuite:master
from
cfromknecht:txscript_zero_alloc_optimization_refactor
Closed
Changes from 1 commit
Commits
Show all changes
116 commits
Select commit
Hold shift + click to select a range
c5a193f
txscript: Add benchmark for CalcSignatureHash
davecgh d683492
txscript: Add benchmark for CalcWitnessSigHash
cfromknecht a93ee39
txscript: Add benchmark for script parsing.
davecgh fff82cf
txscript: Introduce zero-alloc script tokenizer.
davecgh cce880c
txscript: Add benchmark for DisasmString.
davecgh 1762107
txscript: Optimize script disasm.
davecgh 04ed404
txscript: Introduce raw script sighash calc func.
cfromknecht bcbf950
txscript: Optimize CalcSignatureHash.
davecgh 54fda7d
txscript/reference_test: Convert sighash calc test
cfromknecht b4abc15
txscript: Make isSmallInt accept raw opcode.
davecgh cd6f1f9
txscript: Make asSmallInt accept raw opcode.
davecgh 9846914
txscript: Add benchmark for IsPayToPubKey
davecgh 8ceea24
txscript: Optimize IsPayToPubKey
cfromknecht dff834b
txscript: Add benchmark for IsPayToPubKeyHash
cfromknecht e51d50a
txscript: Optimize IsPayToPubKeyHash
cfromknecht f75b1e2
txscript: Add benchmark for IsPayToScriptHash.
davecgh ff0fc4c
txscript: Optimize IsPayToScriptHash.
davecgh 086b4f1
txscript: Add benchmarks for IsMutlsigScript.
davecgh e0b8ade
txscript: Optimize IsMultisigScript.
davecgh d64dbbb
txscript: Add benchmarks for IsMutlsigSigScript.
davecgh 3cfdeca
txscript: Optimize IsMultisigSigScript.
davecgh 1f2afc1
txscript: Add benchmark for IsPushOnlyScript.
davecgh 29dcb83
txscript: Optimize IsPushOnlyScript.
davecgh c1d1b0e
txscript: Add benchmark IsPayToWitnessPubkeyHash
cfromknecht 344636f
txscript: Optimize IsPayToWitnessPubKeyHash
cfromknecht 58a2fa9
txscript: Add benchmark for IsPayToWitnessScriptHash
cfromknecht 5b69223
txscript: Optimize IsPayToWitnessScriptHash
cfromknecht 0ccd702
txscript: Add benchmark for IsNullData
davecgh eda642a
txscript: Optimize IsNullData
cfromknecht 75b614c
txscript: Add benchmark for IsUnspendable.
davecgh 6635382
txscript: Optimize IsUnspendable.
davecgh e726274
txscript/engine: Optimize new engine push only script
cfromknecht 2f4de13
txscript/engine: Use optimized IsPushOnlyScript
cfromknecht f676d32
txscript/engine: Use optimized isScriptHashScript
cfromknecht 3d352cd
txscript/engine: Check ps2h push before parsing script
cfromknecht 564681c
txscript: Add benchmark for GetSigOpCount.
davecgh 43624d9
txscript: Optimize GetSigOpCount.
davecgh 86f5907
txscript: Add benchmark for GetPreciseSigOpCount.
davecgh c747cc5
txscript: Optimize GetPreciseSigOpCount.
davecgh 931aab2
txscript: add GetWitnessSigOpCountBenchmarks
cfromknecht f3185ee
txscript: Optimize GetWitnessSigOpCount
cfromknecht ca395fe
txscript: Add benchmark for GetScriptClass.
davecgh e9d7686
txscript: Make typeOfScript accept raw script.
davecgh 5161238
txscript: Optimize typeOfScript pay-to-script-hash.
davecgh f4b4bfa
txscript: Remove unused isScriptHash function.
davecgh b1a191a
txscript: Optimize typeOfScript multisig.
davecgh b76572d
txscript: Remove unused isMultiSig function.
davecgh d8e3a4a
txscript: Optimze typeOfScript pay-to-pubkey
cfromknecht d165f48
txscript: Remove unused isPubkey function.
davecgh fe80899
txscript: Optimize typeOfScript pay-to-pubkey-hash.
davecgh bf287f5
txscript: Remove unused isPubkeyHash function.
davecgh 612f05c
txscript: Optimize typeOfScript for null data scripts
cfromknecht ddffa50
txscript: Remove unused isNullData function.
davecgh 7a471e0
txscript: Optimize typeOfScript witness-pubkey-hash
cfromknecht 7f10c29
txscript: Optimize typeOfScript for witness-script-hash
cfromknecht 7032bd5
txscript: Remove unused isWitnessScriptHash
cfromknecht 5c97e22
txscript: Convert CalcScriptInfo.
davecgh b933306
txscript: Remove unused isPushOnly function.
davecgh fae615d
txscript: Remove unused getSigOpCount function.
davecgh 1df85f4
txscript: Optimize CalcMultiSigStats.
davecgh 5079460
txscript: Add benchmark for PushedData.
davecgh d88103e
txscript: Optimize PushedData.
davecgh be38621
txscript: Make canonicalPush accept raw opcode.
davecgh 7e6b84c
txscript: Add ExtractAtomicSwapDataPushes benches.
davecgh ba0c48b
txscript/scriptnum: add maxscriptnum and maxcltvlength
cfromknecht bf39ad7
txscript: Optimize ExtractAtomicSwapDataPushes.
davecgh 3b8712d
txscript: Add ExtractPkScriptAddrs benchmarks.
davecgh 1adafa3
txscript: Optimize ExtractPkScriptAddrs scripthash.
davecgh 7aaa28a
txscript: Optimize ExtractPkScriptAddrs pubkeyhash.
davecgh 76a2d2b
txscript: Optimize ExtractPkScriptAddrs pubkey.
davecgh 05388db
txscript: Optimize ExtractPkScriptAddrs multisig.
davecgh 5f9581d
txscript: Optimize ExtractPkScriptAddrs nulldata.
davecgh 57bef04
txscript: Optimize ExtractPkScriptAddrs witness pubkey hash
cfromknecht d17add5
txscript: Optimize ExtractPkScriptAddrs witness script hash
cfromknecht c1f8d30
txscript: Optimize ExtractPkScriptAddr assume non-standard if no success
cfromknecht cbc3a2e
txscript: Optimize IsWitnessProgram
cfromknecht 6702a2b
txscript: Return witness version and program in one pass
cfromknecht f0b3095
txscript: Use internal analysis methods for GetWitnessSigOpCount
cfromknecht 5c56138
txscript: Optimize ExtractWitnessProgramInfo
cfromknecht 8170896
txscript: mergeMultiSig function def order cleanup.
davecgh b280be1
txscript: Introduce calcWitnessSignatureHashRaw
cfromknecht bfc2a3e
txscript: Remove unused isWitnessPubKeyHash
cfromknecht 5aa00f7
txscript: Use optimized calcWitnessSignatureHashRaw w/o parsing
cfromknecht 01f8aec
txscript: Use raw scripts in SignTxOutput.
davecgh 1200b05
txscript: Implement efficient opcode data removal.
davecgh 897c0ec
txscript: Optimize removeOpcodeRaw
cfromknecht 3337741
txscript: Remove unused removeOpcode
cfromknecht 9351643
txscript: Use removeOpcodeRaw for CODESEP in calcSigHash
cfromknecht a3d3df3
txscript: Make isDisabled accept raw opcode.
davecgh 6bdd5c0
txscript: Make alwaysIllegal accept raw opcode.
davecgh 84bf89a
txscript: Make isConditional accept raw opcode.
davecgh f2ab844
txscript: Make min push accept raw opcode and data.
davecgh 2258e94
txscript: Convert to use non-parsed opcode disasm.
davecgh 3f1788f
txscript: Refactor engine to use raw scripts.
davecgh 215269d
txscript: Remove unused calcSignatureHash
cfromknecht 4091cd0
txscript: Remove unused isWitnessProgram
cfromknecht 79d106e
txscript: Remove unused removeOpcodeByData func.
davecgh afa1d5a
txscript: Rename removeOpcodeByDataRaw func.
davecgh 97a1f61
txscript: Rename calcSignatureHashRaw
cfromknecht 1442714
txscript/sign: Use calcWitnessSigHashRaw for witness sigs
cfromknecht 83375f1
txscript/pkscript: Use finalOpcodeData to extract redeem script
cfromknecht 1b571f6
txscript: Remove unused parseScript func.
davecgh 11f1857
txscript: Remove unused calcWitnessSignatureHash
cfromknecht d16fd9f
txscript: Remove unused unparseScript func.
davecgh f535e04
txscript: Remove unused parsedOpcode.bytes func.
davecgh 56c26d1
txscript: Remove unused parseScriptTemplate func.
davecgh 1cdaaf3
txscript: Make executeOpcode take opcode and data.
davecgh 398da74
txscript: Make op callbacks take opcode and data.
davecgh a7e0771
fixup! txscript: Optimize GetSigOpCount.
cfromknecht 7b69471
fixup! txscript/reference_test: Convert sighash calc test
cfromknecht ef59254
fixup! txscript: Optimize IsPayToWitnessPubKeyHash
cfromknecht 60ab922
fixup! txscript: Optimize IsPayToWitnessScriptHash
cfromknecht 563521d
fixup! txscript: Optimize IsPayToPubKey
cfromknecht e095ea8
fixup! txscript: Optimize IsPayToWitnessPubKeyHash
cfromknecht 81013ff
fixup! txscript: Optimize IsPayToWitnessScriptHash
cfromknecht a6ce226
fixup! txscript: Optimize IsPayToPubKey
cfromknecht File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note to self to verify this change independently on my end.