Skip to content

Releases: vulpemventures/go-elements

Issuance Transaction Hash

16 Jun 15:13
521a5fc
Compare
Choose a tag to compare
Issuance hash bug 170 (#171)

* added factory method FromPublicKeys for creating multiscript payment

* issuance hash bug

* refactor after review

PeginWitness check

09 Jun 13:46
e804765
Compare
Choose a tag to compare
Fix PeginWitness serialization (#168)

* go mod tidy

* add test for toHex serialization with peginWitness

* add check for peginWitness in anyWitnessInput

Pegin address and Claim

31 May 06:25
69bc2b8
Compare
Choose a tag to compare
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

20 Mar 23:41
35015e9
Compare
Choose a tag to compare
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 <pietro@vulpem.com>

Move to go-secp256k1-zkp v1.1.0

24 Nov 18:28
79d835d
Compare
Choose a tag to compare

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

20 Nov 13:45
158cf9c
Compare
Choose a tag to compare

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 functions DecodeType and ToOutputScript.

Blinding verification & Improvements

17 Nov 16:53
c9c23e4
Compare
Choose a tag to compare

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:

  • Amounts are always expressed as uint64 e477e50
  • Add validation of signatures 7152cdf
  • Add more transaction tests c1f750d
  • Add new methods to address pkg f8c2715
  • Methods for verifying a confidential transaction 31092ee, c9c23e4
  • Refactor of confidential pkg c9c23e4
  • Bug fixing and improvements

🔐 SLIP77 and Improvements

03 Jul 20:36
Compare
Choose a tag to compare

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 and AddOutput 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

09 Jun 16:07
b849d7f
Compare
Choose a tag to compare

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!

21 May 15:04
5be3e12
Compare
Choose a tag to compare
Pre-release

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 and bech32 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.