Merge pull request #1050 from forbole/develop

fixed duplicate pub_key in stake.Validator
This commit is contained in:
Christopher Goes 2018-05-25 03:38:26 +02:00 committed by GitHub
commit 6bb27c1d99
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 133 additions and 123 deletions

View File

@ -3,12 +3,14 @@
## 0.18.1
BUG FIXES
* auto-sequencing transactions correctly
* query sequence via account store
* fixed duplicate pub_key in stake.Validator
## 0.18.0
*TBD*
_TBD_
BREAKING CHANGES
@ -51,7 +53,7 @@ BUG FIXES
## 0.17.2
*May 20, 2018*
_May 20, 2018_
Update to Tendermint v0.19.5 (reduce WAL use, bound the mempool and some rpcs, improve logging)
@ -118,6 +120,7 @@ FEATURES:
* Add more staking query functions: candidates, delegator-bonds
BUG FIXES
* Gaia now uses stake, ported from github.com/cosmos/gaia
## 0.15.1 (April 29, 2018)
@ -147,6 +150,7 @@ FEATURES:
* Add FeeHandler to ante handler
BUG FIXES
* MountStoreWithDB without providing a custom store works.
## 0.14.1 (April 9, 2018)
@ -253,6 +257,7 @@ IMPROVEMENTS
* [specs] Staking
BUG FIXES
* [x/auth] Fix setting pubkey on new account
* [x/auth] Require signatures to include the sequences
* [baseapp] Dont panic on nil handler
@ -351,29 +356,30 @@ Make lots of small cli fixes that arose when people were using the tools for
the testnet.
IMPROVEMENTS:
- basecoin
- `basecoin start` supports all flags that `tendermint node` does, such as
* basecoin
* `basecoin start` supports all flags that `tendermint node` does, such as
`--rpc.laddr`, `--p2p.seeds`, and `--p2p.skip_upnp`
- fully supports `--log_level` and `--trace` for logger configuration
- merkleeyes no longers spams the logs... unless you want it
- Example: `basecoin start --log_level="merkleeyes:info,state:info,*:error"`
- Example: `basecoin start --log_level="merkleeyes:debug,state:info,*:error"`
- basecli
- `basecli init` is more intelligent and only complains if there really was
* fully supports `--log_level` and `--trace` for logger configuration
* merkleeyes no longers spams the logs... unless you want it
* Example: `basecoin start --log_level="merkleeyes:info,state:info,*:error"`
* Example: `basecoin start --log_level="merkleeyes:debug,state:info,*:error"`
* basecli
* `basecli init` is more intelligent and only complains if there really was
a connected chain, not just random files
- support `localhost:46657` or `http://localhost:46657` format for nodes,
* support `localhost:46657` or `http://localhost:46657` format for nodes,
not just `tcp://localhost:46657`
- Add `--genesis` to init to specify chain-id and validator hash
- Example: `basecli init --node=localhost:46657 --genesis=$HOME/.basecoin/genesis.json`
- `basecli rpc` has a number of methods to easily accept tendermint rpc, and verifies what it can
* Add `--genesis` to init to specify chain-id and validator hash
* Example: `basecli init --node=localhost:46657 --genesis=$HOME/.basecoin/genesis.json`
* `basecli rpc` has a number of methods to easily accept tendermint rpc, and verifies what it can
BUG FIXES:
- basecli
- `basecli query account` accepts hex account address with or without `0x`
prefix
- gives error message when running commands on an unitialized chain, rather
than some unintelligable panic
* basecli
* `basecli query account` accepts hex account address with or without `0x`
prefix
* gives error message when running commands on an unitialized chain, rather
than some unintelligable panic
## 0.6.0 (June 22, 2017)
@ -381,111 +387,118 @@ Make the basecli command the only way to use client-side, to enforce best
security practices. Lots of enhancements to get it up to production quality.
BREAKING CHANGES:
- ./cmd/commands -> ./cmd/basecoin/commands
- basecli
- `basecli proof state get` -> `basecli query key`
- `basecli proof tx get` -> `basecli query tx`
- `basecli proof state get --app=account` -> `basecli query account`
- use `--chain-id` not `--chainid` for consistency
- update to use `--trace` not `--debug` for stack traces on errors
- complete overhaul on how tx and query subcommands are added. (see counter or trackomatron for examples)
- no longer supports counter app (see new countercli)
- basecoin
- `basecoin init` takes an argument, an address to allocate funds to in the genesis
- removed key2.json
- removed all client side functionality from it (use basecli now for proofs)
- no tx subcommand
- no query subcommand
- no account (query) subcommand
- a few other random ones...
- enhanced relay subcommand
- relay start did what relay used to do
- relay init registers both chains on one another (to set it up so relay start just works)
- docs
- removed `example-plugin`, put `counter` inside `docs/guide`
- app
- Implements ABCI handshake by proxying merkleeyes.Info()
* ./cmd/commands -> ./cmd/basecoin/commands
* basecli
* `basecli proof state get` -> `basecli query key`
* `basecli proof tx get` -> `basecli query tx`
* `basecli proof state get --app=account` -> `basecli query account`
* use `--chain-id` not `--chainid` for consistency
* update to use `--trace` not `--debug` for stack traces on errors
* complete overhaul on how tx and query subcommands are added. (see counter or trackomatron for examples)
* no longer supports counter app (see new countercli)
* basecoin
* `basecoin init` takes an argument, an address to allocate funds to in the genesis
* removed key2.json
* removed all client side functionality from it (use basecli now for proofs)
* no tx subcommand
* no query subcommand
* no account (query) subcommand
* a few other random ones...
* enhanced relay subcommand
* relay start did what relay used to do
* relay init registers both chains on one another (to set it up so relay start just works)
* docs
* removed `example-plugin`, put `counter` inside `docs/guide`
* app
* Implements ABCI handshake by proxying merkleeyes.Info()
IMPROVEMENTS:
- `basecoin init` support `--chain-id`
- intergrates tendermint 0.10.0 (not the rc-2, but the real thing)
- commands return error code (1) on failure for easier script testing
- add `reset_all` to basecli, and never delete keys on `init`
- new shutil based unit tests, with better coverage of the cli actions
- just `make fresh` when things are getting stale ;)
* `basecoin init` support `--chain-id`
* intergrates tendermint 0.10.0 (not the rc-2, but the real thing)
* commands return error code (1) on failure for easier script testing
* add `reset_all` to basecli, and never delete keys on `init`
* new shutil based unit tests, with better coverage of the cli actions
* just `make fresh` when things are getting stale ;)
BUG FIXES:
- app: no longer panics on missing app_options in genesis (thanks, anton)
- docs: updated all docs... again
- ibc: fix panic on getting BlockID from commit without 100% precommits (still a TODO)
* app: no longer panics on missing app_options in genesis (thanks, anton)
* docs: updated all docs... again
* ibc: fix panic on getting BlockID from commit without 100% precommits (still a TODO)
## 0.5.2 (June 2, 2017)
BUG FIXES:
- fix parsing of the log level from Tendermint config (#97)
* fix parsing of the log level from Tendermint config (#97)
## 0.5.1 (May 30, 2017)
BUG FIXES:
- fix ibc demo app to use proper tendermint flags, 0.10.0-rc2 compatibility
- Make sure all cli uses new json.Marshal not wire.JSONBytes
* fix ibc demo app to use proper tendermint flags, 0.10.0-rc2 compatibility
* Make sure all cli uses new json.Marshal not wire.JSONBytes
## 0.5.0 (May 27, 2017)
BREAKING CHANGES:
- only those related to the tendermint 0.9 -> 0.10 upgrade
* only those related to the tendermint 0.9 -> 0.10 upgrade
IMPROVEMENTS:
- basecoin cli
- integrates tendermint 0.10.0 and unifies cli (init, unsafe_reset_all, ...)
- integrate viper, all command line flags can also be defined in environmental variables or config.toml
- genesis file
- you can define accounts with either address or pub_key
- sorts coins for you, so no silent errors if not in alphabetical order
- [light-client](https://github.com/tendermint/light-client) integration
- no longer must you trust the node you connect to, prove everything!
- new [basecli command](./cmd/basecli/README.md)
- integrated [key management](https://github.com/tendermint/go-crypto/blob/master/cmd/README.md), stored encrypted locally
- tracks validator set changes and proves everything from one initial validator seed
- `basecli proof state` gets complete proofs for any abci state
- `basecli proof tx` gets complete proof where a tx was stored in the chain
- `basecli proxy` exposes tendermint rpc, but only passes through results after doing complete verification
* basecoin cli
* integrates tendermint 0.10.0 and unifies cli (init, unsafe_reset_all, ...)
* integrate viper, all command line flags can also be defined in environmental variables or config.toml
* genesis file
* you can define accounts with either address or pub_key
* sorts coins for you, so no silent errors if not in alphabetical order
* [light-client](https://github.com/tendermint/light-client) integration
* no longer must you trust the node you connect to, prove everything!
* new [basecli command](./cmd/basecli/README.md)
* integrated [key management](https://github.com/tendermint/go-crypto/blob/master/cmd/README.md), stored encrypted locally
* tracks validator set changes and proves everything from one initial validator seed
* `basecli proof state` gets complete proofs for any abci state
* `basecli proof tx` gets complete proof where a tx was stored in the chain
* `basecli proxy` exposes tendermint rpc, but only passes through results after doing complete verification
BUG FIXES:
- no more silently ignored error with invalid coin names (eg. "17.22foo coin" used to parse as "17 foo", not warning/error)
* no more silently ignored error with invalid coin names (eg. "17.22foo coin" used to parse as "17 foo", not warning/error)
## 0.4.1 (April 26, 2017)
BUG FIXES:
- Fix bug in `basecoin unsafe_reset_X` where the `priv_validator.json` was not being reset
* Fix bug in `basecoin unsafe_reset_X` where the `priv_validator.json` was not being reset
## 0.4.0 (April 21, 2017)
BREAKING CHANGES:
- CLI now uses Cobra, which forced changes to some of the flag names and orderings
* CLI now uses Cobra, which forced changes to some of the flag names and orderings
IMPROVEMENTS:
- `basecoin init` doesn't generate error if already initialized
- Much more testing
* `basecoin init` doesn't generate error if already initialized
* Much more testing
## 0.3.1 (March 23, 2017)
IMPROVEMENTS:
- CLI returns exit code 1 and logs error before exiting
* CLI returns exit code 1 and logs error before exiting
## 0.3.0 (March 23, 2017)
BREAKING CHANGES:
- Remove `--data` flag and use `BCHOME` to set the home directory (defaults to `~/.basecoin`)
- Remove `--in-proc` flag and start Tendermint in-process by default (expect Tendermint files in $BCHOME/tendermint).
* Remove `--data` flag and use `BCHOME` to set the home directory (defaults to `~/.basecoin`)
* Remove `--in-proc` flag and start Tendermint in-process by default (expect Tendermint files in $BCHOME/tendermint).
To start just the ABCI app/server, use `basecoin start --without-tendermint`.
- Consolidate genesis files so the Basecoin genesis is an object under `app_options` in Tendermint genesis. For instance:
* Consolidate genesis files so the Basecoin genesis is an object under `app_options` in Tendermint genesis. For instance:
```
{
@ -529,48 +542,45 @@ We also changed `chainID` to `chain_id` and consolidated to have just one of the
FEATURES:
- Introduce `basecoin init` and `basecoin unsafe_reset_all`
* Introduce `basecoin init` and `basecoin unsafe_reset_all`
## 0.2.0 (March 6, 2017)
BREAKING CHANGES:
- Update to ABCI v0.4.0 and Tendermint v0.9.0
- Coins are specified on the CLI as `Xcoin`, eg. `5gold`
- `Cost` is now `Fee`
* Update to ABCI v0.4.0 and Tendermint v0.9.0
* Coins are specified on the CLI as `Xcoin`, eg. `5gold`
* `Cost` is now `Fee`
FEATURES:
- CLI for sending transactions and querying the state,
* CLI for sending transactions and querying the state,
designed to be easily extensible as plugins are implemented
- Run Basecoin in-process with Tendermint
- Add `/account` path in Query
- IBC plugin for InterBlockchain Communication
- Demo script of IBC between two chains
* Run Basecoin in-process with Tendermint
* Add `/account` path in Query
* IBC plugin for InterBlockchain Communication
* Demo script of IBC between two chains
IMPROVEMENTS:
- Use new Tendermint `/commit` endpoint for crafting IBC transactions
- More unit tests
- Use go-crypto S structs and go-data for more standard JSON
- Demo uses fewer sleeps
* Use new Tendermint `/commit` endpoint for crafting IBC transactions
* More unit tests
* Use go-crypto S structs and go-data for more standard JSON
* Demo uses fewer sleeps
BUG FIXES:
- Various little fixes in coin arithmetic
- More commit validation in IBC
- Return results from transactions
* Various little fixes in coin arithmetic
* More commit validation in IBC
* Return results from transactions
## PreHistory
##### January 14-18, 2017
- Update to Tendermint v0.8.0
- Cleanup a bit and release blog post
* Update to Tendermint v0.8.0
* Cleanup a bit and release blog post
##### September 22, 2016
- Basecoin compiles again
* Basecoin compiles again

View File

@ -19,7 +19,7 @@ import (
type Validator struct {
Owner sdk.Address `json:"owner"` // sender of BondTx - UnbondTx returns here
PubKey crypto.PubKey `json:"pub_key"` // pubkey of validator
Revoked bool `json:"pub_key"` // has the validator been revoked from bonded status?
Revoked bool `json:"revoked"` // has the validator been revoked from bonded status?
PoolShares PoolShares `json:"pool_shares"` // total shares for tokens held in the pool
DelegatorShares sdk.Rat `json:"delegator_shares"` // total shares issued to a validator's delegators