Emmanuel T Odeke
291d966fe9
x/ibc/core/23-commitment/types: fix MerkleProof.Empty comparisons ( #8092 )
...
* x/ibc/core/23-commitment/types: fix MerkleProof.Empty comparisons
Fixes invalid pointer creation, reduces on unnecessary allocations
inside MerkleProof.Empty, and changes the method to a pointer; the
invalid pointer creation was symptomatic of broad use of values.
With this change we have improvements whose benchmarks produce:
```shell
name old time/op new time/op delta
Empty-8 311ns ± 5% 232ns ± 5% -25.49% (p=0.000 n=20+19)
name old alloc/op new alloc/op delta
Empty-8 56.0B ± 0% 8.0B ± 0% -85.71% (p=0.000 n=20+20)
name old allocs/op new allocs/op delta
Empty-8 3.00 ± 0% 1.00 ± 0% -66.67% (p=0.000 n=20+20)
```
Fixes #8091
* Move Empty godoc to right place + add comments for blank*
2020-12-07 20:57:15 +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
c8a9da1d27
increase ibc basic genesis validation ( #8081 )
...
* increase client basic genesis validation
* add connection/channel genesis validation
* fix tests
* apply @AdityaSripal suggestion
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>
2020-12-05 21:10:15 +00:00
Anil Kumar Kammari
4a233b8dcf
Rename GRPCRouter ( #8079 )
...
* rename GRPCRouter
* Update store/types/store.go
Co-authored-by: Robert Zaremba <robert@zaremba.ch>
* Fix gofmt
Co-authored-by: Robert Zaremba <robert@zaremba.ch>
2020-12-04 15:06:50 +00:00
Aleksandr Bezobchuk
5291a8ff31
Refactor Logging using Zerolog ( #8072 )
...
* init commit
* server: use flags
* server: godoc++
* updates
* baseapp: update logging
* logging updates
* x/bank: update logging
* logging updates
* lint++
* logging updates
* logging updates
* logging updates
* logging updates
* cl++
2020-12-03 23:17:21 +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
colin axnér
ed9fc058f1
Add an IBC prefix to transfer escrow addresses ( #7967 )
...
* add IBC prefix to escrow addresses
* use ADR 028 AddressHash construction
* remove extra space
* apply @AdityaSripal suggestion; prefix from ibc -> ibc-transfer-escrow-prefix
* Use alternative 1 proposed by @andrey-kuprianov
* anticpate necessary build fix
* add escrow address issue link into module.go
* Update x/ibc/applications/transfer/types/keys.go
Co-authored-by: Andrey Kuprianov <59489470+andrey-kuprianov@users.noreply.github.com>
* Update x/ibc/applications/transfer/types/keys.go
Co-authored-by: Andrey Kuprianov <59489470+andrey-kuprianov@users.noreply.github.com>
* apply @andrey-kuprianov review suggestions
Deduplicate code into a helper function as suggested. Add unit tests for max transfer channels test.
Co-authored-by: Andrey Kuprianov <59489470+andrey-kuprianov@users.noreply.github.com>
2020-11-26 13:44:54 +00:00
yihuang
512b533242
cli: ParseCoin doesn't do normalize ( #7954 )
...
follow up on https://github.com/cosmos/cosmos-sdk/pull/7777
ParseCoin need to be treated similarly.
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-11-25 18:02:10 +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
53294f5269
check clients against params and consensus against clients ( #8016 )
...
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
2020-11-24 12:27:35 +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
colin axnér
966e26d23d
Fix tendermint misbehaviour trusted consensus state age check ( #8006 )
...
* use TrustingPeriod instead of UnbondingPeriod when verifying the age of the trusted consensus state
* update comment
2020-11-23 16:10:25 +01:00
Aleksandr Bezobchuk
a7296d3d4e
Bump Tendermint v0.34.0 ( #7995 )
...
* init commit
* ibc: remove redundant casting
* ci: attempt fix liveness job
2020-11-20 19:00:11 +01:00
Federico Kunze
87315a6aab
ibc: commit packet and hash ( #7808 )
...
* ibc: commit packet and hash
* minor changes
* fix build
* update err msgs
* don't use Any
* update commitment hash to used fixed length preimage
The commitment hash will now use 8 bytes timeout timestamp + 8 bytes timeout height version number + 8 bytes timeout height version height + sha 256 hash of data
* remove error from CommitPacket return values
* update godoc
* rm proto-tools-stamp
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-11-18 19:01:22 +00:00
colin axnér
f02a46263f
update transfer error messages ( #7968 )
...
* update transfer err messages
* apply @AdityaSripal review suggestion
2020-11-18 14:56:26 +01: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
03c8fb313d
add domain separation between port and channel ( #7960 )
...
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-11-17 15:37:20 +00:00
colin axnér
a7435d03eb
fix validate basic check ( #7962 )
...
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-11-17 15:18:16 +00:00
colin axnér
715933b5f3
reduce redundancy ( #7959 )
...
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-11-17 15:01:34 +00:00
colin axnér
0647d897f5
add is frozen client state check to send packet ( #7957 )
...
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-11-17 12:55:33 +00:00
colin axnér
e93b18e60e
self height uses GTE in self client check ( #7945 )
...
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-11-17 11:40:12 +00:00
Jun Kimura
f962f3a28c
Fix int64 overflow error for height comparison ( #7944 )
...
* fix int64 overflow for height comparison
* apply suggestions from review
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-11-17 10:42:06 +00:00
colin axnér
be10bcb163
counterParty -> counterparty ( #7946 )
...
* nit
* fix spec and docs
2020-11-16 15:06:55 +00:00
colin axnér
cd29fd642a
Fix connection path validation and remove unused PathValidator function ( #7930 )
...
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-11-16 09:30:57 +00:00
Callum Waters
6b62d266bb
use verifycommitlight ( #7936 )
2020-11-16 09:14:21 +00:00
colin axnér
7e6978ae55
ibc: tendermint misbehaviour should use block hash for equality check ( #7928 )
...
* check block hash equality
* update err msg
* valid commit now uses block id hash
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-11-13 19:01:33 +00:00
colin axnér
0b1a3eed39
add docs and make prefix a const ( #7926 )
...
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-11-13 14:32:33 +00:00
colin axnér
ddc777cf6f
remove chainid from ibc tm misbehaviour ( #7932 )
...
* remove chainid from misbehaviour
* update err msg
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-11-13 14:16:51 +00:00
Federico Kunze
e77c9506c8
ibc: packet fixes ( #7810 )
...
* ibc: msg validation fields
* msg tests
* rename proof
* rename proofs
* check seq ≠ 0
Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
2020-11-13 13:58:13 +00:00
Aditya
4b529a41cf
Capability Fixes ( #7918 )
...
* add cap and name checks
* Update x/capability/keeper/keeper.go
* address reviews
* fix missing trim
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-11-13 11:13:59 +00:00
Ethan Buchman
15103b63a1
x/ibc/24-host: fix some comments ( #7923 )
...
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-11-13 10:33:33 +00:00
colin axnér
c0d7233141
Minor fixes for ibc tendermint ( #7916 )
...
* remove nil checks in getter functions for ibc tm header
* remove redundant registration
* add upgrade height version height check
* fix err msg
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-11-12 19:01:22 +00:00
colin axnér
956e1cf68f
move sdk denom validation to top of validateibcdenom ( #7917 )
2020-11-12 18:44:02 +00:00
colin axnér
96f239db1c
remove timestamp check from solomachine misbehaviour ( #7915 )
...
* remove timestamp check from solomachine misbehaviour
* add more documentation
2020-11-12 16:15:33 +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
colin axnér
e9f19225a9
IBC Upgrades function interface return client/consensus ( #7895 )
...
* return client and consensus state on upgrades
* fix build
2020-11-11 18:06:37 +00:00
colin axnér
76ffdccb03
IBC Fraction for trust level changed to uints ( #7892 )
...
* fraction uses uint now
* Update proto/ibc/lightclients/tendermint/v1/tendermint.proto
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-11-11 15:52:11 +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
116d0460fc
solo machine GetPubKey returns an error instead of panicing ( #7883 )
...
* solo machine public key now returns an error instead of panicing
* apply @fedekunze review suggestions
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-11-11 10:09:57 +00:00
colin axnér
0bd46574f4
fix mismatched solomachine signature data type verification ( #7882 )
...
* fix mismatched signature data type verification
* update godoc
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-11-10 20:37:10 +00:00
Federico Kunze
bcdd6ee15c
ibc: fix grpc gateway routes ( #7881 )
2020-11-10 17:50:53 +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
colin axnér
55772aec8c
update err to match others ( #7857 )
...
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-11-09 17:12:00 +00: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
Federico Kunze
70fa17b55a
ibc: spec overview ( #7853 )
2020-11-09 12:44:20 +01:00
Federico Kunze
f294db9ccf
x/ibc: transfer specs ( #7580 )
...
* x/ibc: transfer specs
* update titles and list todos
* denom trace and client UX
* add UX recommendations and locked funds section
* metrics
* state transitions
* Apply suggestions from code review
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
* address comments from review
* jack suggestions
* add example
* fix
* address comments from call with @zakimanian
* Update x/ibc/applications/transfer/spec/01_concepts.md
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>
* add comment about verification
* address comments from review
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>
2020-11-09 08:49:16 +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
Federico Kunze
97963c71df
ibc: remove GetClientConsensusStateLTE ( #7812 )
2020-11-05 14:46:00 +01:00