Alessio Treglia
f2ee972e31
various linter fixes ( #8666 )
2021-02-23 08:46:01 +00:00
Robert Zaremba
b18a033a17
Clean Any interface ( #8167 )
...
* Clean Any interface
+ removed Any.Pack method. This method is not needed, because we have specialized
functions for createing new Any values. It could be used inappropriately with existing
Any objects.
* removed deprecated PackAny function
* fix linter issue
* update nil handling
* NewAnyWithValue returns error on nil instead of panic
* NewMsgCreateValidator: handle nil pubkey
* Remove AsAny and tx builder workarounds
* fix linter issue
* Add AsAny methods to TxBuilder and StdTxConfig, but keep intoAny interface private
* remove tx.PubKeyToAny
* cosmetic updates
* fix method interface
* move ProtoTxProvider to x/auth/tx
2020-12-18 14:55:25 +00:00
Aditya
971d253214
Implement Connection-specified delay ( #8069 )
...
* start with initialization and metadata
* start by fixing delay period during connection handshake
* fix connection handshake tests
* add delay period logic to packet verification
* proto format
* fix err issue
* appease linter
* document upgrade special case
* Update x/ibc/light-clients/07-tendermint/types/client_state.go
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
* Update x/ibc/light-clients/07-tendermint/types/store.go
* add sanity check
* fix build
* fix tests
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Colin Axner <colinaxner@berkeley.edu>
2020-12-07 12:13:06 +00:00
colin axnér
bcb3240d06
Use generated client identifiers ( #8034 )
...
* add client identifier generation
* update proto and start fixing tests
* fix ibc tests
* fix auth rest test
* update spec
* fix lint
* add parsing tests and fix bugs
* fix regexp
* add godoc
* address @AdityaSripal review suggestions for identifier parsing
* address rest of @AdityaSripal's review comments
* remove unnecessary comment
* typos
* fix lint
* Apply suggestions from code review
Co-authored-by: Aditya <adityasripal@gmail.com>
* add more heigh tests as per @AdityaSripal suggestion
Co-authored-by: Aditya <adityasripal@gmail.com>
2020-11-30 15:52:45 +00:00
Aditya
c15884a204
Rename Version to Revision in IBC Height ( #8020 )
...
* rename Version to Revision in ibc Height
* lint
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-11-24 15:38:24 +00:00
colin axnér
88e03e4f40
Deterministic connection and channel identifiers ( #7993 )
...
* add generate identifier functions for connection and channel
* update proto types and begin open init changes
remove unnecessary field from open init msgs. Update connectionopeninit handshake, begin updating channel handshake
* finish connection handshake chanes and some channel handshake changes
Finish updating connection handshake changes, update genesis for connection and channel, some channel handshake changes, fix build for tests but still failing
* finish channel handshake changes
* fix more tests
* fix connection handshake tests
* fix more tests
* fix build
* changes from self review
* address @fedekunze review suggestions
* update spec
* fix build
* fix tests
* Update x/ibc/testing/chain.go
Co-authored-by: Aditya <adityasripal@gmail.com>
* Update x/ibc/core/03-connection/types/msgs.go
Co-authored-by: Aditya <adityasripal@gmail.com>
* address @AdityaSripal comments
* reflect spec changes
* address @AdityaSripal review suggestions
* nit
* add connection/channel identifier parsing and validation as per @AdityaSripal suggestion, cc @fedekunze
* Fix auth rest test
Change dummy channel id to a valid channel id given the updated stricter channel identifier checks cc @amaurymartiny
Co-authored-by: Aditya <adityasripal@gmail.com>
2020-11-24 15:28:20 +00:00
Aditya
def3c5ba71
Add ConsensusState to IBC Upgrades ( #7919 )
...
* upgrade progress
* fix build minus cli
* write state at block before upgrade height
* refix build
* Apply suggestions from code review
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
* fix upgrade and start with tests
* fix tendermint tests
* add tests and remove unnecessary relayer options on upgradedClient
* fix all tests except weird msg panic
* add invalid final client test and codec stuff
* fix everything but msg issue
* remove problematic test for now
* safer self validation
* upgrade fixes
* proto-linting
* remove unnecessary last height
* add timestamp to committed upgrade consensus state
* address final nits
* address nit
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-11-24 11:45:33 +00:00
Marie Gauthier
1cc8af8d9b
[docs]: update building modules section to reflect ADR31 ( #7702 )
...
* Revert "Revert "Update old ref of RegisterQueryService""
This reverts commit 03e4c56de53938ccbf025a441e54b9842f7c4544.
* Update intro, module-manager and messages-and-queries
* Update messages-and-queries
* Update handler
* Update structure
* Add doc related to RegisterMsgServiceDesc
* Update docs/building-modules/handler.md
Co-authored-by: Robert Zaremba <robert@zaremba.ch>
* Update docs/building-modules/handler.md
Co-authored-by: Robert Zaremba <robert@zaremba.ch>
* Update docs/building-modules/handler.md
Co-authored-by: Robert Zaremba <robert@zaremba.ch>
* Update docs/building-modules/messages-and-queries.md
* Update handler.md
* Rename handler.md to msg-services.md
* Update legacy msgs wording
* Update messages-and-queries.md
* Update docs/building-modules/msg-services.md
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
* Update docs/building-modules/intro.md
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
* Remove handler mention from intro.md
* Update docs/building-modules/messages-and-queries.md
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
* Update docs/building-modules/messages-and-queries.md
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
* Update docs/building-modules/msg-services.md
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
* Update docs/building-modules/keeper.md
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
* Update docs/building-modules/msg-services.md
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
* Address review comments
* Use tag
* Update docs/building-modules/intro.md
Co-authored-by: Cory <cjlevinson@gmail.com>
* Update docs/building-modules/intro.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update docs/building-modules/messages-and-queries.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update docs/building-modules/messages-and-queries.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update docs/building-modules/messages-and-queries.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update docs/core/transactions.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update docs/building-modules/messages-and-queries.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update docs/building-modules/messages-and-queries.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update docs/building-modules/messages-and-queries.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update docs/building-modules/messages-and-queries.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Remove framework related explanation from docs
* Update docs/building-modules/messages-and-queries.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update docs/building-modules/module-manager.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update docs/building-modules/module-manager.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update docs/building-modules/msg-services.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update docs/building-modules/msg-services.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update docs/building-modules/msg-services.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update docs/building-modules/msg-services.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update docs/building-modules/msg-services.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update docs/building-modules/msg-services.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update docs/building-modules/msg-services.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update docs/core/baseapp.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update docs/core/baseapp.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update beginblock-endblock.md
* Update docs/core/baseapp.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Update docs/core/transactions.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Add deprecated notice
* Update tx-lifecycle.md
Co-authored-by: Robert Zaremba <robert@zaremba.ch>
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: Cory <cjlevinson@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-11-17 20:41:43 +00:00
colin axnér
c8afb2cbe7
Remove consensus params from IBC tm client ( #7891 )
...
* remove consensus params
* fix build
* fix build
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-11-12 10:08:04 +00:00
Federico Kunze
136f3ade88
ibc: client params allowlist ( #7855 )
...
* ibc: client params allowlist
* genesis and gRPC
* client
* lint
* spec
* fixes
* validate localhost client
* move client types back to exported
* update genesis
* sort clients by id
2020-11-11 11:07:29 +00:00
colin axnér
300b7393ad
Update IBC host keys + cleanup ( #7873 )
...
* init changes
* cleanup keys and remove redunancdy
* revert unintentional changes
* KeyChannel -> ChannelKey
2020-11-10 17:05:21 +00:00
Aditya
fdcb028636
ibc: proof fixes ( #7869 )
...
* change proof proto def
* progress fixing tests
* complete proof restructure
* remove use of KeyPath
* improve error msgs
* docs and lint
* Apply suggestions from code review
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
* address code review
* fix string tests
* add ConvertProofs tests
* Apply suggestions from code review
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
2020-11-10 15:39:09 +01:00
Marie Gauthier
90e9370bd8
Replace tmcrypto.PubKey by our own cryptotypes.PubKey ( #7419 )
...
* WIP on removing tm pub/privkey
* Fix part of crypto tests
* Add PrivKeyLedgerSecp256K1 proto type
* Use BasePrivKey for ledger priv key type
* Refacto continued
* First round
* x/staking
* Continue porting
* x/* done
* Make build pass
* More conversion
* Remove IntoTmPubKey
* Fix test
* Remove crypto.PubKey in some other places
* Revert ledger changes
* Fix comment
* Remove useless function
* Add To/FromTmPublicKey
* Add migrate tests
* Fix test
* Fix another test
* Rename tm conversion functions
* Less code
* Rename BasePrivKey to LedgerPrivKey
* Add changelog
* Rename functions
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
2020-11-09 16:01:43 +00:00
Aditya
03a46181c6
Merge Packet Functions ( #7813 )
...
* start implementation and debugging tests
* fix some issues, continue debugging
* fix IBC tests
* remove print statement and fix docs
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-11-05 14:07:15 +00:00
Anil Kumar Kammari
51ac6f876b
Rename RegisterGRPCRoutes ( #7696 )
...
* Rename
* Fix missing
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-10-28 11:39:49 +00:00
Federico Kunze
426d195387
ibc: Connection Version changed from string to proto definition ( #7644 )
...
* ibc: Version to proto Any
* change version string to struct
* various version fixes
* fix build
* reorder code
* update spec
* rename to ProtoVersionsToExported and ExportedVersionsToProto
Co-authored-by: Colin Axner <colinaxner@berkeley.edu>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-10-28 09:41:54 +00:00
colin axnér
3d46c672f6
Fix Optimistic Channel Handshake bugs ( #7678 )
...
* fix optimistic handshake bugs and add crossing hello test
* fix tests
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-10-27 14:34:25 +00:00
Robert Zaremba
9bd42ace6b
simapp: rename MakeEncodingConfig to MakeTestEncodingConfig ( #7681 )
...
* simapp: rename MakeEncodingConfig to MakeTestEncodingConfig
* Updating the Changelog
+ Adding DEPRECATED attribute.
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-10-27 11:33:48 +00:00
Robert Zaremba
6bc8ff2dfe
Use any as validator pubkey ( #7597 )
...
* protobuf pubkey type update
* wip2
* wip3
* solving types.NewValidator issues
* remove bech32 from validator type assignment
* update Validator interface
* Changelog update
* wip4
* update genutil
* fix simapp & x/ibc/testing tests
* update staking
* changelog update
* fix import cycle in tests
* fix amino panic on TestValidatorMarshalUnmarshalJSON
* fix TestValidatorMarshalUnmarshalJSON consensus_pubkey check
* Add UnpackInterfaces to HistoricalInfo
* fix TestHistoricalInfo
* update todos
* fix: Expecting ed25519.PubKey to implement proto.Message
* fix linter issues
* Fix migrate test
* Update CHANGELOG.md
Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>
* review comments
* cosmetic changes
* add UnpackInterfaces got GenesisRandomized test
* Validator.Equal reuses Validator.MinEqual
* fix test
* use Validator.Equal in tests
* Fix staking simulation TestRandomizedGenState
* Remove TODO
* use HistoricalInfo.Equal
* use proto.Equal
* rename Validator.GetConsPubKey to TmConsPubKey
* prefer require.Equal over reflect.DeepEqual
* SetHistoricalInfo using a pointer
* Fix TestQueryDelegation test
* Fix TestQueryValidators test
* Fix TestSimulateMsgUnjail test
* experiement with LegacyAmino instances
* Register codecs in all simapp tests
* Fix cli_test compilation problems
* fix typo sdk -> std
* fix typo
* fix TestPlanStringer
* Rename to MakeEncodingConfig
* Remove RegisterCodecsTests
* Use gRPC in GetCmdQueryValidators
* Empty status
* fix info log check
* linter fixes
* rename simapparams to simappparams
* Update simapp/test_helpers.go
Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>
* comments updates
* use valAddr1 instead of sdk.ValAddress(pk1.Address().Bytes())
Co-authored-by: Cory Levinson <cjlevinson@gmail.com>
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>
2020-10-23 12:07:52 +00:00
colin axnér
652d5d93bb
remove test_utils.go in tm client ( #7522 )
...
* remove test_utils from tm client
* fix build
* fix lint?
* fix lint?
* apply @fedekunze review suggestion
* add tests as per @alessio suggestion
* fix typo
2020-10-14 14:51:11 +00:00
colin axnér
3589a3c799
Fix misbehaviour handling for solo machine ( #7515 )
...
* add timestamp to SignatureAndData
Add timestamp field to signature and data. Add ValidateBasic check for timestamp. Add ValidateBasic test. Update misbehaviour handler to use supplied timestamp.
* fix typo
* add timestamp check
* fix lint
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-10-13 09:02:24 -03:00
Aaron Craelius
228728cce2
Refactor RegisterQueryServices -> RegisterServices ( #7518 )
...
* Refactor RegisterQueryServices -> RegisterServices
* Fix tests
2020-10-12 16:31:51 +00:00
colin axnér
dd84c8bd56
add ConsensusParams to ClientState ( #7456 )
...
* add ConsensusParams to ClientState
* validate self consensu params using context + tests
* fix tests
* remove test
* Update proto/ibc/lightclients/tendermint/v1/tendermint.proto
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* add tests for nil consensus params
* use default consensus params variable housed in the testing pkg
* set consensus params in get context call
* disallow nil consensus params
* disallow nil consensus state + fixes
* remove comments
* make proto
* fix build
* fix build
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-10-08 11:01:55 +00:00
Aditya
31ab35ad72
UpgradeClient Followup #1 ( #7457 )
...
* require old chain halts before upgrade
* Update proto/ibc/core/client/v1/client.proto
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* start address reviews
* Apply suggestions from code review
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
* address reviews
* rework upgrade to ensure there is never more than one upgrade client in store
* fix tests
* fix conditional
* make proto-gen
* remove if statement skipping tests in upgrade keeper test
* address reviews
* correctly escape and unescape merkle keys
* add small conditional check
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Colin Axner <colinaxner@berkeley.edu>
2020-10-08 09:22:22 +00:00
colin axnér
0047099061
ibc: flexible channel handshake selection ( #7439 )
...
* update channel handshake
Add ProvedID to ChanOpenTry which allows for flexible handshake identifier selection. Add CounterpartyChannelID to OpenAck. Update and add to handshake tests. Modify msgs_test. Counterparty ValidateBasic will return nil on an empty channel identifier to allow for flexible handshake identifier selection to succeed.
* Update x/ibc/core/04-channel/keeper/handshake.go
* add conn open init docs
* update docs for conn open try and conn open ack
* update channel docs
2020-10-02 16:17:00 -03:00
Federico Kunze
2c93ec7a0c
ibc: core restructure ( #7434 )
...
* ibc: protobuf v1
* update codec
* core client
* core connection
* core host
* core commitment
* core port
* core channel
* core ibc module files
* core exported
* core types & simulation
* core spec
* make proto-all
* ibc alias
2020-10-02 06:03:02 -03:00
colin axnér
432ba30bed
Flexible Connection Handshake Selection ( #7427 )
...
* update connopeninit
Update ConnOpenInit to reflect changes in https://github.com/cosmos/ics/pull/482 . An additional version field is added to the connection handshake and connection open init message to take in an optional field. If this field is empty, then the default versions are used for connection handshake version negotiation.
* add version compatibility check in open init
* implement partial changes to conn open try
* partial implementation of conn open ack changes
* fix tests
* add handshake tests
* make proto
* fix conflicts
* fix lint
* fix lint
* increase code cov
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2020-10-01 22:28:15 +00:00
Federico Kunze
92ffed01bb
ibc: applications restructure ( #7425 )
...
* ibc: applications refactor
* update proto files
* try fix castrepeated
* fix proto
* update spec
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
2020-10-01 15:32:53 +00:00
Federico Kunze
72353902e2
ibc: rename epoch -> version ( #7429 )
...
* ibc: rename epoch -> version
* more renaming
* update spec
2020-10-01 15:08:26 +00:00
colin axnér
a32e2a03ae
Enforce solo machine signature type uniqueness ( #7394 )
...
* update solo machine proto types to use enum for uniqueness
* move data type to SignatureAndData
Adjusts SignatureAndData proto definition to take in a DataType. Updates misbehaviour basic validation to do checks on the data type. Adds unmarshaling tests.
* split signature bytes creation to allow for function reusing. Stuck on strange error on testing codec.go
* fix test bug
* update UnmarshalByType and refactor misbehaviour handle
Rename CanUnmarshalDataByType -> UnmarshalDataByType. Return a new interface and error. Refactor tests to work. Refactor misbehaviour_handle.go to check unmarshaling of the data and DRY code by separating signature and data checks into its own function. Update godoc.
* add tests to codec_test.go
* self review + lint
* update spec
* fix lint
* Update x/ibc/light-clients/solomachine/spec/01_concepts.md
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* increase code cov, update spec
apply most of @fedekunze comments.
* format spec
* make proto
* fix merge conflicts
* make proto
* fix conflicts
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2020-10-01 11:40:35 +00:00
Federico Kunze
dcf3b54ca1
ibc: async acknowledgements ( #7361 )
...
* rename packet ack abs
* update packet executed
* write ack
* update clients
* update transfer keeper
* changes from reviews
* rename ReceiveExecuted -> WriteReceipt
* tests
* fix tests
* Apply suggestions from code review
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
* Update x/ibc/07-tendermint/types/client_state_test.go
Co-authored-by: Aditya <adityasripal@gmail.com>
* comments from review
* update RecvPacket
* spec typo
* test fixes
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-10-01 10:25:50 +00:00
Federico Kunze
52a0b6d899
ibc: light clients restructure ( #7408 )
...
* ibc: light clients restructure
* tendermint client cleanup
* solomachine cleanup
* rename
* add cli
* update spec README
* proto files update
* fix
* update proto files
* fix test build
* fix test build
2020-10-01 06:38:53 -03:00
Aditya
01fd22d244
ibc: upgrade client ( #7367 )
...
* implement upgrade module changes
* implement client changes
* implement core tendermint logic
* remove assumption that new client state has same structure as old
* fix light client builds
* fix rest of build
* fix tendermint tests
* fix all tests except MarshalJSON
* fix, marshalUpgrade fails
* Apply suggestions from code review
* minor updates
* update proto and validate path
* fix MarshalJSON panic
* hack my way to first passing test case
* add rest of upgrade test cases
* fix plan tests
* add keeper tests
* fix upgrade tests
* add more tests
* add upgrade path validation to ValidateSelfClient
* validate upgradedClient
* fix upgrade handler tests
* appease linter
* Apply suggestions from code review
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* change signer to string in proto
* lint
* start address @colin-axner review
* improve test coverage
* fix abci stringer test
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2020-10-01 03:21:57 -03:00
colin axnér
be59020f29
Add multisig support + tests to solo machine ( #7383 )
...
* add multisig support to testing pkg
Adds single and multisig public key support to the testing package. Fix build associated with changes.
* update clientstate tests to use singlesig and multsig
* add singlesig and multisig tests for consensus state, header, and misbehaviour
* add singlesig and multisig for solomachine handlers
* add spec
* fix lgtm
* fixes from self review
* fix lint?
* fix build
* increase code cov
* Update x/ibc/light-clients/solomachine/types/client_state.go
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* apply @fedekunze review suggestions
Add comment to VerifyMultisignature explaining why it uses the nested function. Switch panic to require. Add comment for secp256k1 key usage. Ref: https://github.com/cosmos/cosmos-sdk/pull/7383#pullrequestreview-496591518
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-09-28 11:00:33 +00:00
Anil Kumar Kammari
d55c1a2665
Change `address` from bytes to bech32 strings ( #7242 )
...
* init
* Fix bank proto messages
* missing conversions
* remove casttype for addresses
* Fix tests
* Fix consaddress
* more test fixes
* Fix tests
* fixed tests
* migrate missing proto declarations
* format
* Fix format
* Fix alignment
* Fix more tests
* Fix ibc merge issue
* Fix fmt
* Fix more tests
* Fix missing address declarations
* Fix staking tests
* Fix more tests
* Fix config
* fixed tests
* Fix more tests
* Update staking grpc tests
* Fix merge issue
* fixed failing tests in x/distr
* fixed sim tests
* fixed failing tests
* Fix bugs
* Add logs
* fixed slashing issue
* Fix staking grpc tests
* Fix all bank tests :)
* Fix tests in distribution
* Fix more tests in distr
* Fix slashing tests
* Fix statking tests
* Fix evidence tests
* Fix gov tests
* Fix bug in create vesting account
* Fix test
* remove fmt
* fixed gov tests
* fixed x/ibc tests
* fixed x/ibc-transfer tests
* fixed staking tests
* fixed staking tests
* fixed test
* fixed distribution issue
* fix pagination test
* fmt
* lint
* fix build
* fix format
* revert tally tests
* revert tally tests
* lint
* Fix sim test
* revert
* revert
* fixed tally issue
* fix tests
* revert
* fmt
* refactor
* remove `GetAddress()`
* remove fmt
* revert fmt.Striger usage
* Fix tests
* Fix rest test
* disable interfacer lint check
* make proto-format
* add nolint rule
* remove stray println
Co-authored-by: aleem1314 <aleem.md789@gmail.com>
Co-authored-by: atheesh <atheesh@vitwit.com>
2020-09-25 10:25:37 +00:00
Marie Gauthier
91ca8ad3c1
Migrate BaseAccount PubKey to use Any ( #7268 )
...
* WIP on BaseAccount protobuf pub_key
* WIP on BaseAccount.PubKey
* WIP on BaseAccount pub key
* Update PubKey
* Update Account
* Docs
* WIP on protobuf keys
* Use Type() and Bytes() in sr25519 pub key Equals
* Add tests
* Add few more tests
* Update other pub/priv key types Equals
* Fix PrivKey's Sign method
* Rename variables in tests
* Fix infinite recursive calls
* Use tm ed25519 keys
* Add Sign and VerifySignature tests
* Remove ed25519 and sr25519 references
* proto linting
* Add proto crypto file
* Implement some of the new multisig proto type methods
* Add tests for MultisigThresholdPubKey
* Add tests for pubkey pb/amino conversion functions
* Move crypto types.go and register new proto pubkeys
* Add missing pointer ref
* Address review comments
* panic in MultisigThresholdPubKey VerifySignature
* Fix compile errors
* Remove pk conversion in ante handler
* Use internal crypto.PubKey in multisig
* Add tests for MultisigThresholdPubKey VerifyMultisignature
* Only keep LegacyAminoMultisigThresholdPubKey and move to proto keys to v1
* Remove conversion functions and introduce internal PubKey type
* Override Amino marshaling for proto pubkeys
* Merge master
* Make proto-gen
* Start removal of old PubKeyMultisigThreshold references
* Fix tests
* Fix solomachine
* Fix ante handler tests
* Pull latest go-amino
* Remove ed25519
* Remove old secp256k1 PubKey and PrivKey
* Uncomment test case
* Fix linting issues
* More linting
* Revert tests keys values
* Add Amino overrides to proto keys
* Add pubkey test
* Fix tests
* Use threshold isntead of K
* Standardize Type
* Revert standardize types commit
* Fix build
* Fix lint
* Fix lint
* Add comment
* Register crypto.PubKey
* Add empty key in BuildSimTx
* Simplify proto names
* Unpack interfaces for signing desc
* Fix IBC tests?
* Format proto
* Use secp256k1 in ibc
* Fixed merge issues
* Uncomment tests
* Update x/ibc/testing/solomachine.go
* UnpackInterfaces for solomachine types
* Remove old multisig
* Add amino marshal for multisig
* Fix lint
* Correctly register amino
* One test left!
* Remove old struct
* Fix test
* Fix test
* Unpack into tmcrypto
* Remove old threshold pubkey tests
* Fix register amino
* Fix lint
* Use sdk crypto PubKey in multisig UnpackInterfaces
* Potential fix?
* Register LegacyAminoPubKey
* Register our own PubKey
* Register tmcrypto PubKey
* Register both PubKeys
* Register interfaces in test
* Refactor fiels
* Add comments
* Remove old cosmos-sdk/crypto/keys reference
* Use anil's suggestion
* Add norace back
* Use our own ed25519
* Fix pubkey types
* Fix network tests
* Fix more tests
* Make ibc work?
* Use TM pubkey in NewValidator
* Fix lint
* Put interface in tpyes
* rerun CI
* Better name register
* Remove stray code
* Add ed25519 tests
* Check nil
* Correct interface impl assert
* rerun CI
* Add fix for Bech32
* Address comments
* FIx lint
* Add tests for solomachine unpack interfaces
* Fix query tx by hash
* Better name in amino register
* Fix lint
* Add back ed25519 test (fixes #7352 )
* go mod tidy
* Fix merge issues
* Sort import
* Add test for backwards-compatibility
* Fix tests
* Fix merge issue
* Update client/context.go
Co-authored-by: Cory <cjlevinson@gmail.com>
* Update types/address.go
Co-authored-by: Cory <cjlevinson@gmail.com>
* Address feedback
* Add comment
* Fix BaseAccount SetPubKey and address further comments
* Lint
* Remove unnecessary use of copy in getPubKeyFromString
* Update comment
Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Cory <cjlevinson@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-09-25 08:41:16 +00:00
Jack Zampolin
0dfe7ad6a0
Update tendermint version ( #7366 )
...
* Update tendermint version
* update testing pkg to use latest versioned block protocol for tendermint headers
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Colin Axner <colinaxner@berkeley.edu>
2020-09-23 09:12:24 +00:00
colin axnér
9e7f504da9
remove client type from 02-client ( #7336 )
...
* remove client type struct
Remove the client type struct, remove ClientType interface function from Header and Misbehaviour.
ClientState and ConsensusState return the ClientType as a string.
All uses of client type in testing are now pointing at the testing package so changing the location of the client type const will be painless.
* update godoc and add back client type interface func
Add godoc to client type constant for solo machine, tendermint, and localhost as per @fedekunze review suggestion.
Add back the ClientType interface function for misbehaviour and header for solo machine and tendermint and add back the one liner unit tests as per @AdityaSripal suggestion.
* remove client state from return
remove client state from the return of CreateClient, UpdateClient, and CheckMisbehaviourAndUpdateState as well as update tests to reflect this change.
* fix build error introduced by latest merge
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-09-22 14:25:58 +00:00
Amaury Martiny
7cd25abb87
Proto Tx with Any ( #7276 )
...
* WIP on protobuf keys
* Use Type() and Bytes() in sr25519 pub key Equals
* Add tests
* Add few more tests
* Update other pub/priv key types Equals
* Fix PrivKey's Sign method
* Rename variables in tests
* Fix infinite recursive calls
* Use tm ed25519 keys
* Add Sign and VerifySignature tests
* Remove ed25519 and sr25519 references
* proto linting
* Add proto crypto file
* Implement some of the new multisig proto type methods
* Add tests for MultisigThresholdPubKey
* Add tests for pubkey pb/amino conversion functions
* Move crypto types.go and register new proto pubkeys
* Add missing pointer ref
* Address review comments
* panic in MultisigThresholdPubKey VerifySignature
* Use internal crypto.PubKey in multisig
* Add tests for MultisigThresholdPubKey VerifyMultisignature
* Only keep LegacyAminoMultisigThresholdPubKey and move to proto keys to v1
* Remove conversion functions and introduce internal PubKey type
* Override Amino marshaling for proto pubkeys
* Merge master
* Make proto-gen
* Start removal of old PubKeyMultisigThreshold references
* Fix tests
* Fix solomachine
* Fix ante handler tests
* Pull latest go-amino
* Remove ed25519
* Remove old secp256k1 PubKey and PrivKey
* Uncomment test case
* Fix linting issues
* More linting
* Revert tests keys values
* Add Amino overrides to proto keys
* Add pubkey test
* Fix tests
* Use threshold isntead of K
* Standardize Type
* Revert standardize types commit
* Fix build
* Fix lint
* Fix lint
* Add comment
* Register crypto.PubKey
* Add empty key in BuildSimTx
* Simplify proto names
* Unpack interfaces for signing desc
* Fix IBC tests?
* Format proto
* Use secp256k1 in ibc
* Fixed merge issues
* Uncomment tests
* Update x/ibc/testing/solomachine.go
* UnpackInterfaces for solomachine types
* Remove old multisig
* Add amino marshal for multisig
* Fix lint
* Correctly register amino
* One test left!
* Remove old struct
* Fix test
* Fix test
* Unpack into tmcrypto
* Remove old threshold pubkey tests
* Fix register amino
* Fix lint
* Use sdk crypto PubKey in multisig UnpackInterfaces
* Potential fix?
* Register LegacyAminoPubKey
* Register our own PubKey
* Register tmcrypto PubKey
* Register both PubKeys
* Register interfaces in test
* Refactor fiels
* Add comments
* Use anil's suggestion
* Add norace back
* Check nil
* Address comments
* FIx lint
* Add tests for solomachine unpack interfaces
* Fix query tx by hash
* Better name in amino register
* Display StdTx instead of proto Tx
* Remove useless check
Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: blushi <marie.gauthier63@gmail.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
2020-09-21 16:48:28 +00:00
Aditya
984c2d4179
Retrieve Epoch from ChainID ( #7280 )
...
* add functions to parse epoch from height
* remove 0 epoch hardcoding
* fix tendermint tests
* fix tests
* start update docs
* progress
* better parsing of chainID
* fix update and misbehaviour logic and add tests
* update docs
* docfix
* Apply suggestions from code review
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
* Update x/ibc/07-tendermint/types/misbehaviour_handle_test.go
* change self checks to use epochs
* address rest of reviews
* rename epoch number to version in docs
* wrap up rest of TODOs
* Update x/ibc/02-client/genesis.go
* add self validate test
* Apply suggestions from code review
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
* fix godoc
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
2020-09-15 21:09:48 +00:00
colin axnér
ec74416276
x/ibc: move solo machine sequence to client state ( #7271 )
...
* update proto
* move solo machine sequence to client state
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>
2020-09-09 12:14:11 -03:00
dauTT
d61fa43108
x/ibc: mock own privValidator rather than relying on the one from tendermint ( #7241 )
...
* 1) Create PrivValidator mock in x/ibc/testing/mock/privval.go
2) Adjust tests accordingly
* Add tests
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-09-07 21:44:23 +00:00
Anil Kumar Kammari
64b6bb5270
rename RegisterCodec to RegisterLegacyAminoCodec ( #7243 )
...
* rename RegisterCodec to RegisterLegacyAminoCodec
* Add changelog
* gofmt
* rename codec.New() to codec.NewLegacyAmino()
* Add change log
* Update CHANGELOG.md
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
* Fix
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
2020-09-07 14:47:12 +00:00
Federico Kunze
2f25c9a0d8
x/ibc: solo machine signature format ( #7237 )
...
* x/ibc: solo machine signature format
* update tests and verification
* diversifier updates
* update tests
* fix lint
* Update x/ibc/light-clients/solomachine/types/header_test.go
Co-authored-by: Aditya <adityasripal@gmail.com>
* Apply suggestions from code review
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
* update test
* misbehaviour sign bytes
* consensus state tests
* fix tests
* more fixes
Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
2020-09-07 12:46:48 +00:00
dauTT
b52ffa08e1
Implement ADR 026 ( #7029 )
...
* Add allow_governance_override_after_expiry flag to tendermint NewCreateClientCmd
* 1) Add LatestTimestamp to ClientState struct by adding a new attribute latest_timestamp to the message ClientState in proto/ibc/tendermint/tendermint.proto
2) Autogenerate x/ibc/07-tendermint/types/tendermint.pb.go by running 'make proto-gen'. Strangely, as a side effect x/distribution/types/genesis.pb.go, x/evidence/types/genesis.pb.go were also modified by the command 'make proto-gen'
3) Add Expired() function
* Fix tests
* 1) Add allow_governance_override_after_expiry flag to tendemint clientStatus
2) Add allow_governance_override_after_misbehaviour flag to tendermint ClientStatus
* Cosmetic changes
* Fix tests
* Add Unfreeze function
* Add new ClientUpdateProposal type
* Add minor fixes
* Add NewClientUpdateProposalHandler unit tests
* Fix proto-lint-docker
* Delete x/ibc/07-tendermint/tendermint_test.go
* Follow convention to put signer last in msg function signature
* 1) Add GetLatestTimestamp function to ClientStatus interface
2) Change Expired() signature to Expired(now time.Time)
* 1) Add override flag to UpdateClient function
2) Fix tests
* Refactor HandleClientUpdateProposal
* 1) Extend exported Header interface with MarshalBinaryBare and UnmarshalBinaryBare methods
2) Move ClientUpdateProposal message to from ibc.proto to client.proto
3) Refactoring code
4) Add override flag to UpdateClient method
5) Fix tests
* 1) Uncomment tests and clean up code
2) Add basic validation of the header (ValidateBasic) when the override flag is true
* Cosmetic changes
* Add TODO comments
* Fix header MarshalBinaryBare, UnmarshalBinaryBare by using protobuf encoding/decoding
* Fix proto comments
* Fix override logic
* undo gettimestamp for solo machine and localhost
* add update after proposal func, some major refactoring in progress, various issues addressed
* fix tendermint proposal update handling
* run make proto-gen
* remove timestamp from tendemint client
* fix build issue for tm types
* apply various review comments
* add tests for 02-client functionality
* self review fixes
* typo
* update tests slightly
* update tendermint proposal handling tests
* Update x/ibc/02-client/keeper/proposal.go
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* Update x/ibc/07-tendermint/types/proposal_handle.go
Co-authored-by: Aditya <adityasripal@gmail.com>
* Update x/ibc/07-tendermint/types/proposal_handle.go
Co-authored-by: Aditya <adityasripal@gmail.com>
* apply most of @fedekunze and some of @AdityaSripal suggestions
* convert test to bools
* update docs and increase code cov
* fix build
* fix typo, remove omitempty
* add switch
* apply @fedekunze latest suggestions
* fix lint
* Update x/ibc/02-client/keeper/proposal_test.go
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Colin Axner <colinaxner@berkeley.edu>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-09-04 20:59:22 +00:00
Aditya
4f9e31ea21
x/ibc: implement Height interface ( #7211 )
...
* change interfaces
* fix tendermint client interfaces
* fix other clients interfaces
* fix queries
* fix tendermint build
* fix builds of clients
* fix 02-build
* start fixing connection and make queries non-nullable
* fix connection keepers and queries
* fix connection build
* fix channel build
* fix all non-test files
* fix testing build
* cleanup
* lint
* fix timeout height interface
* fix tendermint tests
* fix rest of clients
* fix connection tests
* fix client tests
* fix channel tests
* fix all ibc tests
* fix transfer tests:
* docs
* fix connection query
* Apply suggestions from code review
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* wrap-up review
Co-authored-by: Jack Zampolin <jack.zampolin@gmail.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-09-03 16:23:20 -04:00
colin axnér
979e8144fb
move IBC exported files to one location to avoid circular deps ( #7224 )
...
* move exported files to one location to avoid circular deps
* gofmt
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-09-02 16:38:50 +00:00
Federico Kunze
0fffaf589b
ibc: modular client messages ( #7160 )
...
* ibc: modular client messages
* more updates
* remove client messages
* fixes
* fix tests
* lint
* Apply suggestions from code review
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
* codec.go tests
* cleanup exported
* MsgCreateClient test
* msg tests
* Apply suggestions from code review
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
* fix tests
* proto files update
* errors
* address comments
* spec changes
* add sanity check test cases
* add additional sanity check
* fix expPass
* fix build and remove unnecessary test since validatebasic is checked in the msg
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Aditya Sripal <adityasripal@gmail.com>
Co-authored-by: Colin Axner <colinaxner@berkeley.edu>
2020-09-01 10:40:31 +00:00
Aditya
d208d2bed8
Make clients use proto Height ( #7184 )
...
* start using Height in TM client
* fix client tests
* fix client tests
* fix connection tests
* fix rest of tests
* Apply suggestions from code review
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
* fix simple issues
* add and use LTE and GTE methods
* remove TM-specific height semantics from 02-client
* fix lint and build
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
2020-08-31 17:57:08 +00:00
colin axnér
fc75d14c88
Rename PacketExecuted to ReceiveExecuted ( #7206 )
...
* update ibc-transfer
* rename PacketExecuted -> ReceiveExecuted
2020-08-31 15:36:01 +00:00