Releases: vulpemventures/go-elements
Issuance Transaction Hash
Issuance hash bug 170 (#171) * added factory method FromPublicKeys for creating multiscript payment * issuance hash bug * refactor after review
PeginWitness check
Fix PeginWitness serialization (#168) * go mod tidy * add test for toHex serialization with peginWitness * add check for peginWitness in anyWitnessInput
Pegin address and Claim
Claim pegin (#165) * added factory method FromPublicKeys for creating multiscript payment * merkle tree v1-unstable * invalid peg-in tx, wip * refactor after review * first working claim-pegin version * skipping test since it requires nigiri * comments, test fix * removing todos
Asset and Amount Blinders
Blind outputs with blinders (#152) * export Blinder * Blind with blinders * MakeFile * blindreissuance test does not pass * WIP - blind outputs * disable caching in make test * random generator inside outputs loop * use BlindingData struct instead of pointers * log * add ci.yml * name in blinder.go * does not crawl all outputs when set the commitments/nonce * use make test in travis.yml * Sort ouput indexes before blinding * blinder factory using outputs to pub key map * add test case 1 conf output + 1 unconf output * export Blinder struct * drop NewBlinderByIndex * NewBlinderByIndex = NewBlinder Co-authored-by: altafan <[email protected]>
Move to go-secp256k1-zkp v1.1.0
This contains changes to use the latest version of go-secp256k1-zkp (v1.1.0 - 0d0930e1) that fixes the bug that was affecting the surjection proof's verification.
USAGE
$ go get github.com/vulpemventures/go-elements@latest
Support for reissuance transactions & Improvements
This release adds support for crafting transactions containing re-issuances of already minted assets to the pset
package.
It also makes the elementsutil
package importable into other projects by moving it outside the internal
directory and contains minor improvements for other packages.
USAGE
$ go get github.com/vulpemventures/go-elements@latest
CHANGELOG
- Pset/Transaction: support for re-issuance transactions.
- Elementsutil: move the package outside of the internal directory.
- Tests: add missing test for pset's AddIssuace, add tests for AddReissuance and refactor of integration tests to increase readability.
- Address: add
IsConfidential
method and remove network from args of functionsDecodeType
andToOutputScript
.
Blinding verification & Improvements
This release adds useful methods for the user to verify a confidential transaction, and also to fix the blinder itself by verifying the proofs generated during the process of blinding.
Some handy method have been added to the address
package.
The confidential
package has been refactored, so it contains breaking changes (!!). The same applies for the pset
package.
Contains also several fixes to minor bugs, along with documentation and test improvements.
USAGE
$ go get github.com/vulpemventures/go-elements@latest
CHANGELOG:
🔐 SLIP77 and Improvements
This release introduces a slip77
package derivation scheme for blinding keys and fix and adds many improvements to blinding, pset, and some methods (not made for public usage) for issuance transactions.
USAGE
$ go get github.com/vulpemventures/go-elements@latest
CHANGELOG
- SLIP77 package
- Issuance: generation of entropy, asset hash and reissuance token hash
- Change RangeProof to expect a nonce instead of creating it
- Pset: Add
AddInput
andAddOutput
methods - Pset: method for adding a non-confidential issuance to a transaction
- Pset: support for also blinding transaction issuance inputs
- Add WitnessScript field in Payment and fix HashForSignature
- Minor fixes to confidential, internal and pset packages
🕵🏻♂️ Confidential all the things
This is the first release ready for production usage, now a user could make confidential transactions.
The library is to be considered alpha software, it could be buggish. Use at your own risks and not in production yet.
USAGE
$ go get github.com/vulpemventures/go-elements@latest
CHANGELOG
- Add native go support for
blech32
encoding - Add support for confidential legacy and segwit addresses
- Add
confidential
package for useful methods for blinding - Add Blinding role to
pset
package
👋 Hello Go-Elements!
In this first (alpha) release it's possible to use the go-elements
package to create, sign a non-confidential Elements transaction, valid to be broadcasted into an Elements-based blockchain.
The library is to be considered alpha software, it could be buggish. Use at your own risks and not in production yet.
CHANGELOG
- Add
base58
andbech32
encoding - Add Network parameters
- Add
Payment
abstraction to create Legacy Addresses, Wrapped and Native Segwit, and Multisignature as well. - Add
Transaction
abstraction to serialize/deserialize, add inputs and outputs and produce signature hashes for both legacy and segwit inputs. - Add PSET, Partial Signed Elements Transaction package to work with BIP174 compatible transactions.