dcrd/txscript
Dave Collins f5dc86e9cc
txscript: Remove verify minimal data flag.
This removes the ScriptVerifyMinimalData flag from the txscript package,
changes the default semantics to always enforce its behavior, and
updates all callers in the repository accordingly.

This change is being made to simplify the script engine code since the
flag has always been active and required by consensus in Decred, so
there is no need to require a flag to conditionally toggle it.

It should be noted that the tests removed from script_tests.json
specifically dealt with ensuring equivalency of different ways to encode
the same numbers when the ScriptVerifyMinimalData flag is not set.
Therefore, they are no longer necessary.

A few tests which dealt with equivalency that did not already have
expected failing counterparts were converted to expected failure.

Also, several of the tests which dealt with ensuring the specific
encoding of numeric opcodes is being used have been converted to use
hashes since the minimal data requirements specifically prevent
alternate ways of pushing the same encoding which is necessary for
directly checking equality of the raw bytes.

Finally, the MINIMALDATA indicator to enable the flag in the test data
has been retained for now in order to isolate the logic changes as much
as possible.
2018-07-02 12:02:59 -05:00
..
data txscript: Remove verify minimal data flag. 2018-07-02 12:02:59 -05:00
bench_test.go txscript: Add benchmark for sighash calculation. 2018-05-01 08:51:38 -05:00
consensus_test.go multi: Break coinbase dep on standardness rules. 2018-05-08 12:49:40 -05:00
consensus.go txscript: Significantly improve errors. 2018-07-01 15:04:59 -05:00
doc.go txscript: Significantly improve errors. 2018-07-01 15:04:59 -05:00
engine_test.go txscript: Remove DER signature verification flag. 2018-07-02 12:02:28 -05:00
engine.go txscript: Remove verify minimal data flag. 2018-07-02 12:02:59 -05:00
error_test.go txscript: Remove pay-to-script-hash flag. 2018-07-02 12:01:42 -05:00
error.go txscript: Remove pay-to-script-hash flag. 2018-07-02 12:01:42 -05:00
example_test.go txscript: Remove DER signature verification flag. 2018-07-02 12:02:28 -05:00
go.mod multi: Define vgo modules. 2018-05-25 15:38:16 -05:00
go.modverify multi: Define vgo modules. 2018-05-25 15:38:16 -05:00
log.go multi: Replace btclog with slog. 2018-05-23 14:22:10 -05:00
opcode_test.go txscript: Remove verify minimal data flag. 2018-07-02 12:02:59 -05:00
opcode.go txscript: Remove verify minimal data flag. 2018-07-02 12:02:59 -05:00
README.md multi: Properly capitalize Decred. 2018-03-01 17:41:35 -06:00
reference_test.go txscript: Remove verify minimal data flag. 2018-07-02 12:02:59 -05:00
script_test.go txscript: Significantly improve errors. 2018-07-01 15:04:59 -05:00
script.go txscript: Significantly improve errors. 2018-07-01 15:04:59 -05:00
scriptbuilder_test.go txscript: Significantly improve errors. 2018-07-01 15:04:59 -05:00
scriptbuilder.go txscript: Significantly improve errors. 2018-07-01 15:04:59 -05:00
scriptnum_test.go txscript: Significantly improve errors. 2018-07-01 15:04:59 -05:00
scriptnum.go txscript: Significantly improve errors. 2018-07-01 15:04:59 -05:00
sigcache_test.go multi: Upstream chainhash abstraction sync 2016-11-16 12:48:40 -06:00
sigcache.go multi: release the mutex earlier 2018-02-13 13:55:02 -06:00
sighash_test.go txscript: Decouple and optimize sighash calc. 2018-05-01 08:51:41 -05:00
sighash.go txscript: Significantly improve errors. 2018-07-01 15:04:59 -05:00
sign_test.go txscript: Remove DER signature verification flag. 2018-07-02 12:02:28 -05:00
sign.go travis: add ineffassign linter 2017-12-01 09:14:04 -05:00
stack_test.go txscript: Remove verify minimal data flag. 2018-07-02 12:02:59 -05:00
stack.go txscript: Remove verify minimal data flag. 2018-07-02 12:02:59 -05:00
standard_test.go txscript: Significantly improve errors. 2018-07-01 15:04:59 -05:00
standard.go txscript: Significantly improve errors. 2018-07-01 15:04:59 -05:00

txscript

Build Status ISC License GoDoc

Package txscript implements the Decred transaction script language. There is a comprehensive test suite.

This package has intentionally been designed so it can be used as a standalone package for any projects needing to use or validate Decred transaction scripts.

Decred Scripts

Decred provides a stack-based, FORTH-like language for the scripts in the Decred transactions. This language is not turing complete although it is still fairly powerful.

Installation and Updating

$ go get -u github.com/decred/dcrd/txscript

Examples

License

Package txscript is licensed under the copyfree ISC License.