diff --git a/README.md b/README.md index 37776a6..2554e8d 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ - # Stargate upgrade [Join the Cosmos Stargate announcements channel!](Cosmos Stargate announcements channel!) If you’re running a block explorer, wallet, exchange, validator, or any other service (eg. custody provider) that depends upon the Cosmos Hub or Cosmos ecosystem, you’ll want to pay attention, because this upgrade will involve substantial changes. +- [Collection of breaking changes from changelogs](breaking_changes.md) - [Inter-Blockchain Communication (IBC)– cross-chain transactions](https://figment.network/resources/cosmos-stargate-upgrade-overview/#ibc) - [Protobuf Migration – blockchain performance & dev acceleration](https://figment.network/resources/cosmos-stargate-upgrade-overview/#proto) - [State Sync – minutes to sync new nodes](https://figment.network/resources/cosmos-stargate-upgrade-overview/#sync) @@ -15,52 +15,61 @@ Help us to get the word out–this is a major leap for the Cosmos Network and we ## Testnet -We've launched the third public alpha testnet `stargate-4` for the Stargate Upgrade on Thursday Oct 15th. - -`Stargate-4` is based on Cosmos SDK-0.40-rc0. This is a nearly complete release of Cosmos Stargate. +### Uncoordinated Upgrade Completed 02-02-2021 -The following features are live on the testnet. +Upgrade instructions: -* Legacy Amino -* IBC -* State-Sync +1. Stop your gaia v3 instance +``` +killall gaiad +``` -This testnet is intended for: +2. Backup your `.gaia` folder -* Testing wallets, exchanges and block explorers against the legacy Amino REST interface -* Giving node operators and validators an opportunity to test their integrations against a work in progress version -* Playing with new Stargate features including IBC is possible now with the Akash realyer! Try it out at https://github.com/ovrclk/relayer/releases/tag/stargate-4 +3. Install gaia v4 binary -We anticipate restarting this testnet with future integration targets. Once we have a migration script, we will launch a testnet with a simulated upgrade from cosmoshub-3. +``` +git checkout v4.0.0 +make install +``` -Our validator node for a persistent peer is available at +4. Start gaia v4.0.0 binary -``` bash -00d8e9c0df367296436854b580d9b069d3f1a5fd@34.123.30.100:26656 -``` -For users who want to test state sync, our validator node has tendermint rpc open on `34.123.10.100:26657`and we are snapshotting every 1000 blocks. +### Joining -As of 10/15/2020, the tagged `gaia` version is [stargate-4](https://github.com/cosmos/gaia/releases/tag/stargate-4) +We are launching the final stargate testnet. We -Remember this version now has a single binary instead of `gaiacli/gaiad` and much more configurable `app.toml` +- [Genesis file](genesis.json) -```bash +``` git clone https://github.com/cosmos/gaia -git checkout stargate-4 -make build +git checkout v4.0.0 +make install ``` +Our validator node for a persistent peer is available at +```bash +6ae55f60f0951247985ccd52773312aa89413d1c@34.71.170.158:26656 +``` -The genesis file is available [here](genesis.json) -The sha256sum of the genesis is +Seed Node ```bash -❯ sha256sum genesis.json -346dac9029a686845ee7ffd711a0c2479a6422c10f92f31ded6da8c6f4efbbc5 genesis.json +feeb2c3e89a69d09390c292fca9ef1c4eba084c5@35.193.131.167:26656 ``` +Please familiarize your self with the [Running a Node](https://github.com/cosmos/cosmos-sdk/tree/master/docs/run-node) documentation. + + +- Legacy Amino +- IBC +- State-Sync +- Cosmovisor + + + ## Statesync Configuration Options @@ -76,13 +85,13 @@ Snapshot-interval specifies the block interval at which local state sync snapsho > NOTE: Please set this value to a non-zero value. This is required in order for other nodes to be able to utilize state-sync. -``` bash +```bash snapshot-interval = {{ .StateSync.SnapshotInterval }} ``` Snapshot-keep-recent specifies the number of recent snapshots to keep and serve (0 to keep all). -``` bash +```bash snapshot-keep-recent = {{ .StateSync.SnapshotKeepRecent }} ``` diff --git a/breaking_changes.md b/breaking_changes.md new file mode 100644 index 0000000..21f9655 --- /dev/null +++ b/breaking_changes.md @@ -0,0 +1,668 @@ +# Breaking Changes + +This document collects all of the *breaking changes* from the CHANGELOG.md files +located in the [Tendermint](https://github.com/tendermint/tendermint), [Cosmos SDK](https://github.com/cosmos/cosmos-sdk), +and [Gaia](https://github.com/cosmos/gaia) Github repositories. + +Its purpose is to provide a checklist for potential impact on deployments; however, the changelog located in each repository +serves other important details, such as bug fixes and feature improvements. + +## Table of Contents + +- [Tendermint Changelog](#tendermint-changelog); Tendermint versions v0.32.13 - v0.34.1 +- [Cosmos Changelog](#cosmos-sdk-changelog); Cosmos SDK versions v0.37.14 - v0.40.0 + +# Tendermint Changelog + +## v0.34.1 + +### BREAKING CHANGES + +- CLI/RPC/Config + - [cli] [\#5786](https://github.com/tendermint/tendermint/issues/5786) deprecate snake_case commands for hyphen-case (@cmwaters) + +- Go API + - [libs/protoio] [\#5868](https://github.com/tendermint/tendermint/issues/5868) Return number of bytes read in `Reader.ReadMsg()` (@erikgrinaker) + +## v0.34.0 + +### BREAKING CHANGES + +- CLI/RPC/Config + + - [config] [\#5315](https://github.com/tendermint/tendermint/pull/5315) Rename `prof_laddr` to `pprof_laddr` and move it to `rpc` section (@melekes) + - [evidence] [\#4959](https://github.com/tendermint/tendermint/pull/4959) Add JSON tags to `DuplicateVoteEvidence` (@marbar3778) + - [light] [\#4946](https://github.com/tendermint/tendermint/pull/4946) `tendermint lite` command has been renamed to `tendermint light` (@marbar3778) + - [privval] [\#4582](https://github.com/tendermint/tendermint/pull/4582) `round` in private_validator_state.json is no longer JSON string; instead it is a number (@marbar3778) + - [rpc] [\#4792](https://github.com/tendermint/tendermint/pull/4792) `/validators` are now sorted by voting power (@melekes) + - [rpc] [\#4947](https://github.com/tendermint/tendermint/pull/4947) Return an error when `page` pagination param is 0 in `/validators`, `tx_search` (@melekes) + - [rpc] [\#5137](https://github.com/tendermint/tendermint/pull/5137) JSON tags of `gasWanted` and `gasUsed` in `ResponseCheckTx` and `ResponseDeliverTx` have been made snake_case (`gas_wanted` and `gas_used`) (@marbar3778) + - [rpc] [\#5315](https://github.com/tendermint/tendermint/pull/5315) Remove `/unsafe_start_cpu_profiler`, `/unsafe_stop_cpu_profiler` and `/unsafe_write_heap_profile`. Please use pprof functionality instead (@melekes) + - [rpc/client, rpc/jsonrpc/client] [\#5347](https://github.com/tendermint/tendermint/pull/5347) All client methods now accept `context.Context` as 1st param (@melekes) + +- Apps + + - [abci] [\#4704](https://github.com/tendermint/tendermint/pull/4704) Add ABCI methods `ListSnapshots`, `LoadSnapshotChunk`, `OfferSnapshot`, and `ApplySnapshotChunk` for state sync snapshots. `ABCIVersion` bumped to 0.17.0. (@erikgrinaker) + - [abci] [\#4989](https://github.com/tendermint/tendermint/pull/4989) `Proof` within `ResponseQuery` has been renamed to `ProofOps` (@marbar3778) + - [abci] [\#5096](https://github.com/tendermint/tendermint/pull/5096) `CheckTxType` Protobuf enum names are now uppercase, to follow Protobuf style guide (@erikgrinaker) + - [abci] [\#5324](https://github.com/tendermint/tendermint/pull/5324) ABCI evidence type is now an enum with two types of possible evidence (@cmwaters) + +- P2P Protocol + + - [blockchain] [\#4637](https://github.com/tendermint/tendermint/pull/4637) Migrate blockchain reactor(s) to Protobuf encoding (@marbar3778) + - [evidence] [\#4949](https://github.com/tendermint/tendermint/pull/4949) Migrate evidence reactor to Protobuf encoding (@marbar3778) + - [mempool] [\#4940](https://github.com/tendermint/tendermint/pull/4940) Migrate mempool from to Protobuf encoding (@marbar3778) + - [mempool] [\#5321](https://github.com/tendermint/tendermint/pull/5321) Batch transactions when broadcasting them to peers (@melekes) + - `MaxBatchBytes` new config setting defines the max size of one batch. + - [p2p/pex] [\#4973](https://github.com/tendermint/tendermint/pull/4973) Migrate `p2p/pex` reactor to Protobuf encoding (@marbar3778) + - [statesync] [\#4943](https://github.com/tendermint/tendermint/pull/4943) Migrate state sync reactor to Protobuf encoding (@marbar3778) + +- Blockchain Protocol + + - [evidence] [\#4725](https://github.com/tendermint/tendermint/pull/4725) Remove `Pubkey` from `DuplicateVoteEvidence` (@marbar3778) + - [evidence] [\#5499](https://github.com/tendermint/tendermint/pull/5449) Cap evidence to a maximum number of bytes (supercedes [\#4780](https://github.com/tendermint/tendermint/pull/4780)) (@cmwaters) + - [merkle] [\#5193](https://github.com/tendermint/tendermint/pull/5193) Header hashes are no longer empty for empty inputs, notably `DataHash`, `EvidenceHash`, and `LastResultsHash` (@erikgrinaker) + - [state] [\#4845](https://github.com/tendermint/tendermint/pull/4845) Include `GasWanted` and `GasUsed` into `LastResultsHash` (@melekes) + - [types] [\#4792](https://github.com/tendermint/tendermint/pull/4792) Sort validators by voting power to enable faster commit verification (@melekes) + +- On-disk serialization + + - [state] [\#4679](https://github.com/tendermint/tendermint/pull/4679) Migrate state module to Protobuf encoding (@marbar3778) + - `BlockStoreStateJSON` is now `BlockStoreState` and is encoded as binary in the database + - [store] [\#4778](https://github.com/tendermint/tendermint/pull/4778) Migrate store module to Protobuf encoding (@marbar3778) + +- Light client, private validator + + - [light] [\#4964](https://github.com/tendermint/tendermint/pull/4964) Migrate light module migration to Protobuf encoding (@marbar3778) + - [privval] [\#4985](https://github.com/tendermint/tendermint/pull/4985) Migrate `privval` module to Protobuf encoding (@marbar3778) + +- Go API + + - [consensus] [\#4582](https://github.com/tendermint/tendermint/pull/4582) RoundState: `Round`, `LockedRound` & `CommitRound` are now `int32` (@marbar3778) + - [consensus] [\#4582](https://github.com/tendermint/tendermint/pull/4582) HeightVoteSet: `round` is now `int32` (@marbar3778) + - [crypto] [\#4721](https://github.com/tendermint/tendermint/pull/4721) Remove `SimpleHashFromMap()` and `SimpleProofsFromMap()` (@erikgrinaker) + - [crypto] [\#4940](https://github.com/tendermint/tendermint/pull/4940) All keys have become `[]byte` instead of `[]byte`. The byte method no longer returns the marshaled value but just the `[]byte` form of the data. (@marbar3778) + - [crypto] [\#4988](https://github.com/tendermint/tendermint/pull/4988) Removal of key type multisig (@marbar3778) + - The key has been moved to the [Cosmos-SDK](https://github.com/cosmos/cosmos-sdk/blob/master/crypto/types/multisig/multisignature.go) + - [crypto] [\#4989](https://github.com/tendermint/tendermint/pull/4989) Remove `Simple` prefixes from `SimpleProof`, `SimpleValueOp` & `SimpleProofNode`. (@marbar3778) + - `merkle.Proof` has been renamed to `ProofOps`. + - Protobuf messages `Proof` & `ProofOp` has been moved to `proto/crypto/merkle` + - `SimpleHashFromByteSlices` has been renamed to `HashFromByteSlices` + - `SimpleHashFromByteSlicesIterative` has been renamed to `HashFromByteSlicesIterative` + - `SimpleProofsFromByteSlices` has been renamed to `ProofsFromByteSlices` + - [crypto] [\#4941](https://github.com/tendermint/tendermint/pull/4941) Remove suffixes from all keys. (@marbar3778) + - ed25519: type `PrivKeyEd25519` is now `PrivKey` + - ed25519: type `PubKeyEd25519` is now `PubKey` + - secp256k1: type`PrivKeySecp256k1` is now `PrivKey` + - secp256k1: type`PubKeySecp256k1` is now `PubKey` + - sr25519: type `PrivKeySr25519` is now `PrivKey` + - sr25519: type `PubKeySr25519` is now `PubKey` + - [crypto] [\#5214](https://github.com/tendermint/tendermint/pull/5214) Change `GenPrivKeySecp256k1` to `GenPrivKeyFromSecret` to be consistent with other keys (@marbar3778) + - [crypto] [\#5236](https://github.com/tendermint/tendermint/pull/5236) `VerifyBytes` is now `VerifySignature` on the `crypto.PubKey` interface (@marbar3778) + - [evidence] [\#5361](https://github.com/tendermint/tendermint/pull/5361) Add LightClientAttackEvidence and change evidence interface (@cmwaters) + - [libs] [\#4831](https://github.com/tendermint/tendermint/pull/4831) Remove `Bech32` pkg from Tendermint. This pkg now lives in the [cosmos-sdk](https://github.com/cosmos/cosmos-sdk/tree/4173ea5ebad906dd9b45325bed69b9c655504867/types/bech32) (@marbar3778) + - [light] [\#4946](https://github.com/tendermint/tendermint/pull/4946) Rename `lite2` pkg to `light`. Remove `lite` implementation. (@marbar3778) + - [light] [\#5347](https://github.com/tendermint/tendermint/pull/5347) `NewClient`, `NewHTTPClient`, `VerifyHeader` and `VerifyLightBlockAtHeight` now accept `context.Context` as 1st param (@melekes) + - [merkle] [\#5193](https://github.com/tendermint/tendermint/pull/5193) `HashFromByteSlices` and `ProofsFromByteSlices` now return a hash for empty inputs, following RFC6962 (@erikgrinaker) + - [proto] [\#5025](https://github.com/tendermint/tendermint/pull/5025) All proto files have been moved to `/proto` directory. (@marbar3778) + - Using the recommended the file layout from buf, [see here for more info](https://buf.build/docs/lint-checkers#file_layout) + - [rpc/client] [\#4947](https://github.com/tendermint/tendermint/pull/4947) `Validators`, `TxSearch` `page`/`per_page` params become pointers (@melekes) + - `UnconfirmedTxs` `limit` param is a pointer + - [rpc/jsonrpc/server] [\#5141](https://github.com/tendermint/tendermint/pull/5141) Remove `WriteRPCResponseArrayHTTP` (use `WriteRPCResponseHTTP` instead) (@melekes) + - [state] [\#4679](https://github.com/tendermint/tendermint/pull/4679) `TxResult` is a Protobuf type defined in `abci` types directory (@marbar3778) + - [state] [\#5191](https://github.com/tendermint/tendermint/pull/5191) Add `State.InitialHeight` field to record initial block height, must be `1` (not `0`) to start from 1 (@erikgrinaker) + - [state] [\#5231](https://github.com/tendermint/tendermint/pull/5231) `LoadStateFromDBOrGenesisFile()` and `LoadStateFromDBOrGenesisDoc()` no longer saves the state in the database if not found, the genesis state is simply returned (@erikgrinaker) + - [state] [\#5348](https://github.com/tendermint/tendermint/pull/5348) Define an Interface for the state store. (@marbar3778) + - [types] [\#4939](https://github.com/tendermint/tendermint/pull/4939) `SignedMsgType` has moved to a Protobuf enum types (@marbar3778) + - [types] [\#4962](https://github.com/tendermint/tendermint/pull/4962) `ConsensusParams`, `BlockParams`, `EvidenceParams`, `ValidatorParams` & `HashedParams` are now Protobuf types (@marbar3778) + - [types] [\#4852](https://github.com/tendermint/tendermint/pull/4852) Vote & Proposal `SignBytes` is now func `VoteSignBytes` & `ProposalSignBytes` (@marbar3778) + - [types] [\#4798](https://github.com/tendermint/tendermint/pull/4798) Simplify `VerifyCommitTrusting` func + remove extra validation (@melekes) + - [types] [\#4845](https://github.com/tendermint/tendermint/pull/4845) Remove `ABCIResult` (@melekes) + - [types] [\#5029](https://github.com/tendermint/tendermint/pull/5029) Rename all values from `PartsHeader` to `PartSetHeader` to have consistency (@marbar3778) + - [types] [\#4939](https://github.com/tendermint/tendermint/pull/4939) `Total` in `Parts` & `PartSetHeader` has been changed from a `int` to a `uint32` (@marbar3778) + - [types] [\#4939](https://github.com/tendermint/tendermint/pull/4939) Vote: `ValidatorIndex` & `Round` are now `int32` (@marbar3778) + - [types] [\#4939](https://github.com/tendermint/tendermint/pull/4939) Proposal: `POLRound` & `Round` are now `int32` (@marbar3778) + - [types] [\#4939](https://github.com/tendermint/tendermint/pull/4939) Block: `Round` is now `int32` (@marbar3778) + +## v0.33.8 + +## v0.33.7 + +## v0.33.6 + +**Please note that the fix for the False Witness issue renames the `VerifyCommitTrusting` +function to `VerifyCommitLightTrusting`. If you were relying on the light client, you may +need to update your code.** + +## v0.33.5 + +### BREAKING CHANGES: + +- Go API + + - [privval] [\#4744](https://github.com/tendermint/tendermint/pull/4744) Remove deprecated `OldFilePV` (@melekes) + - [mempool] [\#4759](https://github.com/tendermint/tendermint/pull/4759) Modify `Mempool#InitWAL` to return an error (@melekes) + - [node] [\#4832](https://github.com/tendermint/tendermint/pull/4832) `ConfigureRPC` returns an error (@melekes) + - [rpc] [\#4836](https://github.com/tendermint/tendermint/pull/4836) Overhaul `lib` folder (@melekes) + Move lib/ folder to jsonrpc/. + Rename: + rpc package -> jsonrpc package + rpcclient package -> client package + rpcserver package -> server package + JSONRPCClient to Client + JSONRPCRequestBatch to RequestBatch + JSONRPCCaller to Caller + StartHTTPServer to Serve + StartHTTPAndTLSServer to ServeTLS + NewURIClient to NewURI + NewJSONRPCClient to New + NewJSONRPCClientWithHTTPClient to NewWithHTTPClient + NewWSClient to NewWS + Unexpose ResponseWriterWrapper + Remove unused http_params.go + +## v0.33.4 + +- Nodes are no longer guaranteed to contain all blocks up to the latest height. The ABCI app can now control which blocks to retain through the ABCI field `ResponseCommit.retain_height`, all blocks and associated data below this height will be removed. + +### BREAKING CHANGES: + +- Go API + + - [lite2] [\#4616](https://github.com/tendermint/tendermint/pull/4616) Make `maxClockDrift` an option `Verify/VerifyAdjacent/VerifyNonAdjacent` now accept `maxClockDrift time.Duration` (@melekes). + - [rpc/client] [\#4628](https://github.com/tendermint/tendermint/pull/4628) Split out HTTP and local clients into `http` and `local` packages (@erikgrinaker). + +## v0.33.3 + +## v0.33.2 + +### BREAKING CHANGES: + +- CLI/RPC/Config + - [cli] [\#4505](https://github.com/tendermint/tendermint/pull/4505) `tendermint lite` sub-command new syntax (@melekes): + `lite cosmoshub-3 -p 52.57.29.196:26657 -w public-seed-node.cosmoshub.certus.one:26657 + --height 962118 --hash 28B97BE9F6DE51AC69F70E0B7BFD7E5C9CD1A595B7DC31AFF27C50D4948` + +- Go API + - [lite2] [\#4535](https://github.com/tendermint/tendermint/pull/4535) Remove `Start/Stop` (@melekes) + - [lite2] [\#4469](https://github.com/tendermint/tendermint/issues/4469) Remove `RemoveNoLongerTrustedHeaders` and `RemoveNoLongerTrustedHeadersPeriod` option (@cmwaters) + - [lite2] [\#4473](https://github.com/tendermint/tendermint/issues/4473) Return height as a 2nd param in `TrustedValidatorSet` (@melekes) + - [lite2] [\#4536](https://github.com/tendermint/tendermint/pull/4536) `Update` returns a signed header (1st param) (@melekes) + + +## v0.33.1 + +## v0.33 + +This release contains breaking changes to the `Block#Header`, specifically +`NumTxs` and `TotalTxs` were removed (\#2521). Here's how this change affects +different modules: + +- apps: it breaks the ABCI header field numbering +- state: it breaks the format of `State` on disk +- RPC: all RPC requests which expose the header broke +- Go API: the `Header` broke +- P2P: since blocks go over the wire, technically the P2P protocol broke + +### BREAKING CHANGES: + +- CLI/RPC/Config + + - [rpc] [\#3471](https://github.com/tendermint/tendermint/issues/3471) Paginate `/validators` response (default: 30 vals per page) + - [rpc] [\#3188](https://github.com/tendermint/tendermint/issues/3188) Remove `BlockMeta` in `ResultBlock` in favor of `BlockId` for `/block` + - [rpc] `/block_results` response format updated (see RPC docs for details) + ``` + { + "jsonrpc": "2.0", + "id": "", + "result": { + "height": "2109", + "txs_results": null, + "begin_block_events": null, + "end_block_events": null, + "validator_updates": null, + "consensus_param_updates": null + } + } + ``` + - [rpc] [\#4141](https://github.com/tendermint/tendermint/pull/4141) Remove `#event` suffix from the ID in event responses. + `{"jsonrpc": "2.0", "id": 0, "result": ...}` + - [rpc] [\#4141](https://github.com/tendermint/tendermint/pull/4141) Switch to integer IDs instead of `json-client-XYZ` + ``` + id=0 method=/subscribe + id=0 result=... + id=1 method=/abci_query + id=1 result=... + ``` + - ID is unique for each request; + - Request.ID is now optional. Notification is a Request without an ID. Previously ID="" or ID=0 were considered as notifications. + + - [config] [\#4046](https://github.com/tendermint/tendermint/issues/4046) Rename tag(s) to CompositeKey & places where tag is still present it was renamed to event or events. Find how a compositeKey is constructed [here](https://github.com/tendermint/tendermint/blob/6d05c531f7efef6f0619155cf10ae8557dd7832f/docs/app-dev/indexing-transactions.md) + - You will have to generate a new config for your Tendermint node(s) + - [genesis] [\#2565](https://github.com/tendermint/tendermint/issues/2565) Add `consensus_params.evidence.max_age_duration`. Rename + `consensus_params.evidence.max_age` to `max_age_num_blocks`. + - [cli] [\#1771](https://github.com/tendermint/tendermint/issues/1771) `tendermint lite` now uses new light client package (`lite2`) + and has 3 more flags: `--trusting-period`, `--trusted-height` and + `--trusted-hash` + +- Apps + + - [tm-bench] Removed tm-bench in favor of [tm-load-test](https://github.com/informalsystems/tm-load-test) + +- Go API + + - [rpc] [\#3953](https://github.com/tendermint/tendermint/issues/3953) Modify NewHTTP, NewXXXClient functions to return an error on invalid remote instead of panicking (@mrekucci) + - [rpc/client] [\#3471](https://github.com/tendermint/tendermint/issues/3471) `Validators` now requires two more args: `page` and `perPage` + - [libs/common] [\#3262](https://github.com/tendermint/tendermint/issues/3262) Make error the last parameter of `Task` (@PSalant726) + - [cs/types] [\#3262](https://github.com/tendermint/tendermint/issues/3262) Rename `GotVoteFromUnwantedRoundError` to `ErrGotVoteFromUnwantedRound` (@PSalant726) + - [libs/common] [\#3862](https://github.com/tendermint/tendermint/issues/3862) Remove `errors.go` from `libs/common` + - [libs/common] [\#4230](https://github.com/tendermint/tendermint/issues/4230) Move `KV` out of common to its own pkg + - [libs/common] [\#4230](https://github.com/tendermint/tendermint/issues/4230) Rename `cmn.KVPair(s)` to `kv.Pair(s)`s + - [libs/common] [\#4232](https://github.com/tendermint/tendermint/issues/4232) Move `Service` & `BaseService` from `libs/common` to `libs/service` + - [libs/common] [\#4232](https://github.com/tendermint/tendermint/issues/4232) Move `common/nil.go` to `types/utils.go` & make the functions private + - [libs/common] [\#4231](https://github.com/tendermint/tendermint/issues/4231) Move random functions from `libs/common` into pkg `rand` + - [libs/common] [\#4237](https://github.com/tendermint/tendermint/issues/4237) Move byte functions from `libs/common` into pkg `bytes` + - [libs/common] [\#4237](https://github.com/tendermint/tendermint/issues/4237) Move throttletimer functions from `libs/common` into pkg `timer` + - [libs/common] [\#4237](https://github.com/tendermint/tendermint/issues/4237) Move tempfile functions from `libs/common` into pkg `tempfile` + - [libs/common] [\#4240](https://github.com/tendermint/tendermint/issues/4240) Move os functions from `libs/common` into pkg `os` + - [libs/common] [\#4240](https://github.com/tendermint/tendermint/issues/4240) Move net functions from `libs/common` into pkg `net` + - [libs/common] [\#4240](https://github.com/tendermint/tendermint/issues/4240) Move mathematical functions and types out of `libs/common` to `math` pkg + - [libs/common] [\#4240](https://github.com/tendermint/tendermint/issues/4240) Move string functions out of `libs/common` to `strings` pkg + - [libs/common] [\#4240](https://github.com/tendermint/tendermint/issues/4240) Move async functions out of `libs/common` to `async` pkg + - [libs/common] [\#4240](https://github.com/tendermint/tendermint/issues/4240) Move bit functions out of `libs/common` to `bits` pkg + - [libs/common] [\#4240](https://github.com/tendermint/tendermint/issues/4240) Move cmap functions out of `libs/common` to `cmap` pkg + - [libs/common] [\#4258](https://github.com/tendermint/tendermint/issues/4258) Remove `Rand` from all `rand` pkg functions + - [types] [\#2565](https://github.com/tendermint/tendermint/issues/2565) Remove `MockBadEvidence` & `MockGoodEvidence` in favor of `MockEvidence` + +- Blockchain Protocol + + - [abci] [\#2521](https://github.com/tendermint/tendermint/issues/2521) Remove `TotalTxs` and `NumTxs` from `Header` + - [types] [\#4151](https://github.com/tendermint/tendermint/pull/4151) Enforce ordering of votes in DuplicateVoteEvidence to be lexicographically sorted on BlockID + - [types] [\#1648](https://github.com/tendermint/tendermint/issues/1648) Change `Commit` to consist of just signatures + +- P2P Protocol + + - [p2p] [\#3668](https://github.com/tendermint/tendermint/pull/3668) Make `SecretConnection` non-malleable + +- [proto] [\#3986](https://github.com/tendermint/tendermint/pull/3986) Prefix protobuf types to avoid name conflicts. + - ABCI becomes `tendermint.abci.types` with the new API endpoint `/tendermint.abci.types.ABCIApplication/` + - core_grpc becomes `tendermint.rpc.grpc` with the new API endpoint `/tendermint.rpc.grpc.BroadcastAPI/` + - merkle becomes `tendermint.crypto.merkle` + - libs.common becomes `tendermint.libs.common` + - proto3 becomes `tendermint.types.proto3` + +## v0.32.13 + +# Cosmos SDK Changelog + +## v0.41.0 - From release notes + +Support Amino JSON for IBC MsgTransfer +This change breaks state backward compatibility. + +At the moment hardware wallets are unable to sign messages using SIGN_MODE_DIRECT because the cosmos ledger app does not support proto encoding andSIGN_MODE_TEXTUAL is not available yet. + +In order to enable hardware wallets users to interact with IBC, amino JSON support was added to MsgTransfer only. + +Counterparty.ChannelID not available in OnChanOpenAck callback implementation. +This change breaks state backward compatibility. + +In a previous version the Counterparty.ChannelID was available for an OnChanOpenAck callback implementation (read via channelKeeper.GetChannel(). Due to a regression, the channelID is currently empty. + +The issue has been fixed by reordering IBC ChanOpenAck and ChanOpenConfirm to execute the core handlers logic first, followed by application callbacks. + +It breaks state backward compatibility because the current change consumes more gas, which means that in an updated node a TX might fail because it ran out of gas whilst in older versions it would be successful. + +## [v0.40.0](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.40.0) - 2021-01-08 + +v0.40.0, known as the Stargate release of the Cosmos SDK, is one of the largest releases +of the Cosmos SDK since launch. Please read through this changelog and [release notes](https://github.com/cosmos/cosmos-sdk/blob/v0.40.0/RELEASE_NOTES.md) to make +sure you are aware of any relevant breaking changes. + +### Client Breaking Changes + +* __CLI__ + * (client/keys) [\#5889](https://github.com/cosmos/cosmos-sdk/pull/5889) remove `keys update` command. + * (x/auth) [\#5844](https://github.com/cosmos/cosmos-sdk/pull/5844) `tx sign` command now returns an error when signing is attempted with offline/multisig keys. + * (x/auth) [\#6108](https://github.com/cosmos/cosmos-sdk/pull/6108) `tx sign` command's `--validate-signatures` flag is migrated into a `tx validate-signatures` standalone command. + * (x/auth) [#7788](https://github.com/cosmos/cosmos-sdk/pull/7788) Remove `tx auth` subcommands, all auth subcommands exist as `tx ` + * (x/genutil) [\#6651](https://github.com/cosmos/cosmos-sdk/pull/6651) The `gentx` command has been improved. No longer are `--from` and `--name` flags required. Instead, a single argument, `name`, is required which refers to the key pair in the Keyring. In addition, an optional + `--moniker` flag can be provided to override the moniker found in `config.toml`. + * (x/upgrade) [#7697](https://github.com/cosmos/cosmos-sdk/pull/7697) Rename flag name "--time" to "--upgrade-time", "--info" to "--upgrade-info", to keep it consistent with help message. +* __REST / Queriers__ + * (api) [\#6426](https://github.com/cosmos/cosmos-sdk/pull/6426) The ability to start an out-of-process API REST server has now been removed. Instead, the API server is now started in-process along with the application and Tendermint. Configuration options have been added to `app.toml` to enable/disable the API server along with additional HTTP server options. + * (client) [\#7246](https://github.com/cosmos/cosmos-sdk/pull/7246) The rest server endpoint `/swagger-ui/` is replaced by `/swagger/`, and contains swagger documentation for gRPC Gateway routes in addition to legacy REST routes. Swagger API is exposed only if set in `app.toml`. + * (x/auth) [\#5702](https://github.com/cosmos/cosmos-sdk/pull/5702) The `x/auth` querier route has changed from `"acc"` to `"auth"`. + * (x/bank) [\#5572](https://github.com/cosmos/cosmos-sdk/pull/5572) The `/bank/balances/{address}` endpoint now returns all account balances or a single balance by denom when the `denom` query parameter is present. + * (x/evidence) [\#5952](https://github.com/cosmos/cosmos-sdk/pull/5952) Remove CLI and REST handlers for querying `x/evidence` parameters. + * (x/gov) [#6295](https://github.com/cosmos/cosmos-sdk/pull/6295) Fix typo in querying governance params. +* __General__ + * (baseapp) [\#6384](https://github.com/cosmos/cosmos-sdk/pull/6384) The `Result.Data` is now a Protocol Buffer encoded binary blob of type `TxData`. The `TxData` contains `Data` which contains a list of Protocol Buffer encoded message data and the corresponding message type. + * (client) [\#5783](https://github.com/cosmos/cosmos-sdk/issues/5783) Unify all coins representations on JSON client requests for governance proposals. + * (crypto) [\#7419](https://github.com/cosmos/cosmos-sdk/pull/7419) The SDK doesn't use Tendermint's `crypto.PubKey` + interface anymore, and uses instead it's own `PubKey` interface, defined in `crypto/types`. Replace all instances of + `crypto.PubKey` by `cryptotypes.Pubkey`. + * (store/rootmulti) [\#6390](https://github.com/cosmos/cosmos-sdk/pull/6390) Proofs of empty stores are no longer supported. + * (store/types) [\#5730](https://github.com/cosmos/cosmos-sdk/pull/5730) store.types.Cp() is removed in favour of types.CopyBytes(). + * (x/auth) [\#6054](https://github.com/cosmos/cosmos-sdk/pull/6054) Remove custom JSON marshaling for base accounts as multsigs cannot be bech32 decoded. + * (x/auth/vesting) [\#6859](https://github.com/cosmos/cosmos-sdk/pull/6859) Custom JSON marshaling of vesting accounts was removed. Vesting accounts are now marshaled using their default proto or amino JSON representation. + * (x/bank) [\#5785](https://github.com/cosmos/cosmos-sdk/issues/5785) In x/bank errors, JSON strings coerced to valid UTF-8 bytes at JSON marshalling time + are now replaced by human-readable expressions. This change can potentially break compatibility with all those client side tools + that parse log messages. + * (x/evidence) [\#7538](https://github.com/cosmos/cosmos-sdk/pull/7538) The ABCI's `Result.Data` field for + `MsgSubmitEvidence` responses does not contain the raw evidence's hash, but the protobuf encoded + `MsgSubmitEvidenceResponse` struct. + * (x/gov) [\#7533](https://github.com/cosmos/cosmos-sdk/pull/7533) The ABCI's `Result.Data` field for + `MsgSubmitProposal` responses does not contain a raw binary encoding of the `proposalID`, but the protobuf encoded + `MsgSubmitSubmitProposalResponse` struct. + * (x/gov) [\#6859](https://github.com/cosmos/cosmos-sdk/pull/6859) `ProposalStatus` and `VoteOption` are now JSON serialized using its protobuf name, so expect names like `PROPOSAL_STATUS_DEPOSIT_PERIOD` as opposed to `DepositPeriod`. + * (x/staking) [\#7499](https://github.com/cosmos/cosmos-sdk/pull/7499) `BondStatus` is now a protobuf `enum` instead + of an `int32`, and JSON serialized using its protobuf name, so expect names like `BOND_STATUS_UNBONDING` as opposed + to `Unbonding`. + * (x/staking) [\#7556](https://github.com/cosmos/cosmos-sdk/pull/7556) The ABCI's `Result.Data` field for + `MsgBeginRedelegate` and `MsgUndelegate` responses does not contain custom binary marshaled `completionTime`, but the + protobuf encoded `MsgBeginRedelegateResponse` and `MsgUndelegateResponse` structs respectively + +### API Breaking Changes + +* __Baseapp / Client__ + * (AppModule) [\#7518](https://github.com/cosmos/cosmos-sdk/pull/7518) [\#7584](https://github.com/cosmos/cosmos-sdk/pull/7584) Rename `AppModule.RegisterQueryServices` to `AppModule.RegisterServices`, as this method now registers multiple services (the gRPC query service and the protobuf Msg service). A `Configurator` struct is used to hold the different services. + * (baseapp) [\#5865](https://github.com/cosmos/cosmos-sdk/pull/5865) The `SimulationResponse` returned from tx simulation is now JSON encoded instead of Amino binary. + * (client) [\#6290](https://github.com/cosmos/cosmos-sdk/pull/6290) `CLIContext` is renamed to `Context`. `Context` and all related methods have been moved from package context to client. + * (client) [\#6525](https://github.com/cosmos/cosmos-sdk/pull/6525) Removed support for `indent` in JSON responses. Clients should consider piping to an external tool such as `jq`. + * (client) [\#8107](https://github.com/cosmos/cosmos-sdk/pull/8107) Renamed `PrintOutput` and `PrintOutputLegacy` + methods of the `context.Client` object to `PrintProto` and `PrintObjectLegacy`. + * (client/flags) [\#6632](https://github.com/cosmos/cosmos-sdk/pull/6632) Remove NewCompletionCmd(), the function is now available in tendermint. + * (client/input) [\#5904](https://github.com/cosmos/cosmos-sdk/pull/5904) Removal of unnecessary `GetCheckPassword`, `PrintPrefixed` functions. + * (client/keys) [\#5889](https://github.com/cosmos/cosmos-sdk/pull/5889) Rename `NewKeyBaseFromDir()` -> `NewLegacyKeyBaseFromDir()`. + * (client/keys) [\#5820](https://github.com/cosmos/cosmos-sdk/pull/5820/) Removed method CloseDB from Keybase interface. + * (client/rpc) [\#6290](https://github.com/cosmos/cosmos-sdk/pull/6290) `client` package and subdirs reorganization. + * (client/lcd) [\#6290](https://github.com/cosmos/cosmos-sdk/pull/6290) `CliCtx` of struct `RestServer` in package client/lcd has been renamed to `ClientCtx`. + * (codec) [\#6330](https://github.com/cosmos/cosmos-sdk/pull/6330) `codec.RegisterCrypto` has been moved to the `crypto/codec` package and the global `codec.Cdc` Amino instance has been deprecated and moved to the `codec/legacy_global` package. + * (codec) [\#8080](https://github.com/cosmos/cosmos-sdk/pull/8080) Updated the `codec.Marshaler` interface + * Moved `MarshalAny` and `UnmarshalAny` helper functions to `codec.Marshaler` and renamed to `MarshalInterface` and + `UnmarshalInterface` respectively. These functions must take interface as a parameter (not a concrete type nor `Any` + object). Underneath they use `Any` wrapping for correct protobuf serialization. + * (crypto) [\#6780](https://github.com/cosmos/cosmos-sdk/issues/6780) Move ledger code to its own package. + * (crypto/types/multisig) [\#6373](https://github.com/cosmos/cosmos-sdk/pull/6373) `multisig.Multisignature` has been renamed to `AminoMultisignature` + * (codec) `*codec.LegacyAmino` is now a wrapper around Amino which provides backwards compatibility with protobuf `Any`. ALL legacy code should use `*codec.LegacyAmino` instead of `*amino.Codec` directly + * (crypto) [\#5880](https://github.com/cosmos/cosmos-sdk/pull/5880) Merge `crypto/keys/mintkey` into `crypto`. + * (crypto/hd) [\#5904](https://github.com/cosmos/cosmos-sdk/pull/5904) `crypto/keys/hd` moved to `crypto/hd`. + * (crypto/keyring): + * [\#5866](https://github.com/cosmos/cosmos-sdk/pull/5866) Rename `crypto/keys/` to `crypto/keyring/`. + * [\#5904](https://github.com/cosmos/cosmos-sdk/pull/5904) `Keybase` -> `Keyring` interfaces migration. `LegacyKeybase` interface is added in order + to guarantee limited backward compatibility with the old Keybase interface for the sole purpose of migrating keys across the new keyring backends. `NewLegacy` + constructor is provided [\#5889](https://github.com/cosmos/cosmos-sdk/pull/5889) to allow for smooth migration of keys from the legacy LevelDB based implementation + to new keyring backends. Plus, the package and the new keyring no longer depends on the sdk.Config singleton. Please consult the [package documentation](https://github.com/cosmos/cosmos-sdk/tree/master/crypto/keyring/doc.go) for more + information on how to implement the new `Keyring` interface. + * [\#5858](https://github.com/cosmos/cosmos-sdk/pull/5858) Make Keyring store keys by name and address's hexbytes representation. + * (export) [\#5952](https://github.com/cosmos/cosmos-sdk/pull/5952) `AppExporter` now returns ABCI consensus parameters to be included in marshaled exported state. These parameters must be returned from the application via the `BaseApp`. + * (simapp) Deprecating and renaming `MakeEncodingConfig` to `MakeTestEncodingConfig` (both in `simapp` and `simapp/params` packages). + * (store) [\#5803](https://github.com/cosmos/cosmos-sdk/pull/5803) The `store.CommitMultiStore` interface now includes the new `snapshots.Snapshotter` interface as well. + * (types) [\#5579](https://github.com/cosmos/cosmos-sdk/pull/5579) The `keepRecent` field has been removed from the `PruningOptions` type. + The `PruningOptions` type now only includes fields `KeepEvery` and `SnapshotEvery`, where `KeepEvery` + determines which committed heights are flushed to disk and `SnapshotEvery` determines which of these + heights are kept after pruning. The `IsValid` method should be called whenever using these options. Methods + `SnapshotVersion` and `FlushVersion` accept a version arugment and determine if the version should be + flushed to disk or kept as a snapshot. Note, `KeepRecent` is automatically inferred from the options + and provided directly the IAVL store. + * (types) [\#5533](https://github.com/cosmos/cosmos-sdk/pull/5533) Refactored `AppModuleBasic` and `AppModuleGenesis` + to now accept a `codec.JSONMarshaler` for modular serialization of genesis state. + * (types/rest) [\#5779](https://github.com/cosmos/cosmos-sdk/pull/5779) Drop unused Parse{Int64OrReturnBadRequest,QueryParamBool}() functions. +* __Modules__ + * (modules) [\#7243](https://github.com/cosmos/cosmos-sdk/pull/7243) Rename `RegisterCodec` to `RegisterLegacyAminoCodec` and `codec.New()` is now renamed to `codec.NewLegacyAmino()` + * (modules) [\#6564](https://github.com/cosmos/cosmos-sdk/pull/6564) Constant `DefaultParamspace` is removed from all modules, use ModuleName instead. + * (modules) [\#5989](https://github.com/cosmos/cosmos-sdk/pull/5989) `AppModuleBasic.GetTxCmd` now takes a single `CLIContext` parameter. + * (modules) [\#5664](https://github.com/cosmos/cosmos-sdk/pull/5664) Remove amino `Codec` from simulation `StoreDecoder`, which now returns a function closure in order to unmarshal the key-value pairs. + * (modules) [\#5555](https://github.com/cosmos/cosmos-sdk/pull/5555) Move `x/auth/client/utils/` types and functions to `x/auth/client/`. + * (modules) [\#5572](https://github.com/cosmos/cosmos-sdk/pull/5572) Move account balance logic and APIs from `x/auth` to `x/bank`. + * (modules) [\#6326](https://github.com/cosmos/cosmos-sdk/pull/6326) `AppModuleBasic.GetQueryCmd` now takes a single `client.Context` parameter. + * (modules) [\#6336](https://github.com/cosmos/cosmos-sdk/pull/6336) `AppModuleBasic.RegisterQueryService` method was added to support gRPC queries, and `QuerierRoute` and `NewQuerierHandler` were deprecated. + * (modules) [\#6311](https://github.com/cosmos/cosmos-sdk/issues/6311) Remove `alias.go` usage + * (modules) [\#6447](https://github.com/cosmos/cosmos-sdk/issues/6447) Rename `blacklistedAddrs` to `blockedAddrs`. + * (modules) [\#6834](https://github.com/cosmos/cosmos-sdk/issues/6834) Add `RegisterInterfaces` method to `AppModuleBasic` to support registration of protobuf interface types. + * (modules) [\#6734](https://github.com/cosmos/cosmos-sdk/issues/6834) Add `TxEncodingConfig` parameter to `AppModuleBasic.ValidateGenesis` command to support JSON tx decoding in `genutil`. + * (modules) [#7764](https://github.com/cosmos/cosmos-sdk/pull/7764) Added module initialization options: + * `server/types.AppExporter` requires extra argument: `AppOptions`. + * `server.AddCommands` requires extra argument: `addStartFlags types.ModuleInitFlags` + * `x/crisis.NewAppModule` has a new attribute: `skipGenesisInvariants`. [PR](https://github.com/cosmos/cosmos-sdk/pull/7764) + * (types) [\#6327](https://github.com/cosmos/cosmos-sdk/pull/6327) `sdk.Msg` now inherits `proto.Message`, as a result all `sdk.Msg` types now use pointer semantics. + * (types) [\#7032](https://github.com/cosmos/cosmos-sdk/pull/7032) All types ending with `ID` (e.g. `ProposalID`) now end with `Id` (e.g. `ProposalId`), to match default Protobuf generated format. Also see [\#7033](https://github.com/cosmos/cosmos-sdk/pull/7033) for more details. + * (x/auth) [\#6029](https://github.com/cosmos/cosmos-sdk/pull/6029) Module accounts have been moved from `x/supply` to `x/auth`. + * (x/auth) [\#6443](https://github.com/cosmos/cosmos-sdk/issues/6443) Move `FeeTx` and `TxWithMemo` interfaces from `x/auth/ante` to `types`. + * (x/auth) [\#7006](https://github.com/cosmos/cosmos-sdk/pull/7006) All `AccountRetriever` methods now take `client.Context` as a parameter instead of as a struct member. + * (x/auth) [\#6270](https://github.com/cosmos/cosmos-sdk/pull/6270) The passphrase argument has been removed from the signature of the following functions and methods: `BuildAndSign`, ` MakeSignature`, ` SignStdTx`, `TxBuilder.BuildAndSign`, `TxBuilder.Sign`, `TxBuilder.SignStdTx` + * (x/auth) [\#6428](https://github.com/cosmos/cosmos-sdk/issues/6428): + * `NewAnteHandler` and `NewSigVerificationDecorator` both now take a `SignModeHandler` parameter. + * `SignatureVerificationGasConsumer` now has the signature: `func(meter sdk.GasMeter, sig signing.SignatureV2, params types.Params) error`. + * The `SigVerifiableTx` interface now has a `GetSignaturesV2() ([]signing.SignatureV2, error)` method and no longer has the `GetSignBytes` method. + * (x/auth/tx) [\#8106](https://github.com/cosmos/cosmos-sdk/pull/8106) change related to missing append functionality in + client transaction signing + + added `overwriteSig` argument to `x/auth/client.SignTx` and `client/tx.Sign` functions. + + removed `x/auth/tx.go:wrapper.GetSignatures`. The `wrapper` provides `TxBuilder` functionality, and it's a private + structure. That function was not used at all and it's not exposed through the `TxBuilder` interface. + * (x/bank) [\#7327](https://github.com/cosmos/cosmos-sdk/pull/7327) AddCoins and SubtractCoins no longer return a resultingValue and will only return an error. + * (x/capability) [#7918](https://github.com/cosmos/cosmos-sdk/pull/7918) Add x/capability safety checks: + * All outward facing APIs will now check that capability is not nil and name is not empty before performing any state-machine changes + * `SetIndex` has been renamed to `InitializeIndex` + * (x/evidence) [\#7251](https://github.com/cosmos/cosmos-sdk/pull/7251) New evidence types and light client evidence handling. The module function names changed. + * (x/evidence) [\#5952](https://github.com/cosmos/cosmos-sdk/pull/5952) Remove APIs for getting and setting `x/evidence` parameters. `BaseApp` now uses a `ParamStore` to manage Tendermint consensus parameters which is managed via the `x/params` `Substore` type. + * (x/gov) [\#6147](https://github.com/cosmos/cosmos-sdk/pull/6147) The `Content` field on `Proposal` and `MsgSubmitProposal` + is now `Any` in concordance with [ADR 019](docs/architecture/adr-019-protobuf-state-encoding.md) and `GetContent` should now + be used to retrieve the actual proposal `Content`. Also the `NewMsgSubmitProposal` constructor now may return an `error` + * (x/ibc) [\#6374](https://github.com/cosmos/cosmos-sdk/pull/6374) `VerifyMembership` and `VerifyNonMembership` now take a `specs []string` argument to specify the proof format used for verification. Most SDK chains can simply use `commitmenttypes.GetSDKSpecs()` for this argument. + * (x/params) [\#5619](https://github.com/cosmos/cosmos-sdk/pull/5619) The `x/params` keeper now accepts a `codec.Marshaller` instead of + a reference to an amino codec. Amino is still used for JSON serialization. + * (x/staking) [\#6451](https://github.com/cosmos/cosmos-sdk/pull/6451) `DefaultParamspace` and `ParamKeyTable` in staking module are moved from keeper to types to enforce consistency. + * (x/staking) [\#7419](https://github.com/cosmos/cosmos-sdk/pull/7419) The `TmConsPubKey` method on ValidatorI has been + removed and replaced instead by `ConsPubKey` (which returns a SDK `cryptotypes.PubKey`) and `TmConsPublicKey` (which + returns a Tendermint proto PublicKey). + * (x/staking/types) [\#7447](https://github.com/cosmos/cosmos-sdk/issues/7447) Remove bech32 PubKey support: + * `ValidatorI` interface update. `GetConsPubKey` renamed to `TmConsPubKey` (consensus public key must be a tendermint key). `TmConsPubKey`, `GetConsAddr` methods return error. + * `Validator` update. Methods changed in `ValidatorI` (as described above) and `ToTmValidator` return error. + * `Validator.ConsensusPubkey` type changed from `string` to `codectypes.Any`. + * `MsgCreateValidator.Pubkey` type changed from `string` to `codectypes.Any`. + * (x/supply) [\#6010](https://github.com/cosmos/cosmos-sdk/pull/6010) All `x/supply` types and APIs have been moved to `x/bank`. + * [\#6409](https://github.com/cosmos/cosmos-sdk/pull/6409) Rename all IsEmpty methods to Empty across the codebase and enforce consistency. + * [\#6231](https://github.com/cosmos/cosmos-sdk/pull/6231) Simplify `AppModule` interface, `Route` and `NewHandler` methods become only `Route` + and returns a new `Route` type. + * (x/slashing) [\#6212](https://github.com/cosmos/cosmos-sdk/pull/6212) Remove `Get*` prefixes from key construction functions + * (server) [\#6079](https://github.com/cosmos/cosmos-sdk/pull/6079) Remove `UpgradeOldPrivValFile` (deprecated in Tendermint Core v0.28). + * [\#5719](https://github.com/cosmos/cosmos-sdk/pull/5719) Bump Go requirement to 1.14+ + + +### State Machine Breaking + +* __General__ + * (client) [\#7268](https://github.com/cosmos/cosmos-sdk/pull/7268) / [\#7147](https://github.com/cosmos/cosmos-sdk/pull/7147) Introduce new protobuf based PubKeys, and migrate PubKey in BaseAccount to use this new protobuf based PubKey format + +* __Modules__ + * (modules) [\#5572](https://github.com/cosmos/cosmos-sdk/pull/5572) Separate balance from accounts per ADR 004. + * Account balances are now persisted and retrieved via the `x/bank` module. + * Vesting account interface has been modified to account for changes. + * Callers to `NewBaseVestingAccount` are responsible for verifying account balance in relation to + the original vesting amount. + * The `SendKeeper` and `ViewKeeper` interfaces in `x/bank` have been modified to account for changes. + * (x/auth) [\#5533](https://github.com/cosmos/cosmos-sdk/pull/5533) Migrate the `x/auth` module to use Protocol Buffers for state + serialization instead of Amino. + * The `BaseAccount.PubKey` field is now represented as a Bech32 string instead of a `crypto.Pubkey`. + * `NewBaseAccountWithAddress` now returns a reference to a `BaseAccount`. + * The `x/auth` module now accepts a `Codec` interface which extends the `codec.Marshaler` interface by + requiring a concrete codec to know how to serialize accounts. + * The `AccountRetriever` type now accepts a `Codec` in its constructor in order to know how to + serialize accounts. + * (x/bank) [\#6518](https://github.com/cosmos/cosmos-sdk/pull/6518) Support for global and per-denomination send enabled flags. + * Existing send_enabled global flag has been moved into a Params structure as `default_send_enabled`. + * An array of: `{denom: string, enabled: bool}` is added to bank Params to support per-denomination override of global default value. + * (x/distribution) [\#5610](https://github.com/cosmos/cosmos-sdk/pull/5610) Migrate the `x/distribution` module to use Protocol Buffers for state + serialization instead of Amino. The exact codec used is `codec.HybridCodec` which utilizes Protobuf for binary encoding and Amino + for JSON encoding. + * `ValidatorHistoricalRewards.ReferenceCount` is now of types `uint32` instead of `uint16`. + * `ValidatorSlashEvents` is now a struct with `slashevents`. + * `ValidatorOutstandingRewards` is now a struct with `rewards`. + * `ValidatorAccumulatedCommission` is now a struct with `commission`. + * The `Keeper` constructor now takes a `codec.Marshaler` instead of a concrete Amino codec. This exact type + provided is specified by `ModuleCdc`. + * (x/evidence) [\#5634](https://github.com/cosmos/cosmos-sdk/pull/5634) Migrate the `x/evidence` module to use Protocol Buffers for state + serialization instead of Amino. + * The `internal` sub-package has been removed in order to expose the types proto file. + * The module now accepts a `Codec` interface which extends the `codec.Marshaler` interface by + requiring a concrete codec to know how to serialize `Evidence` types. + * The `MsgSubmitEvidence` message has been removed in favor of `MsgSubmitEvidenceBase`. The application-level + codec must now define the concrete `MsgSubmitEvidence` type which must implement the module's `MsgSubmitEvidence` + interface. + * (x/evidence) [\#5952](https://github.com/cosmos/cosmos-sdk/pull/5952) Remove parameters from `x/evidence` genesis and module state. The `x/evidence` module now solely uses Tendermint consensus parameters to determine of evidence is valid or not. + * (x/gov) [\#5737](https://github.com/cosmos/cosmos-sdk/pull/5737) Migrate the `x/gov` module to use Protocol + Buffers for state serialization instead of Amino. + * `MsgSubmitProposal` will be removed in favor of the application-level proto-defined `MsgSubmitProposal` which + implements the `MsgSubmitProposalI` interface. Applications should extend the `NewMsgSubmitProposalBase` type + to define their own concrete `MsgSubmitProposal` types. + * The module now accepts a `Codec` interface which extends the `codec.Marshaler` interface by + requiring a concrete codec to know how to serialize `Proposal` types. + * (x/mint) [\#5634](https://github.com/cosmos/cosmos-sdk/pull/5634) Migrate the `x/mint` module to use Protocol Buffers for state + serialization instead of Amino. + * The `internal` sub-package has been removed in order to expose the types proto file. + * (x/slashing) [\#5627](https://github.com/cosmos/cosmos-sdk/pull/5627) Migrate the `x/slashing` module to use Protocol Buffers for state + serialization instead of Amino. The exact codec used is `codec.HybridCodec` which utilizes Protobuf for binary encoding and Amino + for JSON encoding. + * The `Keeper` constructor now takes a `codec.Marshaler` instead of a concrete Amino codec. This exact type + provided is specified by `ModuleCdc`. + * (x/staking) [\#6844](https://github.com/cosmos/cosmos-sdk/pull/6844) Validators are now inserted into the unbonding queue based on their unbonding time and height. The relevant keeper APIs are modified to reflect these changes by now also requiring a height. + * (x/staking) [\#6061](https://github.com/cosmos/cosmos-sdk/pull/6061) Allow a validator to immediately unjail when no signing info is present due to + falling below their minimum self-delegation and never having been bonded. The validator may immediately unjail once they've met their minimum self-delegation. + * (x/staking) [\#5600](https://github.com/cosmos/cosmos-sdk/pull/5600) Migrate the `x/staking` module to use Protocol Buffers for state + serialization instead of Amino. The exact codec used is `codec.HybridCodec` which utilizes Protobuf for binary encoding and Amino + for JSON encoding. + * `BondStatus` is now of type `int32` instead of `byte`. + * Types of `int16` in the `Params` type are now of type `int32`. + * Every reference of `crypto.Pubkey` in context of a `Validator` is now of type string. `GetPubKeyFromBech32` must be used to get the `crypto.Pubkey`. + * The `Keeper` constructor now takes a `codec.Marshaler` instead of a concrete Amino codec. This exact type + provided is specified by `ModuleCdc`. + * (x/staking) [\#7979](https://github.com/cosmos/cosmos-sdk/pull/7979) keeper pubkey storage serialization migration + from bech32 to protobuf. + * (x/supply) [\#6010](https://github.com/cosmos/cosmos-sdk/pull/6010) Removed the `x/supply` module by merging the existing types and APIs into the `x/bank` module. + * (x/supply) [\#5533](https://github.com/cosmos/cosmos-sdk/pull/5533) Migrate the `x/supply` module to use Protocol Buffers for state + serialization instead of Amino. + * The `internal` sub-package has been removed in order to expose the types proto file. + * The `x/supply` module now accepts a `Codec` interface which extends the `codec.Marshaler` interface by + requiring a concrete codec to know how to serialize `SupplyI` types. + * The `SupplyI` interface has been modified to no longer return `SupplyI` on methods. Instead the + concrete type's receiver should modify the type. + * (x/upgrade) [\#5659](https://github.com/cosmos/cosmos-sdk/pull/5659) Migrate the `x/upgrade` module to use Protocol + Buffers for state serialization instead of Amino. + * The `internal` sub-package has been removed in order to expose the types proto file. + * The `x/upgrade` module now accepts a `codec.Marshaler` interface. + +## [v0.39.1](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.39.1) - 2020-08-11 + +### Client Breaking + +* (x/auth) [\#6861](https://github.com/cosmos/cosmos-sdk/pull/6861) Remove public key Bech32 encoding for all account types for JSON serialization, instead relying on direct Amino encoding. In addition, JSON serialization utilizes Amino instead of the Go stdlib, so integers are treated as strings. + +## [v0.39.0](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.39.0) - 2020-07-20 + +### API Breaking Changes + +* (baseapp) [\#5837](https://github.com/cosmos/cosmos-sdk/issues/5837) Transaction simulation now returns a `SimulationResponse` which contains the `GasInfo` and `Result` from the execution. + +### Client Breaking Changes + +* (x/auth) [\#6745](https://github.com/cosmos/cosmos-sdk/issues/6745) Remove BaseAccount's custom JSON {,un}marshalling. + +## [v0.38.5] - 2020-07-02 + +## [v0.38.4] - 2020-05-21 + +## [v0.38.3] - 2020-04-09 + +## [v0.38.2] - 2020-03-25 + +## [v0.38.1] - 2020-02-11 + +## [v0.38.0] - 2020-01-23 + +### State Machine Breaking + +* (genesis) [\#5506](https://github.com/cosmos/cosmos-sdk/pull/5506) The `x/distribution` genesis state + now includes `params` instead of individual parameters. +* (genesis) [\#5017](https://github.com/cosmos/cosmos-sdk/pull/5017) The `x/genaccounts` module has been + deprecated and all components removed except the `legacy/` package. This requires changes to the + genesis state. Namely, `accounts` now exist under `app_state.auth.accounts`. The corresponding migration + logic has been implemented for v0.38 target version. Applications can migrate via: + `$ {appd} migrate v0.38 genesis.json`. +* (modules) [\#5299](https://github.com/cosmos/cosmos-sdk/pull/5299) Handling of `ABCIEvidenceTypeDuplicateVote` + during `BeginBlock` along with the corresponding parameters (`MaxEvidenceAge`) have moved from the + `x/slashing` module to the `x/evidence` module. + +### API Breaking Changes + +* (modules) [\#5506](https://github.com/cosmos/cosmos-sdk/pull/5506) Remove individual setters of `x/distribution` parameters. Instead, follow the module spec in getting parameters, setting new value(s) and finally calling `SetParams`. +* (types) [\#5495](https://github.com/cosmos/cosmos-sdk/pull/5495) Remove redundant `(Must)Bech32ify*` and `(Must)Get*KeyBech32` functions in favor of `(Must)Bech32ifyPubKey` and `(Must)GetPubKeyFromBech32` respectively, both of which take a `Bech32PubKeyType` (string). +* (types) [\#5430](https://github.com/cosmos/cosmos-sdk/pull/5430) `DecCoins#Add` parameter changed from `DecCoins` + to `...DecCoin`, `Coins#Add` parameter changed from `Coins` to `...Coin`. +* (baseapp/types) [\#5421](https://github.com/cosmos/cosmos-sdk/pull/5421) The `Error` interface (`types/errors.go`) + has been removed in favor of the concrete type defined in `types/errors/` which implements the standard `error` interface. + * As a result, the `Handler` and `Querier` implementations now return a standard `error`. + Within `BaseApp`, `runTx` now returns a `(GasInfo, *Result, error)` tuple and `runMsgs` returns a + `(*Result, error)` tuple. A reference to a `Result` is now used to indicate success whereas an error + signals an invalid message or failed message execution. As a result, the fields `Code`, `Codespace`, + `GasWanted`, and `GasUsed` have been removed the `Result` type. The latter two fields are now found + in the `GasInfo` type which is always returned regardless of execution outcome. + * Note to developers: Since all handlers and queriers must now return a standard `error`, the `types/errors/` + package contains all the relevant and pre-registered errors that you typically work with. A typical + error returned will look like `sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, "...")`. You can retrieve + relevant ABCI information from the error via `ABCIInfo`. +* (client) [\#5442](https://github.com/cosmos/cosmos-sdk/pull/5442) Remove client/alias.go as it's not necessary and + components can be imported directly from the packages. +* (store) [\#4748](https://github.com/cosmos/cosmos-sdk/pull/4748) The `CommitMultiStore` interface + now requires a `SetInterBlockCache` method. Applications that do not wish to support this can simply + have this method perform a no-op. +* (modules) [\#4665](https://github.com/cosmos/cosmos-sdk/issues/4665) Refactored `x/gov` module structure and dev-UX: + * Prepare for module spec integration + * Update gov keys to use big endian encoding instead of little endian +* (modules) [\#5017](https://github.com/cosmos/cosmos-sdk/pull/5017) The `x/genaccounts` module has been deprecated and all components removed except the `legacy/` package. +* [\#4486](https://github.com/cosmos/cosmos-sdk/issues/4486) Vesting account types decoupled from the `x/auth` module and now live under `x/auth/vesting`. Applications wishing to use vesting account types must be sure to register types via `RegisterCodec` under the new vesting package. +* [\#4486](https://github.com/cosmos/cosmos-sdk/issues/4486) The `NewBaseVestingAccount` constructor returns an error + if the provided arguments are invalid. +* (x/auth) [\#5006](https://github.com/cosmos/cosmos-sdk/pull/5006) Modular `AnteHandler` via composable decorators: + * The `AnteHandler` interface now returns `(newCtx Context, err error)` instead of `(newCtx Context, result sdk.Result, abort bool)` + * The `NewAnteHandler` function returns an `AnteHandler` function that returns the new `AnteHandler` + interface and has been moved into the `auth/ante` directory. + * `ValidateSigCount`, `ValidateMemo`, `ProcessPubKey`, `EnsureSufficientMempoolFee`, and `GetSignBytes` + have all been removed as public functions. + * Invalid Signatures may return `InvalidPubKey` instead of `Unauthorized` error, since the transaction + will first hit `SetPubKeyDecorator` before the `SigVerificationDecorator` runs. + * `StdTx#GetSignatures` will return an array of just signature byte slices `[][]byte` instead of + returning an array of `StdSignature` structs. To replicate the old behavior, use the public field + `StdTx.Signatures` to get back the array of StdSignatures `[]StdSignature`. +* (modules) [\#5299](https://github.com/cosmos/cosmos-sdk/pull/5299) `HandleDoubleSign` along with params `MaxEvidenceAge` and `DoubleSignJailEndTime` have moved from the `x/slashing` module to the `x/evidence` module. +* (keys) [\#4941](https://github.com/cosmos/cosmos-sdk/issues/4941) Keybase concrete types constructors such as `NewKeyBaseFromDir` and `NewInMemory` now accept optional parameters of type `KeybaseOption`. These + optional parameters are also added on the keys sub-commands functions, which are now public, and allows + these options to be set on the commands or ignored to default to previous behavior. +* [\#5547](https://github.com/cosmos/cosmos-sdk/pull/5547) `NewKeyBaseFromHomeFlag` constructor has been removed. +* [\#5439](https://github.com/cosmos/cosmos-sdk/pull/5439) Further modularization was done to the `keybase` + package to make it more suitable for use with different key formats and algorithms: + * The `WithKeygenFunc` function added as a `KeybaseOption` which allows a custom bytes to key + implementation to be defined when keys are created. + * The `WithDeriveFunc` function added as a `KeybaseOption` allows custom logic for deriving a key + from a mnemonic, bip39 password, and HD Path. + * BIP44 is no longer build into `keybase.CreateAccount()`. It is however the default when using + the `client/keys` add command. + * `SupportedAlgos` and `SupportedAlgosLedger` functions return a slice of `SigningAlgo`s that are + supported by the keybase and the ledger integration respectively. +* (simapp) [\#5419](https://github.com/cosmos/cosmos-sdk/pull/5419) The `helpers.GenTx()` now accepts a gas argument. +* (baseapp) [\#5455](https://github.com/cosmos/cosmos-sdk/issues/5455) A `sdk.Context` is now passed into the `router.Route()` function. + +### Client Breaking Changes + +* (rest) [\#5270](https://github.com/cosmos/cosmos-sdk/issues/5270) All account types now implement custom JSON serialization. +* (rest) [\#4783](https://github.com/cosmos/cosmos-sdk/issues/4783) The balance field in the DelegationResponse type is now sdk.Coin instead of sdk.Int +* (x/auth) [\#5006](https://github.com/cosmos/cosmos-sdk/pull/5006) The gas required to pass the `AnteHandler` has + increased significantly due to modular `AnteHandler` support. Increase GasLimit accordingly. +* (rest) [\#5336](https://github.com/cosmos/cosmos-sdk/issues/5336) `MsgEditValidator` uses `description` instead of `Description` as a JSON key. +* (keys) [\#5097](https://github.com/cosmos/cosmos-sdk/pull/5097) Due to the keybase -> keyring transition, keys need to be migrated. See `keys migrate` command for more info. +* (x/auth) [\#5424](https://github.com/cosmos/cosmos-sdk/issues/5424) Drop `decode-tx` command from x/auth/client/cli, duplicate of the `decode` command. + +## [v0.37.14] - 2020-08-12 + +# - end - \ No newline at end of file diff --git a/ecosystem_readiness.md b/ecosystem_readiness.md index df7cd4a..c3f1013 100644 --- a/ecosystem_readiness.md +++ b/ecosystem_readiness.md @@ -4,6 +4,8 @@ The Iqlusion team continues to reach out to a wide network of Cosmos ecosystem p ## Validators | Category | Company Name | Cosmos Stargate Status | | ------------ | ------------ | ------------ | +| Validators | Bison Trails | Genesis keys received | +| Validators | P2P.ORG - P2P Validator | Genesis keys received | | Validators | Sikka | Genesis keys received | | Validators | Dokia Capital | Genesis keys received | | Validators | Multichain Ventures | Genesis keys received | @@ -32,6 +34,9 @@ The Iqlusion team continues to reach out to a wide network of Cosmos ecosystem p | Validators | Sg-1 | Genesis keys received | | Validators | Blockscape | Genesis keys received | | Validators | Dawns World | Genesis keys received | +| Validators | Stake Capital | Genesis keys received | +| Validators | Alphemy Capital | Genesis keys received | +| Validators | Kalpa Tech | Genesis keys received | ## Wallets @@ -39,8 +44,8 @@ Wallets currently participating in the Cosmos Stargate integration testing | Category | Company Name | Cosmos Stargate Status | | ------------ | ------------ | ------------ | -| Wallets | Cosmosstation | Integration underway | -| Wallets | Keplr | Integration underway | +| Wallets | Cosmosstation | Complete | +| Wallets | Keplr | Complete | | Wallet | Atomic Wallet | Integration underway | | Wallet | Airgap | Integration underway | | Wallet | Cobo | Integration underway | @@ -61,20 +66,20 @@ Exchanges currently participating in the Cosmos Stargate integration testing | Category | Company Name | Cosmos Stargate Status | | ------------ | ------------ | ------------ | -| Exchange | Binance | Contact made | -| Exchange | Coinbase | Integration underway | +| Exchange | Binance | [Support Announced](https://www.binance.com/en/support/announcement/d9833c59f090411fa9e1ad5199d64e02) | +| Exchange | Coinbase | On Schedule | | Exchange | Huobi | Contact made | -| Exchange | Kraken | Integration underway | +| Exchange | Kraken | On Schedule | | Exchange | FTX | Integration underway | | Exchange | KuCoin | Contact made | | Exchange | Poloniex | Integration underway | | Exchange | Upbit | Contact made | -| Exchange | Bitfinex | Contact made | +| Exchange | Bitfinex | On Schedule | | Exchange | Gate.io | Contact made | | Exchange | bitFlyer | Contact made | | Exchange | Luno | Contact made | | Exchange | Zaif | Contact made | -| Exchange | Bittrex | Contact made | +| Exchange | Bittrex | On Schedule | | Exchange | Coinone | Contact made | | Exchange | Bithumb | Contact made | | Exchange | Indodax | Contact made | diff --git a/genesis.json b/genesis.json index 323a181..d1fbbd0 100644 --- a/genesis.json +++ b/genesis.json @@ -1,6 +1,6 @@ { - "genesis_time": "2020-10-15T05:11:23.662126Z", - "chain_id": "stargate-4", + "genesis_time": "2021-01-14T22:31:55.626391Z", + "chain_id": "stargate-final", "initial_height": "1", "consensus_params": { "block": { @@ -11,7 +11,7 @@ "evidence": { "max_age_num_blocks": "100000", "max_age_duration": "172800000000000", - "max_num": 50 + "max_bytes": "1048576" }, "validator": { "pub_key_types": [ @@ -33,809 +33,25 @@ "accounts": [ { "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1q00xhyt59q4sjnjakutnu75s9fd5k0ud2rqent", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1z2hjx8ae4we5vu2p4tctuj6q2vl7ucgmwdplxw", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1r9zn6s2q37rkszcz3jtwrqmp7smpt6g2tzn2zk", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1r05xy5psrs3w5nk9lv6am0hfj4cxrf875hkn4q", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1retj2z7k98dfzaxzvym39hr5eztn38kh7zjkax", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1x8967rqtc0hvmynhy5vv69kc50hhq5gx7ewjd4", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1x5wgh6vwye60wv3dtshs9dmqggwfx2ldnqvev0", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos18lklftmzl6nyy4gsw99en830psmryvpmfsnsdv", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1g2lpsy85795r2fgtrkgzk25m5wkrtl2xe7lygw", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1g6gf43p8ma3ahevf25dya2z22u0d5ajjry4ynf", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos12nd0d7meqfucnky2pxfuy5hs8y3gymjnq06tky", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1tflk30mq5vgqjdly92kkhhq3raev2hnzldd74z", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1dhyud7nt9zkh4s78chggsqyw2nrqyz8hejk5xe", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1wg4s5kd0le7szxwuvvhykshdksex00n0ul34yf", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos10fyfu7fl78f88a7zhcwu72wk3hjlzdm83yr09k", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos15vyuq3ctwfks0wpg2gud4quq6xst8hcgvmp7kh", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos14l0fp639yudfl46zauvv8rkzjgd4u0zk0fyvgr", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1ktecz4dr56j9tsfh7nwg8s9suvhfu70qpzrfcr", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1k3ks2t6cyvm6gj87v68xk3wun5p7d5wmyqnpft", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1h2gacd88hkvlmz5g04md87r54kjf0klnwt25n9", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1c0qp24pq92xz5c96usknlxcmwls3pze95u50m9", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1ck3kl0xe48zynr0nuf4tvvx8s7nhkehzy0saty", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos16quf5adtjqpmx9a8pq0pkwjrnvnwpf74h8cumy", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1te8nxpc2myjfrhaty0dnzdhs5ahdh5ag8gswfl", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1de7qx00pz2j6gn9k88ntxxylelkazfk3dnaamk", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1clpqr4nrk4khgkxj78fcwwh6dl3uw4ep4tgu9q", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1uutuwrwt3z2a5z8z3uasml3rftlpmu25cufp5f", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1fwyz4ygafq52m73tvv7xwaq6ksq2vdn6umqh9d", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos15r4tc0m6hc7z8drq3dzlrtcs6rq2q9l2kc6z4s", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1wdrypwex63geqswmcy5qynv4w3z3dyef0503lw", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos10q4qejlhkhpjmc2j8k4rtdynmzfg5e6e246wnn", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1ssm0d433seakyak8kcf93yefhknjleed4psy4g", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1szlr0z5u6sulyzc82797x303llhv4uxhu4t4zk", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1jlr62guqwrwkdt4m3y00zh2rrsamhjf9kg0p2s", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1x88j7vp2xnw3zec8ur3g4waxycyz7m0mcreeaj", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos10sr2e9tcw5fl4tknht7j8hzw57k5s3f48k4et5", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1ptyzewnns2kn37ewtmv6ppsvhdnmeapvwavsg8", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1ualhu3fjgg77g485gmyswkq3w0dp7gysl5km0l", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1ff0dw8kawsnxkrgj7p65kvw7jxxakyf8kqnyy4", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1hjct6q7npsspsg3dgvzk3sdf89spmlpfg8wwf7", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1rcp29q3hpd246n6qak7jluqep4v006cd4v7r6v", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1grgelyng2v6v3t8z87wu3sxgt9m5s03xvslewd", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1emaa7mwgpnpmc7yptm728ytp9quamsvuz92x5u", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1ec3p6a75mqwkv33zt543n6cnxqwun37rxqj2vl", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1vf44d85es37hwl9f4h9gv0e064m0lla62x32sp", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1uclv9m6xuh4m8puxd8ndwhxhf968gxyhk5udyx", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1zsq22eqgrswuhmcul2fun7ntgrzjgph3n5ay3z", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1ey69r37gfxvxg62sh4r0ktpuc46pzjrmz29g45", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1000ya26q2cmh399q4c5aaacd9lmmdqp92z6l7q", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "cosmos1pvzrncl89w5z9psr8ch90057va9tc23pehpd2t", - "pub_key": null, - "account_number": "0", - "sequence": "0" - } - ] - }, - "bank": { - "params": { - "send_enabled": [], - "default_send_enabled": true - }, - "balances": [ - { - "address": "cosmos1q00xhyt59q4sjnjakutnu75s9fd5k0ud2rqent", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1ptyzewnns2kn37ewtmv6ppsvhdnmeapvwavsg8", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1pvzrncl89w5z9psr8ch90057va9tc23pehpd2t", - "coins": [ - { - "denom": "umuon", - "amount": "1000000000000000000" - } - ] - }, - { - "address": "cosmos1z2hjx8ae4we5vu2p4tctuj6q2vl7ucgmwdplxw", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1zsq22eqgrswuhmcul2fun7ntgrzjgph3n5ay3z", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1r9zn6s2q37rkszcz3jtwrqmp7smpt6g2tzn2zk", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1r05xy5psrs3w5nk9lv6am0hfj4cxrf875hkn4q", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1rcp29q3hpd246n6qak7jluqep4v006cd4v7r6v", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1retj2z7k98dfzaxzvym39hr5eztn38kh7zjkax", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1x8967rqtc0hvmynhy5vv69kc50hhq5gx7ewjd4", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1x88j7vp2xnw3zec8ur3g4waxycyz7m0mcreeaj", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1x5wgh6vwye60wv3dtshs9dmqggwfx2ldnqvev0", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos18lklftmzl6nyy4gsw99en830psmryvpmfsnsdv", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1grgelyng2v6v3t8z87wu3sxgt9m5s03xvslewd", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1g2lpsy85795r2fgtrkgzk25m5wkrtl2xe7lygw", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1g6gf43p8ma3ahevf25dya2z22u0d5ajjry4ynf", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1ff0dw8kawsnxkrgj7p65kvw7jxxakyf8kqnyy4", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1fwyz4ygafq52m73tvv7xwaq6ksq2vdn6umqh9d", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos12nd0d7meqfucnky2pxfuy5hs8y3gymjnq06tky", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1tflk30mq5vgqjdly92kkhhq3raev2hnzldd74z", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1te8nxpc2myjfrhaty0dnzdhs5ahdh5ag8gswfl", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1vf44d85es37hwl9f4h9gv0e064m0lla62x32sp", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1dhyud7nt9zkh4s78chggsqyw2nrqyz8hejk5xe", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1de7qx00pz2j6gn9k88ntxxylelkazfk3dnaamk", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1wg4s5kd0le7szxwuvvhykshdksex00n0ul34yf", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1wdrypwex63geqswmcy5qynv4w3z3dyef0503lw", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos10q4qejlhkhpjmc2j8k4rtdynmzfg5e6e246wnn", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos10fyfu7fl78f88a7zhcwu72wk3hjlzdm83yr09k", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1000ya26q2cmh399q4c5aaacd9lmmdqp92z6l7q", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos10sr2e9tcw5fl4tknht7j8hzw57k5s3f48k4et5", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1szlr0z5u6sulyzc82797x303llhv4uxhu4t4zk", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1ssm0d433seakyak8kcf93yefhknjleed4psy4g", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1jlr62guqwrwkdt4m3y00zh2rrsamhjf9kg0p2s", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos15r4tc0m6hc7z8drq3dzlrtcs6rq2q9l2kc6z4s", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos15vyuq3ctwfks0wpg2gud4quq6xst8hcgvmp7kh", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos14l0fp639yudfl46zauvv8rkzjgd4u0zk0fyvgr", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1ktecz4dr56j9tsfh7nwg8s9suvhfu70qpzrfcr", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1k3ks2t6cyvm6gj87v68xk3wun5p7d5wmyqnpft", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { "address": "cosmos1h2gacd88hkvlmz5g04md87r54kjf0klnwt25n9", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1hjct6q7npsspsg3dgvzk3sdf89spmlpfg8wwf7", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1c0qp24pq92xz5c96usknlxcmwls3pze95u50m9", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1ck3kl0xe48zynr0nuf4tvvx8s7nhkehzy0saty", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1clpqr4nrk4khgkxj78fcwwh6dl3uw4ep4tgu9q", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1ey69r37gfxvxg62sh4r0ktpuc46pzjrmz29g45", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1ec3p6a75mqwkv33zt543n6cnxqwun37rxqj2vl", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1emaa7mwgpnpmc7yptm728ytp9quamsvuz92x5u", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos16quf5adtjqpmx9a8pq0pkwjrnvnwpf74h8cumy", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1uclv9m6xuh4m8puxd8ndwhxhf968gxyhk5udyx", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, - { - "address": "cosmos1uutuwrwt3z2a5z8z3uasml3rftlpmu25cufp5f", - "coins": [ - { - "denom": "umuon", - "amount": "10000000000" - } - ] - }, + "pub_key": null, + "account_number": "0", + "sequence": "0" + } + ] + }, + "bank": { + "params": { + "send_enabled": [], + "default_send_enabled": true + }, + "balances": [ { - "address": "cosmos1ualhu3fjgg77g485gmyswkq3w0dp7gysl5km0l", + "address": "cosmos1h2gacd88hkvlmz5g04md87r54kjf0klnwt25n9", "coins": [ { "denom": "umuon", - "amount": "10000000000" + "amount": "100000000000000000000" } ] } @@ -883,7 +99,7 @@ { "@type": "/cosmos.staking.v1beta1.MsgCreateValidator", "description": { - "moniker": "iqlusion_test", + "moniker": "iq", "identity": "", "website": "", "security_contact": "", @@ -897,14 +113,17 @@ "min_self_delegation": "1", "delegator_address": "cosmos1h2gacd88hkvlmz5g04md87r54kjf0klnwt25n9", "validator_address": "cosmosvaloper1h2gacd88hkvlmz5g04md87r54kjf0klntl7plk", - "pubkey": "cosmosvalconspub1zcjduepqauez9nxf0jg3477w06wf060zztjy33j52te3hcyyypjer0kj0l6s8l2lht", + "pubkey": { + "@type": "/cosmos.crypto.ed25519.PubKey", + "key": "fCcp3ag4mXlt9thjZSYWz+SAiO0fEYFyi2Budui5LSg=" + }, "value": { "denom": "umuon", - "amount": "10000000000" + "amount": "100000000000" } } ], - "memo": "f0f1a9609e8591217607dd1951332514753d1b2d@10.0.1.236:26656", + "memo": "6ae55f60f0951247985ccd52773312aa89413d1c@10.0.1.236:26656", "timeout_height": "0", "extension_options": [], "non_critical_extension_options": [] @@ -932,7 +151,7 @@ } }, "signatures": [ - "XAuHjAEfgOf53nA5E0AdtuUoUDwEYocR5MeWUpPEhZFUUfAKykJs53P460SsYxRbM2C3CWWhyR2MQU1kBF0Xvg==" + "62q5W4h+bjDTOnfgqsdF4dDeO/UI6qpaIdPdVkT4fzBB+RUe+KE0OETOq72vTLfeWFuVF/ZP3SBRVs+jKj/Mlg==" ] } ] @@ -964,19 +183,30 @@ "client_genesis": { "clients": [], "clients_consensus": [], - "create_localhost": true + "clients_metadata": [], + "params": { + "allowed_clients": [ + "06-solomachine", + "07-tendermint" + ] + }, + "create_localhost": false, + "next_client_sequence": "0" }, "connection_genesis": { "connections": [], - "client_connection_paths": [] + "client_connection_paths": [], + "next_connection_sequence": "0" }, "channel_genesis": { "channels": [], "acknowledgements": [], "commitments": [], + "receipts": [], "send_sequences": [], "recv_sequences": [], - "ack_sequences": [] + "ack_sequences": [], + "next_channel_sequence": "0" } }, "mint": { @@ -1029,6 +259,7 @@ "receive_enabled": true } }, - "upgrade": {} + "upgrade": {}, + "vesting": {} } } \ No newline at end of file diff --git a/hub_upgrade_proposal.md b/hub_upgrade_proposal.md new file mode 100644 index 0000000..36e6696 --- /dev/null +++ b/hub_upgrade_proposal.md @@ -0,0 +1,121 @@ +# Cosmos Stargate Hub Upgrade Proposal 2 + +## by Iqlusion + +October 31, 2020 + +Current Status: Draft +Blocked on Final Code Hashes from the IBC, Tendermint and SDK teams. + +## Key Results + +------------ +If passed, this governance proposal would commit the Cosmos Hub to upgrading to halting the `cosmoshub-3` at 06:00 UTC on Nov 19 exporting the state and starting `cosmoshub-4` based on gaia 3.0. + +## Context + +------------ + +In proposal 27, Iqlusion proposed a comprehensive process to translate the unprecented surface area of this upgrade. We called this process Stargate. + +Iqlusion is pleased to report that the Stargate Process has been successfully executed. We believe the chevrons are unlocked and that Hub can safely step throught the Stargate. + +After the success of the community approval of the first Stargate Upgrade proposal, we now follow-up with the second Stargate proposal for the Cosmos Hub that will outline the results of the first proposal and the process for upgrading the Hub. + +## The Stargate Plan + +------------ +The purpose of the Stargate effort was to ensure that Cosmos can fulfill the vision of an Internet of Blockchains in 2020 while mitigating the risks outlined above. It was also an attempt to create a process for complex future on-chain upgrades on the Cosmos Hub. That included the following steps: + +1. Run the Stargate Testnet and use this as an integration testing target with widest possible ecosystem participation to help confirm the readiness of the release software. + +2. Engage and support critical partners during the integration process so that partners are able to actively participate in the testing process and provide insights into their success with the upgrade. + +3. Dedicate significant resources in terms of full time human resources and documentation efforts to ensure that everyone integrated into the Cosmos Hub can self-certify as Stargate-ready. + +4. Report back to the Hub on the success of the integration process. + a. We expect that the primary responsibility of the Cosmos Hub is to assess whether we have mitigated the above risks sufficiently. + + b. Provide a written report of the entire Stargate effort to enable Hub governance to make an informed decision. +5. At conclusion, we will indicate why we have confidence that an upgrade won't be disruptive to the Hub’s ecosystem. + +## Stargate Plan Results + +------------ + +### 1. Ecoystem Participation + +The results of ecosystem participation and engagement are available in our [Stargate Ecosystem Readiness Report](https://github.com/cosmosdevs/stargate/blob/master/ecosystem_readiness.md). We list on this page ecosystem partners such as Validators that provided their validator public keys as well as infrastructure partners that confirmed their integration testing the Stargate testnet tags. Validators, exchanges, and wallets have made up the most responsive of their results completing integration testing of the stargate releases. + +The Cosmos SDK, Tendermint, AiB, and IBC teams worked tirelessly to deliver the most robust software feature set that would make up the Cosmos Stargate release. Their review of their efforts are documented in their post ["How Seven Teams Collaborated To Deliver The Biggest Software Upgrade In The Cosmos Universe"](https://blog.cosmos.network/how-seven-teams-collaborated-to-deliver-the-biggest-software-upgrade-in-the-cosmos-universe-2288f4f9afe8). + +Integration testing continued through the release of the Cosmos SDK v0.40.0-rc2 that makes up the Cosmos-hub Stargate testnet tag for a simulated upgrade of the CosmosHub-3 to CosmosHub-4. Also, the AiB team continues to deliver simulation testing of Cosmos Stargate to ensure that any possible chain bug issues can be detected and documented. + +We are confident that we have and continue to achieve increased ecosystem engagement with the Stargate testnet. + +### 2. Critical Partner Support + +We delivered critical partner support to leading ATOM exchanges. Out of the exchange support efforts, we documented the [IBC Readiness Matrix](https://github.com/cosmosdevs/stargate/blob/master/ibc_readiness_matrix.md) that outlines the levels of readiness that exchanges may select as they upgrade to Cosmos Stargate. + +We also completed and delivered a completed legacy Amino Audit, [AminoRest & You](https://github.com/cosmosdevs/stargate/blob/master/audit.md). The core finding of this audit was that changes to the underlying structs result in an interface that is close to the prior version allowing legacy queries to return valid data. + +### 3. Documentation and Self-Certification + +Documentation was a success for the Cosmos Stargate effort. The upgrades with the most breaking changes such as legacy Amino have a complete audit with documentation on exceptions for blockchain API interfaces. + +Most exchanges and wallets have taken self-certification on directly. Our team continues to provide real-time support on multiple partner slack channels and on the Cosmos [#stargate Discord](https://discord.gg/W8trcGV) channel. + +### Cosmos Stargate Integration Success + +Cosmos Stargate integration success with exchanges and wallet providers reflects the quality of the code developed by the various Cosmos teams. + +## Stargate Upgrade Steps + +------------ +The upgrade steps for the simulated upgrade of the current Cosmoshub mainnet to Cosmos Stargate includes the following steps: + +This section is with the current `gaia 2.0.*` implementation. + + 1. Validators should set their `gaia` with a halt time of `1605765600`ie. 06:00 UTC on Nov 19th in Unix time. + + 2. Validators should then export the current cosmos state with `gaiad export > cosmoshub-3-export.json` + + 3. Validators should determine the height the last block. + + 4. Validators should back up their `.gaiad` directory. + +This section is with the upgrade `gaia 3.0.*` implemenataion. + + 1. Validators should then migrate the exported genesis state. `gaiad migrate cosmoshub-3-export.json --chain-id=cosmoshub-4 --initial-height [last_cosmoshub-3_block+1] > genesis.json` + 2. Validators should delete their `~/.gaiad` directory and create a new one with `gaiad init [name]` and then edit their configuration files. + 3. Validators should then start `cosmoshub-4` with `gaiad start`. Automated audits of the genesis state can take 30-120 min using the crisis module. This can be disabled by `gaiad start --x-crisis-skip-assert-invariants`. + +## Time of the Upgrade + +------------ +We propose scheduling the Cosmoshub-3 to Cosmoshub-4 simulated upgrade for Thursday November 19th, 2020 at [0600 UTC] + +## The git commit of Gaia that we are upgrading to + +------------ +TBD + +## What we're doing while voting is happening + +------------ + +Testing and integration work will be ongoing with our simulated upgrade testnet running, IBC channels and opened and we will be supporting validator partners. + +Large scale simulation testing will be on going. + +We have also worked with the teams to double the bug bounty on the stargate upgrade. + +## What is the upgrade abort process + +------------ + +There are multiple circumstances while the proposal should be abandoned even if it passes.34 + +1. A critical vulnerability may be found in the software. If the developement teams change their reccomended version of gaia, the validator set should implicitly abandon this upgrade procedure. A future proposal will be made to the Hub to upgrade to the new target commit. + +2. The migration process fails could fail to produce a valid `cosmoshub-4` genesis file. In this case, the validator set should restart `cosmoshub-3` and a future governance proposal will be done to initiate another upgrade. diff --git a/ibc_readiness_matrix.md b/ibc_readiness_matrix.md index 96395f0..e31c1a2 100644 --- a/ibc_readiness_matrix.md +++ b/ibc_readiness_matrix.md @@ -8,18 +8,31 @@ Exchanges should use the Stargate IBC Skill matrix below to help guide their lev The ability to filter and handle customer support for token balances other than ATOMS. The exchange will not show non-ATOM tokens in user balances. An exchange receives tokens to my balance and the “sender” of the tokens is an IBC transaction that originated on another chain. Internal data models should be able to handle this kind of event at level 0. Specifically when the message "sender" is the untrusted relayer and originator of the tx is on another chain. ATOMs can be expected to be sent to exchanges in this manner at some point after ICS20 is fully active. +If your integrations are only supporting the legacy amino interface, IBC transfer transactions will not deserialize and you will need to be able to query the grpc or grpc json interfaces. + +-[GPRC interaction docs](https://github.com/cosmos/cosmos-sdk/blob/master/docs/run-node/interact-node.md) + **IBC Skill Level 1** Would support a select list of tokens and channels. The expectation is that only select and trusted channels and their tokens would be supported by the exchange. This is somewhat analogous to ERC20 support on Ethereum. +Wallets must be familiar with the [Denomination Trace](https://github.com/cosmos/cosmos-sdk/blob/master/x/ibc/applications/transfer/spec/01_concepts.md) mechanism for identifying the origin of the denomination. + **IBC Skill Level 2** Would support for all ICS20 and additional application protocols. This involves some degree of automated analysis of the topology of the IBC network. +[Interchain accounts](https://chainapsis.github.io/cosmos-sdk-interchain-account/modules/ibc-account/) is the first additional IBC protocol. + **IBC Skill Level 3** Integrator can interact with creating IBC connections and relaying packets. A user could send a token to a wallet on an IBC without first having to send it to a Cosmos Hub wallet. +This requires familiarity with operating relayer software. + +- [Go Relayer](https://github.com/cosmos/relayer) +- [Rust Relayer](https://github.com/informalsystems/ibc-rs#running-the-relayer) + **IBC Skill Level 4** Support for additional IBC protocols that may be relevant to users like Atomic Token Exchange over IBC or lending etc. For example, initiating an IBC transaction to access a liquidity pool atomically from an exchange wallet. diff --git a/validator_pub_keys/01node.json b/validator_pub_keys/01node.json new file mode 100644 index 0000000..3e1648e --- /dev/null +++ b/validator_pub_keys/01node.json @@ -0,0 +1,5 @@ +{ + "validator_name":"01node", + "validator_address":"cosmosvaloper17mggn4znyeyg25wd7498qxl7r2jhgue8u4qjcq", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqh6xjlwnd50hm6q8j3n6znaykj0xwwy38r6qhc32tlxp3uxh7aa6ql58jar" +} diff --git a/validator_pub_keys/BisonTrails.json b/validator_pub_keys/BisonTrails.json new file mode 100644 index 0000000..397dee7 --- /dev/null +++ b/validator_pub_keys/BisonTrails.json @@ -0,0 +1,5 @@ +{ + "validator_name":"Bison Trails", + "validator_address":"cosmosvaloper1crqm3598z6qmyn2kkcl9dz7uqs4qdqnr6s8jdn", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqtqyz8x2nf5rpq4cq2g6y4rcflcxk5d4kjy5ugsqmpelaxd3kngdsmqhz9k" +} diff --git a/validator_pub_keys/Cephalopod_Equipment_Corp.json b/validator_pub_keys/Cephalopod_Equipment_Corp.json new file mode 100644 index 0000000..756d948 --- /dev/null +++ b/validator_pub_keys/Cephalopod_Equipment_Corp.json @@ -0,0 +1,5 @@ +{ + "validator_name": "Cephalopod Equipment Corp", + "validator_address": "cosmosvaloper16k579jk6yt2cwmqx9dz5xvq9fug2tekvlu9qdv", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq4f2zzkjr20v4gt0gy9nmdznxsvmgluyn3vnjmgqq58q9t47uyffqndgy0p" +} diff --git a/validator_pub_keys/Citadel.one.json b/validator_pub_keys/Citadel.one.json new file mode 100644 index 0000000..e99c22d --- /dev/null +++ b/validator_pub_keys/Citadel.one.json @@ -0,0 +1,5 @@ +{ + "validator_name":"Citadel.one", + "validator_address":"cosmosvaloper1lzhlnpahvznwfv4jmay2tgaha5kmz5qxerarrl", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepquuaszms40adxzwkjr5ew4gj8s49dyjx5zsncar4cqfk4wh07eh8sjxjeaf" +} \ No newline at end of file diff --git a/validator_pub_keys/CitizenCosmos.json b/validator_pub_keys/CitizenCosmos.json new file mode 100644 index 0000000..e6db700 --- /dev/null +++ b/validator_pub_keys/CitizenCosmos.json @@ -0,0 +1,5 @@ +{ + "validator_name":"Citizen Cosmos", + "validator_address":"cosmosvaloper1e859xaue4k2jzqw20cv6l7p3tmc378pc3k8g2u", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqehuq39q3pkvalrjqmq8uf2f0dfs07uezs78wdwmzlwhkqn09gzwq0gdsal" +} diff --git a/validator_pub_keys/Cosmostation.json b/validator_pub_keys/Cosmostation.json index 2357f08..940dd53 100644 --- a/validator_pub_keys/Cosmostation.json +++ b/validator_pub_keys/Cosmostation.json @@ -1,6 +1,6 @@ { "validator_name":"Cosmostation", "validator_address":"cosmosvaloper1clpqr4nrk4khgkxj78fcwwh6dl3uw4epsluffn", - "stargate_consensus_public_key":"cosmosvalconspub1zcjduepq0dc9apn3pz2x2qyujcnl2heqq4aceput2uaucuvhrjts75q0rv5smjjn7v" + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqc9d40a3mmx4drpkz7ywl0z4z7fj2x8475twaqj860gez5kjfuppq08cpyk" } - \ No newline at end of file + diff --git a/validator_pub_keys/CypherCore.json b/validator_pub_keys/CypherCore.json new file mode 100644 index 0000000..d6edc77 --- /dev/null +++ b/validator_pub_keys/CypherCore.json @@ -0,0 +1,5 @@ +{ + "validator_name":"Cypher Core", + "validator_address":"cosmosvaloper19q0mkw7jnx9k4njxqeurc0qmg3scpenm4mhtym", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqcdav5ylt2zst90qmuh8e5w07xmxv9y6wufp5k9ngzmx7v9qewqtqkcq4z8" +} diff --git a/validator_pub_keys/DelegaNetworks.json b/validator_pub_keys/DelegaNetworks.json index 8473c44..9dd6eb5 100644 --- a/validator_pub_keys/DelegaNetworks.json +++ b/validator_pub_keys/DelegaNetworks.json @@ -1,5 +1,5 @@ { "validator_name":"DelegaNetworks", -"validator_address":"cosmos1uutuwrwt3z2a5z8z3uasml3rftlpmu25cufp5f", +"validator_address":"cosmosvaloper1uutuwrwt3z2a5z8z3uasml3rftlpmu25aga5c6", "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqarrl0ppddzyczwvcqwf3jwd9qwkhxfy6lcv8ep4msk293mlxg39qgf77y3" } diff --git a/validator_pub_keys/DragonStake.json b/validator_pub_keys/DragonStake.json index 4dfe9a3..27e7df8 100644 --- a/validator_pub_keys/DragonStake.json +++ b/validator_pub_keys/DragonStake.json @@ -1,5 +1,5 @@ { "validator_name":"DragonStake", "validator_address":"cosmosvaloper15r4tc0m6hc7z8drq3dzlrtcs6rq2q9l2nvwher", - "stargate_consensus_public_key":"cosmosvalconspub1addwnpepqdhnuhqu9qkl7y8rfzhm89gxjqvf6kk0kzfqm4gxe4svawy0ke4ewrnx9d6" + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqzmcxc8tdmqsydmn8uw3qvn28frswr3kfzdy0nxm4f6z0fgqnq66qlw76kz" } diff --git a/validator_pub_keys/Forbole.json b/validator_pub_keys/Forbole.json new file mode 100644 index 0000000..373f9ab --- /dev/null +++ b/validator_pub_keys/Forbole.json @@ -0,0 +1,6 @@ +{ + "validator_name":"Forbole", + "validator_address":"cosmosvaloper14kn0kk33szpwus9nh8n87fjel8djx0y070ymmj", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqgtdccmpdht8s4stcym3nm6yeswxfajg5pk6469kyfy5q6jdpyxfq5lqym0" +} + diff --git a/validator_pub_keys/GenesisLab.json b/validator_pub_keys/GenesisLab.json index 94322a3..95b8892 100644 --- a/validator_pub_keys/GenesisLab.json +++ b/validator_pub_keys/GenesisLab.json @@ -1,5 +1,5 @@ { "validator_name":"Genesis Lab", "validator_address":"cosmosvaloper1wdrypwex63geqswmcy5qynv4w3z3dyef2qmyna", - "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqs0et7kpf82glsw5j9jnppekrpa7kl6gr6xk67ztqg9ynmhgj82ks9edcrw" + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqx83cedysnrarkqkslc7ndqxxxh8yn2qp96qzxafavqfu8q6xttqsydcu2z" } diff --git a/validator_pub_keys/HashQuark.json b/validator_pub_keys/HashQuark.json index a18607e..e6fb2f3 100644 --- a/validator_pub_keys/HashQuark.json +++ b/validator_pub_keys/HashQuark.json @@ -1,5 +1,5 @@ { "validator_name":"HashQuark", -"validator_address":"cosmos10q4qejlhkhpjmc2j8k4rtdynmzfg5e6e246wnn", +"validator_address":"cosmosvaloper10q4qejlhkhpjmc2j8k4rtdynmzfg5e6e0pwmlq", "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqxf9u7a6wmlcmyhwzmzhr4eae9adftl827ydmd6a7knjprxxaz48shg2wgv" } diff --git a/validator_pub_keys/KysenPool.json b/validator_pub_keys/KysenPool.json new file mode 100644 index 0000000..68d310e --- /dev/null +++ b/validator_pub_keys/KysenPool.json @@ -0,0 +1,5 @@ +{ + "validator_name":"KysenPool Sky", + "validator_address":"cosmosvaloper146kwpzhmleafmhtaxulfptyhnvwxzlvm87hwnm", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqsxcxw7nrmkweuav4k5z2gjvf205cvymaljum6kv0sj7srn8wlveq7r5rvx" +} diff --git a/validator_pub_keys/Nodeasy.com.json b/validator_pub_keys/Nodeasy.com.json new file mode 100644 index 0000000..a8517ea --- /dev/null +++ b/validator_pub_keys/Nodeasy.com.json @@ -0,0 +1,6 @@ +{ + "validator_name":"Nodeasy.com", + "validator_address":"cosmosvaloper1mykn77lkynl8fkwvl9tqg369u0zajzzcdhkptq", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqft6uxfmfjjce0p7ke4h0zc38x4d9d38wlmrgcc47flru92qq3ydq76mrsf" +} + diff --git a/validator_pub_keys/P2P.ORG.json b/validator_pub_keys/P2P.ORG.json new file mode 100644 index 0000000..472539a --- /dev/null +++ b/validator_pub_keys/P2P.ORG.json @@ -0,0 +1,5 @@ +{ + "validator_name":"P2P.ORG", + "validator_address":"cosmosvaloper132juzk0gdmwuxvx4phug7m3ymyatxlh9734g4w", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepq8qrnv9ewmps46gyjqyzajmtay7hrj5dz7fsxh4qc7p3xnwumvrls38dv5r" +} diff --git a/validator_pub_keys/Sentinel.json b/validator_pub_keys/Sentinel.json new file mode 100644 index 0000000..0c1243b --- /dev/null +++ b/validator_pub_keys/Sentinel.json @@ -0,0 +1,5 @@ +{ + "validator_name": "Sentinel", + "validator_address": "cosmosvaloper1u6ddcsjueax884l3tfrs66497c7g86skn7pa0u", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq09kyxsdw0p3ammk3hglv2kjteyxecla4a84mv3tw5f3haj8kpvnslxp0mc" +} diff --git a/validator_pub_keys/SkystarCapital.json b/validator_pub_keys/SkystarCapital.json new file mode 100644 index 0000000..c92094e --- /dev/null +++ b/validator_pub_keys/SkystarCapital.json @@ -0,0 +1,5 @@ +{ + "validator_name":"Skystar Capital", + "validator_address":"cosmosvaloper1uhnsxv6m83jj3328mhrql7yax3nge5svrv6t6c", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqzt04jd95e5dtmd0f6gc3xc8l8au8ps22cc5wnxm5chcqnyn8qs3s068afw" +} diff --git a/validator_pub_keys/StakeCapital.json b/validator_pub_keys/StakeCapital.json new file mode 100644 index 0000000..b3921cc --- /dev/null +++ b/validator_pub_keys/StakeCapital.json @@ -0,0 +1,5 @@ +{ +"validator_name":"Stake Capital", +"validator_address":"cosmosvaloper1k9a0cs97vul8w2vwknlfmpez6prv8klv03lv3d", +"stargate_consensus_public_key":"cosmosvalconspub1zcjduepqfgpyq4xk4s96ksmkfrr7juea9kmdxkl5ht94xgpxe240743u9cvsht489p" +} diff --git a/validator_pub_keys/StakeSystems.json b/validator_pub_keys/StakeSystems.json new file mode 100644 index 0000000..ebb1714 --- /dev/null +++ b/validator_pub_keys/StakeSystems.json @@ -0,0 +1,5 @@ +{ + "validator_name":"stake.systems", + "validator_address":"cosmosvaloper1ualhu3fjgg77g485gmyswkq3w0dp7gys6qzwrv", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqn0ekk3nslmz6h5trqq6twrf0e8n3sfxk2kmgkp474yakwf5lr7rq6eqatw" +} diff --git a/validator_pub_keys/Stakefish.json b/validator_pub_keys/Stakefish.json new file mode 100644 index 0000000..6d0bee2 --- /dev/null +++ b/validator_pub_keys/Stakefish.json @@ -0,0 +1,5 @@ +{ + "validator_name":"🐠stake.fish", + "validator_address":"cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqezmxjhv4yzemce7qul2aqzmm6gd6f6r6ruxc7kxk6tcr6w6zud3qfuhm2r" +} diff --git a/validator_pub_keys/Stakin.json b/validator_pub_keys/Stakin.json new file mode 100644 index 0000000..a4a5b01 --- /dev/null +++ b/validator_pub_keys/Stakin.json @@ -0,0 +1,5 @@ +{ + "validator_name":"Stakin", + "validator_address":"cosmosvaloper1fhr7e04ct0zslmkzqt9smakg3sxrdve6ulclj2", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepq2vrwk0dhn0kh443jxlgscd7luknvl56h3dr0pyfglxwdnhquae9srek6ew" +} diff --git a/validator_pub_keys/TomShi.json b/validator_pub_keys/TomShi.json index 3f6458a..a85437a 100644 --- a/validator_pub_keys/TomShi.json +++ b/validator_pub_keys/TomShi.json @@ -1,5 +1,5 @@ { "validator_name":"TomShi", -"validator_address":"cosmos10sr2e9tcw5fl4tknht7j8hzw57k5s3f48k4et5", +"validator_address":"cosmosvaloper10sr2e9tcw5fl4tknht7j8hzw57k5s3f4zzpv88", "stargate_consensus_public_key":"cosmosvalconspub1zcjduepq4rqxjd5fjqps9mgs3snjdmpdllsew62f2yqpt83dnw0fn4cuddrsrc6m4g" } diff --git a/validator_pub_keys/X-Stake.json b/validator_pub_keys/X-Stake.json new file mode 100644 index 0000000..63d86ed --- /dev/null +++ b/validator_pub_keys/X-Stake.json @@ -0,0 +1,5 @@ +{ + "validator_name":"X-Stake", + "validator_address":"cosmosvalcons1qzkmn04l39v2t7q32sycm950zj0kj9jtj46vqf", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqy567dh9a7ak0tcl8n8u9lwh0xpp8vl7wlv9gjlf5d6uj7prvnjfsyaur90" +} \ No newline at end of file diff --git a/validator_pub_keys/Ztake.json b/validator_pub_keys/Ztake.json new file mode 100644 index 0000000..3eff538 --- /dev/null +++ b/validator_pub_keys/Ztake.json @@ -0,0 +1,5 @@ +{ + "validator_name": "Ztake.org", + "validator_address": "cosmosvaloper102ruvpv2srmunfffxavttxnhezln6fnc54at8c", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq33h3ldxapw2rte5zsryatsr92jnmjpfhz54478dxhxkqj6pj9hasqvs6xr" +} diff --git a/validator_pub_keys/alexandruast.json b/validator_pub_keys/alexandruast.json deleted file mode 100644 index 537f942..0000000 --- a/validator_pub_keys/alexandruast.json +++ /dev/null @@ -1,5 +0,0 @@ -{ -"validator_name":"alexandruast", -"validator_address":"cosmos1ualhu3fjgg77g485gmyswkq3w0dp7gysl5km0l", -"stargate_consensus_public_key":"cosmosvalconspub1zcjduepqapkvxxn8dwvf0alz8a506qa8v7ald0su95ypnfrg24rdp7fme7gqadpucf" -} diff --git a/validator_pub_keys/alphemycapital.json b/validator_pub_keys/alphemycapital.json new file mode 100644 index 0000000..09e1ffd --- /dev/null +++ b/validator_pub_keys/alphemycapital.json @@ -0,0 +1,5 @@ +{ + "validator_name":"Alphemy Capital", + "validator_address":"cosmosvaloper16zgjnqxryhq2kftfuv8urp50x0xwt5dagemhfl", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqeumluaf7n7ss9qmaj43v4gd4dzj5jfw7cdnn6vngwd2m7gmu48lqsyy3wa" +} diff --git a/validator_pub_keys/auditone.json b/validator_pub_keys/auditone.json new file mode 100644 index 0000000..ff94390 --- /dev/null +++ b/validator_pub_keys/auditone.json @@ -0,0 +1,5 @@ +{ + "validator_name":"AUDIT.one", + "validator_address":"cosmosvaloper1udpsgkgyutgsglauk9vk9rs03a3skc62gup9ny", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqwc0psjv0ta2trx3nf6zgwrhkwquws0026xv94aj7as6we9xm47yqzl7v04" +} diff --git a/validator_pub_keys/bharvest.json b/validator_pub_keys/bharvest.json new file mode 100644 index 0000000..0763796 --- /dev/null +++ b/validator_pub_keys/bharvest.json @@ -0,0 +1,5 @@ +{ + "validator_name":"B-Harvest", + "validator_address":"cosmosvaloper10e4vsut6suau8tk9m6dnrm0slgd6npe3jx5xpv", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqzsr79csnz2cltwue35gnr683psg6utmd6464jzhfxrefu5rkcldq8ckjl0" +} diff --git a/validator_pub_keys/bi23_labs.json b/validator_pub_keys/bi23_labs.json new file mode 100644 index 0000000..bfa7987 --- /dev/null +++ b/validator_pub_keys/bi23_labs.json @@ -0,0 +1,5 @@ +{ + "validator_name":"Bi23 Labs", + "validator_address":"cosmosvaloper1hvsdf03tl6w5pnfvfv5g8uphjd4wfw2h4gvnl7", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqxpdkmv2vka547zq99grw0memcg5a6jyzmf5sdhkvk57kqqa2yy7s8vcr4p" +} diff --git a/validator_pub_keys/blockscape.json b/validator_pub_keys/blockscape.json index 9d7c409..ec04842 100644 --- a/validator_pub_keys/blockscape.json +++ b/validator_pub_keys/blockscape.json @@ -1,5 +1,5 @@ { "validator_name":"blockscape", -"validator_address":"cosmosvaloper1c0qp24pq92xz5c96usknlxcmwls3pze93gq6hk", +"validator_address":"cosmosvaloper13x77yexvf6qexfjg9czp6jhpv7vpjdwwkyhe4p", "stargate_consensus_public_key":"cosmosvalconspub1zcjduepq6cp6vs95f0xwfle30wj07n0qexq7f5a0zgvz60mnjz03kl0evfwqgrne5q" } diff --git a/validator_pub_keys/ccn.json b/validator_pub_keys/ccn.json new file mode 100644 index 0000000..04b26fe --- /dev/null +++ b/validator_pub_keys/ccn.json @@ -0,0 +1,5 @@ +{ + "validator_name":"CCN", + "validator_address":"cosmosvaloper1qaa9zej9a0ge3ugpx3pxyx602lxh3ztqgfnp42", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepq944ta9a9gaj0ldecyj974d48erglwvwrlqzrpmft5pc5hy298ksqarvq6j" +} diff --git a/validator_pub_keys/chainflow_stargate_keys.json b/validator_pub_keys/chainflow_stargate_keys.json new file mode 100644 index 0000000..94f4cd0 --- /dev/null +++ b/validator_pub_keys/chainflow_stargate_keys.json @@ -0,0 +1,5 @@ +{ + "validator_name":"Chainflow", + "validator_address":"cosmosvaloper1lzhlnpahvznwfv4jmay2tgaha5kmz5qxerarrl", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqvn4a4skwj88c8e0jvns3qjrhyy0whvnuwmth3k8kexvqk5vupw4qsdje47" +} diff --git a/validator_pub_keys/chorusone.json b/validator_pub_keys/chorusone.json new file mode 100644 index 0000000..010213b --- /dev/null +++ b/validator_pub_keys/chorusone.json @@ -0,0 +1,6 @@ +{ + "validator_name":"Chorus One", + "validator_address":"cosmosvaloper15urq2dtp9qce4fyc85m6upwm9xul3049e02707", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqauemxajnn7vemct6p3705acwfcvr9z4saw73ek6f8kapp7z5gjeqzhvhv4" +} + diff --git a/validator_pub_keys/coinbase.json b/validator_pub_keys/coinbase.json new file mode 100644 index 0000000..a5e8db2 --- /dev/null +++ b/validator_pub_keys/coinbase.json @@ -0,0 +1,5 @@ +{ +"validator_name":"Coinbase Custody", +"validator_address":"cosmosvaloper13t78dc7a0ec5ryzgs47nljz5nflx9uzc3fymv5", +"stargate_consensus_public_key":"cosmosvalconspub1zcjduepqpx9vazxdc76jam4l2p6nszfynkvu2cfyd9qcfxpq3uqtfsed0t7s4m4wuc" +} diff --git a/validator_pub_keys/easy2stake.json b/validator_pub_keys/easy2stake.json new file mode 100644 index 0000000..c87f11d --- /dev/null +++ b/validator_pub_keys/easy2stake.json @@ -0,0 +1,5 @@ +{ + "validator_name":"Easy 2 Stake", + "validator_address":"cosmosvaloper1e0plfg475phrsvrlzw8gwppeva0zk5yg9fgg8c", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqqxp9kjnlcefa9ek8gxm9zw3dcn7kq69yquc3pq6530936a9rt04qsj8hcr" +} diff --git a/validator_pub_keys/kalpatech.json b/validator_pub_keys/kalpatech.json index 49e1575..65f91ac 100644 --- a/validator_pub_keys/kalpatech.json +++ b/validator_pub_keys/kalpatech.json @@ -1,5 +1,5 @@ { "validator_name":"KalpaTech", "validator_address":"cosmos16quf5adtjqpmx9a8pq0pkwjrnvnwpf74h8cumy", -"stargate_consensus_public_key":"cosmosvalconspub1zcjduepqrdle7walennf4m8dcdc5w8vjzk8djkfy66z3ta7m26em6rdarl9qjl2g0m" +"stargate_consensus_public_key":"cosmosvalconspub1zcjduepq9ek5tt80qfjjecrzhsjrrf7ju8e23w9sk9lp8w8jgnfcx9uy62uqc3v94u" } diff --git a/validator_pub_keys/lunamint.json b/validator_pub_keys/lunamint.json index ea230b9..4327b0d 100644 --- a/validator_pub_keys/lunamint.json +++ b/validator_pub_keys/lunamint.json @@ -1,5 +1,5 @@ { "validator_name":"lunamint", "validator_address":"cosmosvaloper1ec3p6a75mqwkv33zt543n6cnxqwun37rr5xlqv", - "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqd85nu5nelvcyyzcsrr0yaglh8rfvn6cv9pp3p0hgmwtk8hf3cazqc7vz5c" + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqzcdfkcypa7n4zcnng2e6ulr8y3rwa9pyj9zyfdah3ysm0euszszs4y7zwg" } diff --git a/validator_pub_keys/melange.json b/validator_pub_keys/melange.json new file mode 100644 index 0000000..0194f6d --- /dev/null +++ b/validator_pub_keys/melange.json @@ -0,0 +1,5 @@ +{ + "validator_name": "melange", + "validator_address": "cosmosvaloper1cz6q5nys0tgupq2mt99amsltepglxqgwfs6fum", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqvsla2hfkxr39fv2kscvtgeeu7qm2jw2kuxg64juwrpmymud0mcasnzpjjc" +} \ No newline at end of file diff --git a/validator_pub_keys/melea.json b/validator_pub_keys/melea.json new file mode 100644 index 0000000..5a01cb0 --- /dev/null +++ b/validator_pub_keys/melea.json @@ -0,0 +1,5 @@ +{ + "validator_name":"melea", + "validator_address":"cosmosvaloper1zqgheeawp7cmqk27dgyctd80rd8ryhqs6la9wc", + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepq8lvj0ezesq704yjrz5m6qvg0f4xfgwur2tdx8y7zmmk6khv6pyjsz9txcl" + } diff --git a/validator_pub_keys/nylira.net.json b/validator_pub_keys/nylira.net.json new file mode 100644 index 0000000..30957ff --- /dev/null +++ b/validator_pub_keys/nylira.net.json @@ -0,0 +1,5 @@ +{ + "validator_name": "nylira.net", + "validator_address": "cosmosvaloper13sduv92y3xdhy3rpmhakrc3v7t37e7ps9l0kpv", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqv43m43y8k4vl677kcrln50hxc099rt5vwdnqsk6qz95a94t0xnlsn3d5ue" +} diff --git a/validator_pub_keys/ping.pub.json b/validator_pub_keys/ping.pub.json new file mode 100644 index 0000000..4fce3f5 --- /dev/null +++ b/validator_pub_keys/ping.pub.json @@ -0,0 +1,5 @@ + { + "validator_name": "Ping Pub", + "validator_address": "cosmosvaloper1jxv0u20scum4trha72c7ltfgfqef6nsch7q6cu", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqvwa5jswyy32vm26agf42jtfsazxssxem8jkntucwkq9p6lj2szzsklqn0f" + } diff --git a/validator_pub_keys/polychain_labs.json b/validator_pub_keys/polychain_labs.json index c71ed79..897acb7 100644 --- a/validator_pub_keys/polychain_labs.json +++ b/validator_pub_keys/polychain_labs.json @@ -1,5 +1,5 @@ { "validator_name":"Polychain Labs", -"validator_address":"cosmos1uclv9m6xuh4m8puxd8ndwhxhf968gxyhk5udyx", +"validator_address":"cosmosvaloper1uclv9m6xuh4m8puxd8ndwhxhf968gxyhnqgcg4", "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqhsm2u5ptvy5rm5d2dzgus283p9huwxjl8e0mm4x0x4lmh6jwfw6sdcfdxj" } diff --git a/validator_pub_keys/replicator.newtork.json b/validator_pub_keys/replicator.newtork.json new file mode 100644 index 0000000..41b9c48 --- /dev/null +++ b/validator_pub_keys/replicator.newtork.json @@ -0,0 +1,5 @@ +{ + "validator_name": "replicator.network", + "validator_address": "cosmosvaloper1et77usu8q2hargvyusl4qzryev8x8t9wwqkxfs", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqehfdumq50qgtuqd3xqf0pz37g0vzkflnnpe62e7w02ylvvuwnvgqskhmz7" +} diff --git a/validator_pub_keys/sikka.json b/validator_pub_keys/sikka.json index b7eb819..02842a2 100644 --- a/validator_pub_keys/sikka.json +++ b/validator_pub_keys/sikka.json @@ -1,5 +1,5 @@ { - "validator_name":"Sikka", - "validator_address":"cosmosvaloper1ey69r37gfxvxg62sh4r0ktpuc46pzjrm873ae8", - "stargate_consensus_public_key":"cosmosvalconspub1zcjduepq0d06rdx49rj2uzsze4ww82et986fhl2ahcxtj7c56pr2rmcp5ylsqzhnqt" + "validator_name": "Sikka", + "validator_address": "cosmosvaloper1ey69r37gfxvxg62sh4r0ktpuc46pzjrm873ae8", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq0d06rdx49rj2uzsze4ww82et986fhl2ahcxtj7c56pr2rmcp5ylsqzhnqt" } \ No newline at end of file diff --git a/validator_pub_keys/staking_fund.json b/validator_pub_keys/staking_fund.json index d0750fd..bd6458a 100644 --- a/validator_pub_keys/staking_fund.json +++ b/validator_pub_keys/staking_fund.json @@ -1,6 +1,6 @@ { "validator_name":"Staking Fund", "validator_address":"cosmosvaloper1000ya26q2cmh399q4c5aaacd9lmmdqp90kw2jn", - "stargate_consensus_public_key":"cosmosvalconspub1zcjduepqe93asg05nlnj30ej2pe3r8rkeryyuflhtfw3clqjphxn4j3u27msrr63nk" + "stargate_consensus_public_key":"cosmosvalconspub1zcjduepq699g9qfymy2ph9a2r5s203nh9sdvlhgk5nq0cupvm7wt0y2gpe8qpuxtf0" } - \ No newline at end of file + diff --git a/validator_pub_keys/syncnode.json b/validator_pub_keys/syncnode.json new file mode 100644 index 0000000..d9ab44c --- /dev/null +++ b/validator_pub_keys/syncnode.json @@ -0,0 +1,5 @@ + { + "validator_name": "syncnode", + "validator_address": "cosmosvaloper19j2hd230c3hw6ds843yu8akc0xgvdvyuz9v02v", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqwhtsh6jmaf0yykyvkyzlp22xvdm2htj9j623ktes35vpw8f3hfds83kwpn" + } diff --git a/validator_replacement.json b/validator_replacement.json new file mode 100644 index 0000000..6e587c6 --- /dev/null +++ b/validator_replacement.json @@ -0,0 +1,394 @@ +[ + { + "validator_name": "01node", + "validator_address": "cosmosvaloper17mggn4znyeyg25wd7498qxl7r2jhgue8u4qjcq", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqh6xjlwnd50hm6q8j3n6znaykj0xwwy38r6qhc32tlxp3uxh7aa6ql58jar" + }, + { + "validator_name": "Alphemy Capital", + "validator_address": "cosmosvaloper16zgjnqxryhq2kftfuv8urp50x0xwt5dagemhfl", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqeumluaf7n7ss9qmaj43v4gd4dzj5jfw7cdnn6vngwd2m7gmu48lqsyy3wa" + }, + { + "validator_name": "alexandruast", + "validator_address": "cosmosvaloper1ualhu3fjgg77g485gmyswkq3w0dp7gys6qzwrv", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqapkvxxn8dwvf0alz8a506qa8v7ald0su95ypnfrg24rdp7fme7gqadpucf" + }, + { + "validator_name": "ATEAM", + "validator_address": "cosmosvaloper14l0fp639yudfl46zauvv8rkzjgd4u0zk2aseys", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq7jsrkl9fgqk0wj3ahmfr8pgxj6vakj2wzn656s8pehh0zhv2w5as5gd80a" + }, + { + "validator_name": "AUDIT.one", + "validator_address": "cosmosvaloper1udpsgkgyutgsglauk9vk9rs03a3skc62gup9ny", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqwc0psjv0ta2trx3nf6zgwrhkwquws0026xv94aj7as6we9xm47yqzl7v04" + }, + { + "validator_name": "Bison Trails", + "validator_address": "cosmosvaloper1crqm3598z6qmyn2kkcl9dz7uqs4qdqnr6s8jdn", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqtqyz8x2nf5rpq4cq2g6y4rcflcxk5d4kjy5ugsqmpelaxd3kngdsmqhz9k" + }, + { + "validator_name": "blockscape", + "validator_address": "cosmosvaloper13x77yexvf6qexfjg9czp6jhpv7vpjdwwkyhe4p", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq6cp6vs95f0xwfle30wj07n0qexq7f5a0zgvz60mnjz03kl0evfwqgrne5q" + }, + { + "validator_name": "Bi23 Labs", + "validator_address": "cosmosvaloper1hvsdf03tl6w5pnfvfv5g8uphjd4wfw2h4gvnl7", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqxpdkmv2vka547zq99grw0memcg5a6jyzmf5sdhkvk57kqqa2yy7s8vcr4p" + }, + { + "validator_name": "B-Harvest", + "validator_address": "cosmosvaloper10e4vsut6suau8tk9m6dnrm0slgd6npe3jx5xpv", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqzsr79csnz2cltwue35gnr683psg6utmd6464jzhfxrefu5rkcldq8ckjl0" + }, + { + "validator_name": "CCN", + "validator_address": "cosmosvaloper1qaa9zej9a0ge3ugpx3pxyx602lxh3ztqgfnp42", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq944ta9a9gaj0ldecyj974d48erglwvwrlqzrpmft5pc5hy298ksqarvq6j" + }, + { + "validator_name": "Cephalopod Equipment Corp", + "validator_address": "cosmosvaloper16k579jk6yt2cwmqx9dz5xvq9fug2tekvlu9qdv", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq4f2zzkjr20v4gt0gy9nmdznxsvmgluyn3vnjmgqq58q9t47uyffqndgy0p" + }, + + { + "validator_name": "Certus One", + "validator_address": "cosmosvaloper1qwl879nx9t6kef4supyazayf7vjhennyh568ys", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqxle856ffpp8jt9j4wgnv20prpvf60uktsrq2fmz73xkujhvwtylqv8fnfu" + }, + { + "validator_name": "chainflow-cosmos-prodval-01", + "validator_address": "cosmosvaloper1j0vaeh27t4rll7zhmarwcuq8xtrmvqhudrgcky", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqte39vggwm75vx65grlv0w7k92eeysv35s20cfcepv5hmx5p58tusjwym4k" + }, + { + "validator_name": "Chorus One", + "validator_address": "cosmosvaloper15urq2dtp9qce4fyc85m6upwm9xul3049e02707", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqauemxajnn7vemct6p3705acwfcvr9z4saw73ek6f8kapp7z5gjeqzhvhv4" + }, + + { + "validator_name": "Citadel.one", + "validator_address": "cosmosvaloper1lzhlnpahvznwfv4jmay2tgaha5kmz5qxerarrl", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepquuaszms40adxzwkjr5ew4gj8s49dyjx5zsncar4cqfk4wh07eh8sjxjeaf" + }, + { + "validator_name": "Citizen Cosmos", + "validator_address": "cosmosvaloper1e859xaue4k2jzqw20cv6l7p3tmc378pc3k8g2u", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqehuq39q3pkvalrjqmq8uf2f0dfs07uezs78wdwmzlwhkqn09gzwq0gdsal" + }, + { + "validator_name": "Compass", + "validator_address": "cosmosvaloper1ff0dw8kawsnxkrgj7p65kvw7jxxakyf8n583gx", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqu08f7tuce8k88tgewhwer69kfvk5az3cn5lz3v8phl8gvu9nxu8qhrjxfj" + }, + { + "validator_name": "Citizen Cosmos", + "validator_address": "cosmosvaloper1e859xaue4k2jzqw20cv6l7p3tmc378pc3k8g2u", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqehuq39q3pkvalrjqmq8uf2f0dfs07uezs78wdwmzlwhkqn09gzwq0gdsal" + }, + { + "validator_name": "CoinoneNode", + "validator_address": "cosmosvaloper1te8nxpc2myjfrhaty0dnzdhs5ahdh5agzuym9v", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqjg26g27dtvjqstyqktmp4jsn98473vfz0mek2eyklfp0yqapav5szdrvpd" + }, + { + "validator_name": "Cosmic Validator", + "validator_address": "cosmosvaloper1de7qx00pz2j6gn9k88ntxxylelkazfk3g8fgh9", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqwr5p8j076mfydn7wckqz748lr0j50zwgsftnfpvgz6rz0rkvvqwqg5fyaf" + }, + { + "validator_name": "Cosmostation", + "validator_address": "cosmosvaloper1clpqr4nrk4khgkxj78fcwwh6dl3uw4epsluffn", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqc9d40a3mmx4drpkz7ywl0z4z7fj2x8475twaqj860gez5kjfuppq08cpyk" + }, + { + "validator_name": "Cypher Core", + "validator_address": "cosmosvaloper19q0mkw7jnx9k4njxqeurc0qmg3scpenm4mhtym", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqcdav5ylt2zst90qmuh8e5w07xmxv9y6wufp5k9ngzmx7v9qewqtqkcq4z8" + }, + { + "validator_name": "Dawns.World", + "validator_address": "cosmosvaloper1ktecz4dr56j9tsfh7nwg8s9suvhfu70qykhu5s", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq4euv7ertqhgvxrla583fg9g6z2v2dzrkl9spche4j4r23vukmx2q8gqvev" + }, + { + "validator_name": "DelegaNetworks", + "validator_address": "cosmosvaloper1uutuwrwt3z2a5z8z3uasml3rftlpmu25aga5c6", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqarrl0ppddzyczwvcqwf3jwd9qwkhxfy6lcv8ep4msk293mlxg39qgf77y3" + }, + { + "validator_name": "DokiaCapital", + "validator_address": "cosmosvaloper14lultfckehtszvzw4ehu0apvsr77afvyju5zzy", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqr2mcvpt43a5fspxyse04c4fe8rdmg90vqv67praxt4jzqmep0myqjpq7kk" + }, + { + "validator_name": "DragonStake", + "validator_address": "cosmosvaloper15r4tc0m6hc7z8drq3dzlrtcs6rq2q9l2nvwher", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqzmcxc8tdmqsydmn8uw3qvn28frswr3kfzdy0nxm4f6z0fgqnq66qlw76kz" + }, + { + "validator_name": "Easy 2 Stake", + "validator_address": "cosmosvaloper1e0plfg475phrsvrlzw8gwppeva0zk5yg9fgg8c", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqqxp9kjnlcefa9ek8gxm9zw3dcn7kq69yquc3pq6530936a9rt04qsj8hcr" + }, + { + "validator_name": "Everstake", + "validator_address": "cosmosvaloper1tflk30mq5vgqjdly92kkhhq3raev2hnz6eete3", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqwcvy8hyw2phdp080ggj7prxv972rvqc9gwyjnl0uwf7uxn63s8vqdctdcw" + }, + { + "validator_name": "Figment Networks", + "validator_address": "cosmosvaloper1hjct6q7npsspsg3dgvzk3sdf89spmlpfdn6m9d", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq7dj6qx6rwajkd6gfj4lgsu4kcrnvrmcxhxn8el9au0kezkkx88dsp28une" + }, + { + "validator_name": "Forbole", + "validator_address": "cosmosvaloper14kn0kk33szpwus9nh8n87fjel8djx0y070ymmj", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqgtdccmpdht8s4stcym3nm6yeswxfajg5pk6469kyfy5q6jdpyxfq5lqym0" + }, + { + "validator_name": "Genesis Lab", + "validator_address": "cosmosvaloper1wdrypwex63geqswmcy5qynv4w3z3dyef2qmyna", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqx83cedysnrarkqkslc7ndqxxxh8yn2qp96qzxafavqfu8q6xttqsydcu2z" + }, + { + "validator_name": "HashQuark", + "validator_address": "cosmosvaloper1cgh5ksjwy2sd407lyre4l3uj2fdrqhpkzp06e6", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqxf9u7a6wmlcmyhwzmzhr4eae9adftl827ydmd6a7knjprxxaz48shg2wgv" + }, + { + "validator_name": "in3s.com", + "validator_address": "cosmosvaloper1rcp29q3hpd246n6qak7jluqep4v006cdsc2kkl", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq7mft6gfls57a0a42d7uhx656cckhfvtrlmw744jv4q0mvlv0dypskehfk8" + }, + { + "validator_name": "Iqlusion", + "validator_address": "cosmosvaloper1grgelyng2v6v3t8z87wu3sxgt9m5s03xfytvz7", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqmhqcl5mkke83u5l5fxxq2l40wjj6cs6jmun29kwe6d3u3ttsv55qa9933a" + }, + { + "validator_name": "IRISnet-Bianjie", + "validator_address": "cosmosvaloper1ssm0d433seakyak8kcf93yefhknjleeds4y3em", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqrgyyjxpe0ujefxwnkpmqz9m0hj03y09tdz9lwc0s7mvy469hulfq69f8sd" + }, + { + "validator_name": "Jedi-St3", + "validator_address": "cosmosvaloper1wg4s5kd0le7szxwuvvhykshdksex00n0et9qg6", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq78mlh5kmv08zlvl4m8unjdcurnxcws0sey8hwxcfsur3wyh8ppzqa7axj6" + }, + { + "validator_name": "KalpaTech", + "validator_address": "cosmosvaloper1ehkfl7palwrh6w2hhr2yfrgrq8jetgucudztfe", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq9ek5tt80qfjjecrzhsjrrf7ju8e23w9sk9lp8w8jgnfcx9uy62uqc3v94u" + }, + { + "validator_name": "kochacolaj", + "validator_address": "cosmosvaloper1emaa7mwgpnpmc7yptm728ytp9quamsvu837nc0", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqfuxvufupnsm7v5anpwd7z8ec70z2k209j7xclnm25zz7vauhyc5qjgxx3h" + }, + { + "validator_name": "Kytzu", + "validator_address": "cosmosvaloper1wtv0kp6ydt03edd8kyr5arr4f3yc52vp3u2x3u", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqwlrgy663rh8usd99p7j2zqqc53a58y3wr9x0nd4fvpee0cg6kcpqnjxgm3" + }, + { + "validator_name": "KysenPool Sky", + "validator_address": "cosmosvaloper146kwpzhmleafmhtaxulfptyhnvwxzlvm87hwnm", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqsxcxw7nrmkweuav4k5z2gjvf205cvymaljum6kv0sj7srn8wlveq7r5rvx" + }, + { + "validator_name": "lunamint", + "validator_address": "cosmosvaloper1ec3p6a75mqwkv33zt543n6cnxqwun37rr5xlqv", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqzcdfkcypa7n4zcnng2e6ulr8y3rwa9pyj9zyfdah3ysm0euszszs4y7zwg" + }, + { + "validator_name": "melea", + "validator_address": "cosmosvaloper1zqgheeawp7cmqk27dgyctd80rd8ryhqs6la9wc", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq8lvj0ezesq704yjrz5m6qvg0f4xfgwur2tdx8y7zmmk6khv6pyjsz9txcl" + }, + { + "validator_name": "melange", + "validator_address": "cosmosvaloper1cz6q5nys0tgupq2mt99amsltepglxqgwfs6fum", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqvsla2hfkxr39fv2kscvtgeeu7qm2jw2kuxg64juwrpmymud0mcasnzpjjc" + }, + { + "validator_name": "nylira.net", + "validator_address": "cosmosvaloper13sduv92y3xdhy3rpmhakrc3v7t37e7ps9l0kpv", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqv43m43y8k4vl677kcrln50hxc099rt5vwdnqsk6qz95a94t0xnlsn3d5ue" + }, + { + "validator_name": "P2P.ORG", + "validator_address": "cosmosvaloper132juzk0gdmwuxvx4phug7m3ymyatxlh9734g4w", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq8qrnv9ewmps46gyjqyzajmtay7hrj5dz7fsxh4qc7p3xnwumvrls38dv5r" + }, + { + "validator_name": "Ping Pub", + "validator_address": "cosmosvaloper1jxv0u20scum4trha72c7ltfgfqef6nsch7q6cu", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqvwa5jswyy32vm26agf42jtfsazxssxem8jkntucwkq9p6lj2szzsklqn0f" + }, + { + "validator_name": "replicator.network", + "validator_address": "cosmosvaloper1et77usu8q2hargvyusl4qzryev8x8t9wwqkxfs", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqehfdumq50qgtuqd3xqf0pz37g0vzkflnnpe62e7w02ylvvuwnvgqskhmz7" + }, + { + "validator_name": "Sentinel", + "validator_address": "cosmosvaloper1u6ddcsjueax884l3tfrs66497c7g86skn7pa0u", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq09kyxsdw0p3ammk3hglv2kjteyxecla4a84mv3tw5f3haj8kpvnslxp0mc" + }, + { + "validator_name": "SG-1", + "validator_address": "cosmosvaloper1zsq22eqgrswuhmcul2fun7ntgrzjgph3kqf3a3", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqmsgxdazcclelnxz5hj8utj0a8cr78fnvyfe0y97y2yy282p5vukqf04vmg" + }, + { + "validator_name": "sifchain.finance", + "validator_address": "cosmosvaloper1z2hjx8ae4we5vu2p4tctuj6q2vl7ucgmte422a", + "stargate_consensus_public_key": "cosmosvalconspub1addwnpepqtjj6sfrpd3wrdvnwja9mpf84avzmfrqnmjlp7t7krzr49pgtawqudfaen9" + }, + { + "validator_name": "Sikka", + "validator_address": "cosmosvaloper1ey69r37gfxvxg62sh4r0ktpuc46pzjrm873ae8", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq0d06rdx49rj2uzsze4ww82et986fhl2ahcxtj7c56pr2rmcp5ylsqzhnqt" + }, + { + "validator_name": "Simply Staking", + "validator_address": "cosmosvaloper124maqmcqv8tquy764ktz7cu0gxnzfw54n3vww8", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqyngml5ydtd2d3u62sknrwfx7xk3c3z4tl784ekeneax8hpg69uvs84rvu7" + }, + { + "validator_name": "Skystar Capital", + "validator_address": "cosmosvaloper1uhnsxv6m83jj3328mhrql7yax3nge5svrv6t6c", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqzt04jd95e5dtmd0f6gc3xc8l8au8ps22cc5wnxm5chcqnyn8qs3s068afw" + }, + { + "validator_name": "Stake Capital", + "validator_address": "cosmosvaloper1k9a0cs97vul8w2vwknlfmpez6prv8klv03lv3d", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqfgpyq4xk4s96ksmkfrr7juea9kmdxkl5ht94xgpxe240743u9cvsht489p" + }, + { + "validator_name": "🐠stake.fish", + "validator_address": "cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqezmxjhv4yzemce7qul2aqzmm6gd6f6r6ruxc7kxk6tcr6w6zud3qfuhm2r" + }, + { + "validator_name": "stake.systems", + "validator_address": "cosmosvaloper1ualhu3fjgg77g485gmyswkq3w0dp7gys6qzwrv", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqn0ekk3nslmz6h5trqq6twrf0e8n3sfxk2kmgkp474yakwf5lr7rq6eqatw" + }, + { + "validator_name": "StakeWithUs", + "validator_address": "cosmosvaloper1jlr62guqwrwkdt4m3y00zh2rrsamhjf9num5xr", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqdlgkgec9wl5numexjgmkjd9ulytntwnrjp5phl2xy2c95f0r9hgqlsf8g9" + }, + { + "validator_name": "stakezone", + "validator_address": "cosmosvaloper1g2lpsy85795r2fgtrkgzk25m5wkrtl2xu2t3ya", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq5rtnxycmx2ynyj6wy6frr7c4xz4pzjn6f7wyr6ytk9ngh56lqs6qth238x" + }, + { + "validator_name": "Stakin", + "validator_address": "cosmosvaloper1fhr7e04ct0zslmkzqt9smakg3sxrdve6ulclj2", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq2vrwk0dhn0kh443jxlgscd7luknvl56h3dr0pyfglxwdnhquae9srek6ew" + }, + { + "validator_name": "Staking Fund", + "validator_address": "cosmosvaloper1000ya26q2cmh399q4c5aaacd9lmmdqp90kw2jn", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq699g9qfymy2ph9a2r5s203nh9sdvlhgk5nq0cupvm7wt0y2gpe8qpuxtf0" + }, + { + "validator_name": "Staking Facilities", + "validator_address": "cosmosvaloper1x88j7vp2xnw3zec8ur3g4waxycyz7m0mahdv3p", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqhm6gjjkwecqyfrgey96s5up7drnspnl4t3rdr79grklkg9ff6zaqnfl2dg" + }, + { + "validator_name": "syncnode", + "validator_address": "cosmosvaloper19j2hd230c3hw6ds843yu8akc0xgvdvyuz9v02v", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqwhtsh6jmaf0yykyvkyzlp22xvdm2htj9j623ktes35vpw8f3hfds83kwpn" + }, + { + "validator_name": "TomShi", + "validator_address": "cosmosvaloper10sr2e9tcw5fl4tknht7j8hzw57k5s3f4zzpv88", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq4rqxjd5fjqps9mgs3snjdmpdllsew62f2yqpt83dnw0fn4cuddrsrc6m4g" + }, + { + "validator_name": "X-Stake", + "validator_address": "cosmosvalcons1qzkmn04l39v2t7q32sycm950zj0kj9jtj46vqf", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqy567dh9a7ak0tcl8n8u9lwh0xpp8vl7wlv9gjlf5d6uj7prvnjfsyaur90" + }, + { + "validator_name": "WeStaking", + "validator_address": "cosmosvaloper1ptyzewnns2kn37ewtmv6ppsvhdnmeapvtfc9y5", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqtcsm8lp7n6ph98vd59qa9esgyuysuntww9juz5wynxrhzpspmuuq6g5pzg" + }, + { + "validator_name": "Tessellated Geometry", + "validator_address": "cosmosvaloper1fun809ksxh87nzf88yashp9ynjz6xkscrtvzvw", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq8axexx8w5wf64wufk20q083ycqgfdy50j03xg78ldzv6cu0n0xgq59sqhr" + }, + { + "validator_name": "Ztake.org", + "validator_address": "cosmosvaloper102ruvpv2srmunfffxavttxnhezln6fnc54at8c", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq33h3ldxapw2rte5zsryatsr92jnmjpfhz54478dxhxkqj6pj9hasqvs6xr" + }, + { + "validator_name": "Iqlusion/Dokia-Binance Replacement", + "validator_address": "cosmosvaloper156gqf9837u7d4c4678yt3rl4ls9c5vuursrrzf", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq4xreqv0nttcx5p75drnwsplry9p65g58lfcvwfg8vp8mhp7y3gtslmx3kj" + }, + { + "validator_name": "Iqlusion-Kraken Replacement", + "validator_address": "cosmosvaloper1nm0rrq86ucezaf8uj35pq9fpwr5r82clzyvtd8", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqat3p62jhqcply8ewmytamqqlhu786mg49vn8m87qrpc22h3yunrqtx28m2" + }, + { + "validator_name": "Iqlusion-Zero Knowledge Replacement", + "validator_address": "cosmosvaloper1v5y0tg0jllvxf5c3afml8s3awue0ymju89frut", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqxwgvllret5heclev4c04mmxa272vxa4vee5ptjx77faw8lpn0mmqcfa9ak" + }, + { + "validator_name": "Iqlusion-BlockPower Replacement", + "validator_address": "cosmosvaloper1rpgtz9pskr5geavkjz02caqmeep7cwwpv73axj", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqm27ul4l8v7dp2nvd69t6aycyelg03ps5jekn9nkqfrr8rx22ykmq0yj0xk" + }, + { + "validator_name": "Iqlusion-hashtower Replacement", + "validator_address": "cosmosvaloper1ma02nlc7lchu7caufyrrqt4r6v2mpsj90y9wzd", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqf7r6l2et8auspzslwmmhmtflpgea7hx68slz9qenlvvcqgt4dngqsjljtt" + }, + { + "validator_name": "Iqlusion-Houbi Replacement", + "validator_address": "cosmosvaloper12w6tynmjzq4l8zdla3v4x0jt8lt4rcz5gk7zg2", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq6mzrl98emg03hsd48p9n4d2aa57seu82umcu674yg2cwtwqjjy7sfluw76" + }, + { + "validator_name": "Iqlusion-BouBouNode Replacement", + "validator_address": "cosmosvaloper1eh5mwu044gd5ntkkc2xgfg8247mgc56fz4sdg3", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqvpfpmattev2j57fpy56u34w7cjqqersueqrs6p4jfkm072dup5dsaqk02p" + }, + { + "validator_name": "Iqlusion-Coinbase", + "validator_address": "cosmosvaloper1a3yjj7d3qnx4spgvjcwjq9cw9snrrrhu5h6jll", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqxkmktpxalx2gwn7zkw4t3dtax5up3mfv4yhgmr876wyhkfq8fndq4vdh6d" + }, + { + "validator_name": "Iqlusion/Dokia-Polychain Labs Replacement", + "validator_address": "cosmosvaloper14k4pzckkre6uxxyd2lnhnpp8sngys9m6hl6ml7", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepq72wtvxz8pn7n7qkt3up0y4t0dqmjakgvhznc4n7l6gfqxpu08kxq79kpkk" + }, + { + "validator_name": "Iqlusion/Dokia-Sparkpool-Replacement", + "validator_address": "cosmosvaloper1rwh0cxa72d3yle3r4l8gd7vyphrmjy2kpe4x72", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepquunyzaqq79rx5gd743mrna2aa3han685xjzj970xpt764jgx2hpqmmruvk" + }, + { + "validator_name": "Iqlusion -MultiChain Ventures Replacement", + "validator_address": "cosmosvaloper1vf44d85es37hwl9f4h9gv0e064m0lla60j9luj", + "stargate_consensus_public_key": "cosmosvalconspub1zcjduepqaw46pnhjcv95mslvzxv5tze36ycutnx7szwln9p38ufrkffqltms8pntmu" + } +]