BREAKING CHANGES
priv.PubKey()
no longer returns an error. Any applicable errors (such as when fetching the public key from a hardware wallet) should be checked and returned when constructing the private key.
BREAKING CHANGES
- ed25519 addresses use 20-byte truncated sha256 instead of ripemd160 (#112)
SignatureKey
->Signature
in Amino name (#110)- Return error on
privkey.Sign()
andprivkey.Pubkey()
(#117) - [merkle] Unexpose KVPair
- [merkle] SimpleProofsFromMap returns ordered keys (#115)
- [merkle] Don't hash the key in SimpleHashFromMap
FEATURE
- rework API to work with local and external keys (offline, HW wallets, and Ledger) (#117)
May 30th, 2018
BREAKING CHANGES
No breaking changes compared to 0.6.2, but making up for the version bump that should have happened in 0.6.1.
We also bring in the tmlibs/merkle
package with breaking changes:
- change the hash function from RIPEMD160 to tmhash (first 20-bytes of SHA256)
- remove unused funcs and unexport SimpleMap
FEATURES
- [xchacha20poly1305] New authenticated encryption module
- [merkle] Moved in from tmlibs
- [merkle/tmhash] New hash function: the first 20-bytes of SHA256
IMPROVEMENTS
- Remove some dead code
- Use constant-time compare for signatures
BUG FIXES
- Fix MixEntropy weakness
- Fix PrivKeyEd25519.Generate()
IMPROVEMENTS
- Update for latest go-amino
BREAKING CHANGES
- Encoding uses MarshalBinaryBare rather than MarshalBinary (which auto-length-prefixes) for pub/priv/sig.
BREAKING CHANGES
- Update Amino names from "com.tendermint/..." to "tendermint/"
BREAKING CHANGES
- nano: moved to
_nano
now while we're having build issues - bcrypt: moved to
keys/bcrypt
- hd: moved to
keys/hd
;BTC
added to some function names; other function cleanup - keys/cryptostore: moved to
keys
, renamed tokeybase
, and completely refactored - keys: moved BIP39 related code to
keys/words
FEATURE
Address
is a type alias forcmn.HexBytes
BUG FIX
- PrivKey comparisons done in constant time
This release removes support for bcrypt as it was merged too soon without an upgrade plan for existing keys.
REVERTS THE FOLLOWING COMMITS:
- Parameterize and lower bcrypt cost - dfc4cdd2d71513e4a9922d679c74f36357c4c862
- Upgrade keys to use bcrypt with salts (#38) - 8e7f0e7701f92206679ad093d013b9b162427631
BREAKING CHANGES:
keys
: use bcrypt plus salt
FEATURES:
- add support for signing via Ledger Nano
IMPROVEMENTS:
- linting and comments
BREAKING CHANGES:
- Remove
cmd
andkeys/tx
packages altogether: move it to the cosmos-sdk cryptostore.Generator
takes a secret- Remove
String()
fromSignature
interface
FEATURES:
keys
: add CRC16 error correcting code
IMPROVEMENTS:
- Allow no passwords on keys for development convenience
- Improve keys command
- No password prompts in non-interactive mode (echo 'foobar' | keys new foo)
- Added support for seed phrases
- Seed phrase now returned on
keys new
- Add
keys restore
to restore private key from key phrase - Checksum to verify typos in the seed phrase (rather than just a useless key)
- Seed phrase now returned on
- Add
keys delete
to remove a key if needed
BREAKING CHANGES:
- [hd] The following functions no longer take a
coin string
as argument:ComputeAddress
,AddrFromPubKeyBytes
,ComputeAddressForPrivKey
,ComputeWIF
,WIFFromPrivKeyBytes
- Changes to
PrivKey
,PubKey
, andSignature
(denotedXxx
below):- interfaces are renamed
XxxInner
, and are not for use outside the package, though they must be exposed for sake of serialization. Xxx
is now a struct that wraps the correspondingXxxInner
interface
- interfaces are renamed
FEATURES:
github.com/tendermint/go-keys -> github.com/tendermint/go-crypto/keys
- command and lib for generating and managing encrypted keys- [hd] New function
WIFFromPrivKeyBytes(privKeyBytes []byte, compress bool) string
- Changes to
PrivKey
,PubKey
, andSignature
(denotedXxx
below):- Expose a new method
Unwrap() XxxInner
on theXxx
struct which returns the correspondingXxxInner
interface - Expose a new method
Wrap() Xxx
on theXxxInner
interface which returns the correspondingXxx
struct
- Expose a new method
IMPROVEMENTS:
- Update to use new
tmlibs
repository
Initial release