dcrd/txscript
Dave Collins 56219b2ef8
secp256k1: Make private key opaque.
This modifies the PrivateKey type to be opaque and updates the internal
implementation of it to use the new ModNScalar type instead of a
big.Int.

It also modifies NewPrivateKey to accept the new ModNScalar type instead
of a big.Int and improves the PrivKeyFromBytes comment to explicitly
call out the semantics that realistically already existed when using the
value in calculations.

It is also worth noting that there are still a couple of internal
conversions to big.Int when dealing with signatures that are required
since that code still relies on them for now.  The goal is to eventually
update them to use the more efficient specialized types and this change
help facilitate that process.
2020-02-18 23:17:55 -06:00
..
data multi: Correct typos. 2019-08-16 17:37:58 -05:00
bench_test.go txscript: Use dcrutil/v2. 2019-06-24 15:13:39 -05:00
consensus_test.go multi: Break coinbase dep on standardness rules. 2018-05-08 12:49:40 -05:00
consensus.go blockchain: Do coinbase nulldata check locally. 2019-06-19 13:26:33 -05:00
doc.go multi: Correct typos. 2019-08-16 17:37:58 -05:00
engine_test.go multi: remove whitespace 2019-11-21 18:31:30 -06:00
engine.go txscript: Don't use GetScriptClass in consensus. 2020-02-13 15:45:07 -06:00
error_test.go txscript: Introduce zero-alloc script tokenizer. 2019-03-26 14:50:56 -05:00
error.go multi: Correct typos. 2019-08-22 10:20:03 -05:00
example_test.go secp256k1: Make private key independent type. 2020-02-10 22:40:34 -06:00
go.mod multi: Round 4 prerel module release ver updates. 2020-02-14 22:55:06 -06:00
go.sum chaincfg: Start v3 module dev cycle. 2020-01-29 13:24:14 -06:00
log.go txscript: Remove DisableLog. 2019-06-24 15:13:30 -05:00
opcode_test.go txscript: Make op callbacks take opcode and data. 2019-03-26 14:55:46 -05:00
opcode.go secp256k1: Start v3 module dev cycle. 2020-01-29 13:45:59 -06:00
README.md multi: replace godoc.org with pkg.go.dev 2020-02-18 19:35:19 -06:00
reference_test.go multi: remove whitespace 2019-11-21 18:31:30 -06:00
script_test.go multi: remove whitespace 2019-11-21 18:31:30 -06:00
script.go txscript: Don't use GetScriptClass in consensus. 2020-02-13 15:45:07 -06:00
scriptbuilder_test.go multi: remove whitespace 2019-11-21 18:31:30 -06:00
scriptbuilder.go txscript: code cleanup 2019-02-08 09:18:53 -05:00
scriptnum_test.go txscript: Remove script num require minimal flag. 2018-07-02 12:14:15 -05:00
scriptnum.go multi: remove whitespace 2019-11-21 18:31:30 -06:00
sigcache_test.go secp256k1: Make private key independent type. 2020-02-10 22:40:34 -06:00
sigcache.go secp256k1: Start v3 module dev cycle. 2020-01-29 13:45:59 -06:00
sighash_test.go txscript: Decouple and optimize sighash calc. 2018-05-01 08:51:41 -05:00
sighash.go multi: Correct typos. 2019-08-16 17:37:58 -05:00
sign_test.go secp256k1: Make private key opaque. 2020-02-18 23:17:55 -06:00
sign.go secp256k1: Make private key independent type. 2020-02-10 22:40:34 -06:00
stack_test.go multi: Correct typos. 2019-08-16 17:37:58 -05:00
stack.go txscript: code cleanup 2019-02-08 09:18:53 -05:00
standard_test.go secp256k1: Start v3 module dev cycle. 2020-01-29 13:45:59 -06:00
standard.go txscript: Remove unused isStakeOutput function. 2020-02-13 15:45:09 -06:00
tokenizer_test.go multi: Correct typos. 2019-08-16 17:37:58 -05:00
tokenizer.go multi: remove whitespace 2019-11-21 18:31:30 -06:00

txscript

Build Status ISC License Doc

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.