This modifies the entire repository to use the new formatting of doc comments in the upcoming Go 1.19 release. The primary motivating factors for this are: - Builds check that files are formatted per gofmt and that will no longer be true as of Go 1.19 without these changes - Separating all the updates into a single commit ensures these documentation only formatting changes do not clutter up diffs that actually change code For the most part, the changes are just the automated changes suggested by the Go 1.19 version of gofmt, but there are also a few cases where the comments were reworded a bit to play nicely with the new formatting requirements. For example, the new version of gofmt reformats and collapses nested lists where as the existing version does not. Thus, instances of nested lists have been changed to either eliminate them or use mixed markers which produce expect results.
40 lines
1.7 KiB
Go
40 lines
1.7 KiB
Go
// Copyright (c) 2013-2017 The btcsuite developers
|
|
// Copyright (c) 2015-2022 The Decred developers
|
|
// Use of this source code is governed by an ISC
|
|
// license that can be found in the LICENSE file.
|
|
|
|
/*
|
|
Package txscript implements the Decred transaction script language.
|
|
|
|
This package provides data structures and functions to parse and execute
|
|
decred transaction scripts.
|
|
|
|
# Script Overview
|
|
|
|
Decred transaction scripts are written in a stack-base, FORTH-like language.
|
|
|
|
The Decred script language consists of a number of opcodes which fall into
|
|
several categories such pushing and popping data to and from the stack,
|
|
performing basic and bitwise arithmetic, conditional branching, comparing
|
|
hashes, and checking cryptographic signatures. Scripts are processed from left
|
|
to right and intentionally do not provide loops.
|
|
|
|
The vast majority of Decred scripts at the time of this writing are of several
|
|
standard forms which consist of a spender providing a public key and a signature
|
|
which proves the spender owns the associated private key. This information
|
|
is used to prove the spender is authorized to perform the transaction.
|
|
|
|
One benefit of using a scripting language is added flexibility in specifying
|
|
what conditions must be met in order to spend decred.
|
|
|
|
# Errors
|
|
|
|
Errors returned by this package are of type txscript.ErrorKind wrapped by
|
|
txscript.Error which has full support for the standard library errors.Is and
|
|
errors.As functions. This allows the caller to programmatically determine the
|
|
specific error while still providing rich error messages with contextual
|
|
information. See the constants defined with ErrorKind in the package
|
|
documentation for a full list.
|
|
*/
|
|
package txscript
|