Commit Graph

8229 Commits

Author SHA1 Message Date
Robert Zaremba f1de92fef0
ADR-040: Storage and SMT State Commitments (#8430)
* ADR-040: Storage and SMT State Commitments

* Update docs/architecture/adr-040-storage-and-smt-state-commitments.md

Co-authored-by: Ismail Khoffi <Ismail.Khoffi@gmail.com>

* Update docs/architecture/adr-040-storage-and-smt-state-commitments.md

Co-authored-by: Ismail Khoffi <Ismail.Khoffi@gmail.com>

* Added more details for snapshotting and pruning.

* updated links and references

* add blockchains which already use SMT

* reorganize versioning and pruning

* Update docs/architecture/adr-040-storage-and-smt-state-commitments.md

Co-authored-by: Tomasz Zdybał <tomek@zdybal.lap.pl>

* Update docs/architecture/adr-040-storage-and-smt-state-commitments.md

Co-authored-by: Ismail Khoffi <Ismail.Khoffi@gmail.com>

* adding a paragraph about state management

* adr-40: update 'accessing old state' section

* update based on all recent discussions and validations

* adding more explanation about KV interface

* Apply suggestions from code review

Co-authored-by: Tomasz Zdybał <tomek@zdybal.lap.pl>
Co-authored-by: Marko <marbar3778@yahoo.com>

* Apply suggestions from code review

Co-authored-by: Marko <marbar3778@yahoo.com>

* review comments

* adding paragraph about commiting to an object without storying it

* review updates

* Apply suggestions from code review

Co-authored-by: Roy Crihfield <30845198+roysc@users.noreply.github.com>

* review udpates

* adding clarification

Co-authored-by: Ismail Khoffi <Ismail.Khoffi@gmail.com>
Co-authored-by: Tomasz Zdybał <tomek@zdybal.lap.pl>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Roy Crihfield <30845198+roysc@users.noreply.github.com>
2021-05-11 16:45:29 -04:00
MD Aleem 8cfa2c2673
x/authz: simulation audit changes (#9107)
* addressing audit changes

* address simulation genesis changes

* address simulation operations changes

* fix tests

* typo

* add more authorizations to operations

* fix tests

* fix failing simulations

* WIP

* WIP

* testing simulations

* test simulations

* try fixing tests

* WIP

* fix error

* test

* Add exec authorization

* WIP

* WIP

* fix tests

* WIP

* WIP

* WIP

* WIP

* WIP

* fix errors

* fix test

* WIP

* try fix test

* update tests

* fix errors

* add exec authorization

* fix docs

* fix test

* fix error

* try fixing simulation

* fix errors

* fixing simulations

* fix errors

* rename GenTx -> GenerateTx

* Update x/authz/simulation/genesis.go

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update x/authz/simulation/genesis.go

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update x/authz/simulation/operations.go

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* review changes

* fix tests

* rename GenerateTx => GenTx

* remove Authorization suffix

Co-authored-by: Robert Zaremba <robert@zaremba.ch>
Co-authored-by: atheeshp <59333759+atheeshp@users.noreply.github.com>
2021-05-11 15:33:33 +00:00
Amaury 56c0595f32
Remove migration scripts <=0.38 (#9291)
* Remove migration scripts <=0.38

* Add changelog

* remove more

* remove more stuff

* Fix test

* Relase wording

* Add comment

* Include migratio wording
2021-05-11 14:01:13 +00:00
likhita-809 300d2a7fd4
v043 audit changes for version (#9296)
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-05-11 13:08:23 +00:00
MD Aleem 505cb83206
0.43 aidut changes for client module (#9295)
Co-authored-by: atheeshp <59333759+atheeshp@users.noreply.github.com>
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
2021-05-11 12:44:10 +00:00
likhita-809 28c2ce0b53
v043 audit changes for telemetry/ (#9297)
* v043 audit changes for version

* v042 audit changes for telemetry

* remove version changes in telemetry audit
2021-05-11 12:28:47 +00:00
dependabot[bot] 3a774cf0d1
build(deps): bump github.com/armon/go-metrics from 0.3.7 to 0.3.8 (#9248)
Bumps [github.com/armon/go-metrics](https://github.com/armon/go-metrics) from 0.3.7 to 0.3.8.
- [Release notes](https://github.com/armon/go-metrics/releases)
- [Commits](https://github.com/armon/go-metrics/compare/v0.3.7...v0.3.8)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-05-11 09:03:24 +00:00
technicallyty 025d072ff1
Crypto v0.43 Audit updates (#9292)
* fix tests

* calculate fieldSize for esdca test

* remove require declaration for consistency

Co-authored-by: technicallyty <48813565+tytech3@users.noreply.github.com>
2021-05-10 19:06:17 -04:00
technicallyty 709ab089c1
x/bank v0.43 Audit updates (#9271)
* add godoc to keeper functions

* re-add ValidateBasic to MsgSend CLI tx

* add comment to reflect new return value on method

* remove unecessary variable

* cleanup key comments

* typo

* unused param

* update messages spec

* move event emission to end of method

* update keeper spec

* update proto message to point correct path to interface

* keeper spec typos

* fix test for event emission being moved

* change to blocklist

* rename SendEnabledCoin(s) -> IsSendEnabledCoins

* typo

* remove unecessary check

* move changelog line

Co-authored-by: technicallyty <48813565+tytech3@users.noreply.github.com>
2021-05-10 12:17:55 -04:00
dependabot[bot] 75d3547e80
build(deps): bump github.com/otiai10/copy from 1.5.1 to 1.6.0 (#9289)
Bumps [github.com/otiai10/copy](https://github.com/otiai10/copy) from 1.5.1 to 1.6.0.
- [Release notes](https://github.com/otiai10/copy/releases)
- [Commits](https://github.com/otiai10/copy/compare/v1.5.1...v1.6.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-05-10 14:03:11 +00:00
Marie Gauthier 6425825cac
ADR-042: Group module (#9089)
* Add ADR-042

* Fix link

* Small improvements

* Update link

* Update docs/architecture/adr-042-group-module.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/architecture/adr-042-group-module.md

* Update docs/architecture/adr-042-group-module.md

* Update docs/architecture/adr-042-group-module.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/architecture/adr-042-group-module.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/architecture/adr-042-group-module.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/architecture/adr-042-group-module.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/architecture/adr-042-group-module.md

* Update docs/architecture/adr-042-group-module.md

* Update docs/architecture/adr-042-group-module.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/architecture/adr-042-group-module.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/architecture/adr-042-group-module.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/architecture/adr-042-group-module.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/architecture/adr-042-group-module.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/architecture/adr-042-group-module.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/architecture/adr-042-group-module.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Move orm to specific section

* Update docs/architecture/adr-042-group-module.md

* Update naming

* Add concrete use cases

* Rework ### Proposal

* Rework Vote, Exec and implementation sections

* Update to account for removal of ServiceMsg

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Robert Zaremba <robert@zaremba.ch>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-05-10 12:53:47 +00:00
likhita-809 e96839de2f
x/staking v0.43 Audit updates (#9267)
* update staking specs

* use gosimple code in x/staking/client/testutil/suite.go

* small fixes

* add godoc to methods in msg_server and grpc_query

* changes to godoc and small fixes

* remove unnecessary lines

* remove mentions of serviceMsg and avoid having slash after Msg
2021-05-10 12:41:24 +00:00
Robert Zaremba 9038dfe3b6
authz: Update MsgGrant proto (#9280)
* adding GetAuthorization test

* update MsgGrant proto

* update comment
2021-05-10 09:28:08 +00:00
Ryan Christoffersen b635ae2090
Update docs for building modules (#9272)
* update example structure

* update example structure

* update module errors path

* update paths and fix typos

* update paths and fix typos

* update example structure

* address review comments
2021-05-07 18:13:06 -04:00
Robert Zaremba 3e4d81c3d3
Fix proto format (#9279)
* makefile: fix proto-format

* reformat all proto files

* regenerating proto

* remove dangling semicolon
2021-05-07 21:33:17 +00:00
Robert Zaremba 1986104ef4
ADR-30 (authz) update based on authz audit (#9270)
* ADR-30 (authz) update based on authz audit

* changelog and comment update

* fix linter issue

* Apply suggestions from code review

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>

* Update MsgGrant to reuse the Grant type

* Update docs/architecture/adr-030-authz-module.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
2021-05-07 19:38:43 +00:00
Amaury 5725659684
x/gov v0.43 Audit updates (#9258)
* Update gov tx usage

* Update proto

* make proto-gen

* Add deposit test

* Rename test function

* More audits

* Update x/gov/keeper/internal_test.go

* Update x/gov/spec/01_concepts.md

Co-authored-by: atheeshp <59333759+atheeshp@users.noreply.github.com>
2021-05-07 12:00:19 +00:00
Robert Zaremba 4af85dc1a3
router: fix handler name (#9281) 2021-05-07 12:37:55 +02:00
Amaury 56ab4e4c93
Cleanup remains of ServiceMsg (#9236)
* Remove ServiceMsgClientConn from CLI

* Cleanup Operations

* Remove some legacytx.LegacyMsg

* Update CL

* Remove mentions of ServiceMsg

* Simply reflection MsgDescriptor

* Simplify more

* Add code comment

Co-authored-by: technicallyty <48813565+technicallyty@users.noreply.github.com>
2021-05-07 09:31:20 +00:00
dependabot[bot] 9899ae056a
build(deps): bump codecov/codecov-action from v1.4.1 to v1.5.0 (#9256)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.4.1 to v1.5.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.4.1...a1ed4b322b4b38cb846afb5a0ebfa17086917d27)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
2021-05-07 11:16:27 +02:00
Marie Gauthier 3582ccef7c
Move x/feegrant/types to x/feegrant (#9273)
* Move x/feegrant/types to x/feegrant

* Update spec

* Use feegrantmodule
2021-05-07 07:10:47 +00:00
Robert Zaremba 59810f3286
x/authz: audit updates (#9042)
* x/authz: audit updates

* audit with Aaron

* authz: Update Authorization.Accept method

* authz: add event proto definitions

* update query service

* authz: use typed events

* refactore and rename query authorizations

* remve Authorization infix from proto services

* renames wip

* refactoring

* update tests

* fix compilation

* fixing gRPC query tests

* fix simulation tests

* few renames

* more refactore

* add missing file

* moving export genesis to keeper

* Update docs

* update tests

* rename event Msg attribute to MsgTypeURL

* Upate Authorization interface

* rollback Makefile changes

* fix tests

* Apply suggestions from code review

Co-authored-by: Aaron Craelius <aaron@regen.network>

* renames

* refactore authz/exported

* lint fix

* authz/types refactore

* comment update

* conflict updates

* Apply suggestions from code review

Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>

* authz: move storage keys to keeper

* review updates

* docs update

* Update x/authz/client/cli/query.go

Co-authored-by: Aaron Craelius <aaron@regen.network>

* move codec to the root package

* authz CMD info update

* comment update

* update imports and build flags

* fix functional tests

* update proto comment

* fix tests

* fix test

Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
2021-05-06 18:23:48 +00:00
Cuong Manh Le 4f306fca4d
store/cachekv: reduce allocation with []byte -> string in map keys (#9275)
Uses internal/conv throughout store/kv which shows performance gains.

Benchmark for store/cachekv:

name                          old time/op    new time/op    delta
CacheKVStoreIterator500-8       23.4µs ± 1%    23.3µs ± 1%     ~     (p=0.095 n=5+5)
CacheKVStoreIterator1000-8      46.7µs ± 1%    46.2µs ± 0%   -0.96%  (p=0.008 n=5+5)
CacheKVStoreIterator10000-8      457µs ± 1%     455µs ± 1%     ~     (p=1.000 n=5+5)
CacheKVStoreIterator50000-8     2.59ms ± 2%    2.47ms ± 1%   -4.64%  (p=0.008 n=5+5)
CacheKVStoreIterator100000-8    7.33ms ± 3%    6.91ms ± 1%   -5.75%  (p=0.008 n=5+5)
CacheKVStoreGetNoKeyFound-8      423ns ± 1%     391ns ± 2%   -7.41%  (p=0.008 n=5+5)
CacheKVStoreGetKeyFound-8        267ns ± 3%     264ns ± 2%     ~     (p=0.595 n=5+5)

name                          old alloc/op   new alloc/op   delta
CacheKVStoreIterator500-8       5.18kB ± 0%    5.18kB ± 0%     ~     (all equal)
CacheKVStoreIterator1000-8      9.29kB ± 0%    9.29kB ± 0%     ~     (p=0.079 n=4+5)
CacheKVStoreIterator10000-8     85.2kB ± 0%    84.9kB ± 0%   -0.30%  (p=0.008 n=5+5)
CacheKVStoreIterator50000-8      468kB ± 1%     458kB ± 0%   -2.17%  (p=0.008 n=5+5)
CacheKVStoreIterator100000-8    1.16MB ± 1%    1.10MB ± 0%   -5.34%  (p=0.008 n=5+5)
CacheKVStoreGetNoKeyFound-8       222B ± 1%      214B ± 0%   -3.78%  (p=0.008 n=5+5)
CacheKVStoreGetKeyFound-8        51.0B ± 0%     51.0B ± 0%     ~     (all equal)

name                          old allocs/op  new allocs/op  delta
CacheKVStoreIterator500-8         13.0 ± 0%      13.0 ± 0%     ~     (all equal)
CacheKVStoreIterator1000-8        13.0 ± 0%      13.0 ± 0%     ~     (all equal)
CacheKVStoreIterator10000-8       51.0 ± 0%      43.0 ± 0%  -15.69%  (p=0.008 n=5+5)
CacheKVStoreIterator50000-8      1.22k ± 4%     0.94k ± 1%  -23.04%  (p=0.008 n=5+5)
CacheKVStoreIterator100000-8     6.48k ± 4%     4.85k ± 1%  -25.12%  (p=0.008 n=5+5)
CacheKVStoreGetNoKeyFound-8       5.00 ± 0%      4.00 ± 0%  -20.00%  (p=0.008 n=5+5)
CacheKVStoreGetKeyFound-8         2.00 ± 0%      2.00 ± 0%     ~     (all equal)

Benchmark for x/auth/keeper:

name                            old time/op    new time/op    delta
AccountMapperGetAccountFound-8    1.27µs ± 3%    1.26µs ± 1%    ~     (p=0.270 n=5+5)
AccountMapperSetAccount-8         3.53µs ± 0%    3.44µs ± 1%  -2.59%  (p=0.008 n=5+5)

name                            old alloc/op   new alloc/op   delta
AccountMapperGetAccountFound-8      440B ± 0%      440B ± 0%    ~     (all equal)
AccountMapperSetAccount-8         2.13kB ± 0%    2.08kB ± 0%  -2.31%  (p=0.008 n=5+5)

name                            old allocs/op  new allocs/op  delta
AccountMapperGetAccountFound-8      10.0 ± 0%      10.0 ± 0%    ~     (all equal)
AccountMapperSetAccount-8           42.0 ± 0%      38.0 ± 0%  -9.52%  (p=0.008 n=5+5)

Fixes #9274
2021-05-06 06:33:01 -07:00
Anil Kumar Kammari 2eeb464939
Update `memo` usage docs (#9265)
* Update `memo` usage docs

* update doc

Co-authored-by: Aaron Craelius <aaron@regen.network>

* update doc

Co-authored-by: Aaron Craelius <aaron@regen.network>

Co-authored-by: Aaron Craelius <aaron@regen.network>
2021-05-06 08:47:02 +00:00
Cuong Manh Le d9b20122d5
x/staking: lazily get consensus key address (#9264) 2021-05-05 11:28:37 -07:00
MD Aleem 1e1c812de2
x/feegrant remove height base expiration (#9206)
* remove height from proto files

* remove PrepareForExport

* fix basic fee

* fix periodic fee

* fix errors

* fix error

* fix errors

* add tests

* review changes

* fix errors

* fix tests

* fix lint error

* Update x/feegrant/types/basic_fee.go

Co-authored-by: technicallyty <48813565+technicallyty@users.noreply.github.com>

* fix errors

* fix keeper tests

* Update x/feegrant/keeper/keeper_test.go

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* review changes

* review changes

* fix tests

* run make proto-gen

* fix errors

* Update x/feegrant/keeper/keeper_test.go

Co-authored-by: atheeshp <59333759+atheeshp@users.noreply.github.com>

* Update x/feegrant/keeper/keeper_test.go

* update ADR

* add test

* review changes

* review changes

Co-authored-by: technicallyty <48813565+technicallyty@users.noreply.github.com>
Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>
Co-authored-by: atheeshp <59333759+atheeshp@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-05-05 16:29:22 +00:00
Robert Zaremba 68d461052b
add sorted check for the coins sub/add fun parameter (#9240)
* add sorted check for the coins sub/add fun parameter

* adding internal tests

* fix tests

* docs update

* add self sorted check

* add unit test for self sorted check

* adding a comment

* review updates

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-05-05 15:55:28 +00:00
Cuong Manh Le 42a4e4b432
x/bank/types: speedy up by singly sort balances without having to re-iterate (#9260)
The speed is the same as old implementation, but the new one uses slightly
less memory and make the code easier to maintain.

name                    old time/op    new time/op    delta
SanitizeBalances500-8      933µs ± 1%     935µs ± 1%     ~     (p=0.400 n=9+10)
SanitizeBalances1000-8    1.91ms ± 0%    1.92ms ± 0%   +0.58%  (p=0.000 n=10+10)

name                    old alloc/op   new alloc/op   delta
SanitizeBalances500-8      588kB ± 0%     556kB ± 0%   -5.41%  (p=0.000 n=9+9)
SanitizeBalances1000-8    1.18MB ± 0%    1.12MB ± 0%   -5.37%  (p=0.000 n=9+9)

name                    old allocs/op  new allocs/op  delta
SanitizeBalances500-8      5.02k ± 0%     4.02k ± 0%  -19.94%  (p=0.000 n=10+10)
SanitizeBalances1000-8     10.0k ± 0%      8.0k ± 0%  -19.93%  (p=0.000 n=9+10)

Fixes #9259
2021-05-05 14:36:25 +00:00
Robert Zaremba bb1b331690
bump iavl to 0.16.0 (#9261) 2021-05-05 13:46:51 +00:00
Anil Kumar Kammari e3e89f5260
Rename memo to note inside CLI (#9134)
* rename Memo to note

* update change log

* typo

* address review changes

Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>

Co-authored-by: atheesh <atheesh@vitwit.com>
Co-authored-by: atheeshp <59333759+atheeshp@users.noreply.github.com>
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
2021-05-04 09:00:54 +00:00
Cuong Manh Le 3e6c4a6c79
types: make chopPrecisionAndTruncate always non-mutative (#9250)
Currently, chopPrecisionAndTruncate/chopPrecisionAndTruncateNonMutative
are doing the same thing, except that the former do it mutatively.

Looking at the usages of chopPrecisionAndTruncate, the callers must
alloc a new big.Int before calling it anyway, so any mutation will be
done with this new allocated big.Int, instead of input argument.

So, by making chopPrecisionAndTruncate always non-mutative, we simplify
the code, and make the code faster, less allocation in some benchmarks.

Benchmark for github.com/cosmos/cosmos-sdk/types:

name                                           old time/op    new time/op    delta
CoinsAdditionIntersect/sizes:_A_1,_B_1-8         35.4ns ± 0%    35.1ns ± 0%  -0.92%  (p=0.008 n=5+5)
CoinsAdditionIntersect/sizes:_A_5,_B_5-8          366ns ± 1%     363ns ± 1%    ~     (p=0.056 n=5+5)
CoinsAdditionIntersect/sizes:_A_5,_B_20-8         557ns ± 0%     553ns ± 0%  -0.64%  (p=0.008 n=5+5)
CoinsAdditionIntersect/sizes:_A_1,_B_1000-8      6.17µs ± 0%    6.18µs ± 0%    ~     (p=0.151 n=5+5)
CoinsAdditionIntersect/sizes:_A_2,_B_1000-8      6.30µs ± 0%    6.32µs ± 0%  +0.23%  (p=0.008 n=5+5)
CoinsAdditionNoIntersect/sizes:_A_1,_B_1-8       30.2ns ± 0%    29.9ns ± 1%  -0.98%  (p=0.008 n=5+5)
CoinsAdditionNoIntersect/sizes:_A_5,_B_5-8        226ns ± 0%     224ns ± 0%  -0.54%  (p=0.008 n=5+5)
CoinsAdditionNoIntersect/sizes:_A_5,_B_20-8       373ns ± 0%     372ns ± 0%  -0.26%  (p=0.040 n=5+5)
CoinsAdditionNoIntersect/sizes:_A_1,_B_1000-8    6.21µs ± 0%    6.22µs ± 0%    ~     (p=0.421 n=5+5)
CoinsAdditionNoIntersect/sizes:_A_2,_B_1000-8    6.22µs ± 0%    6.23µs ± 0%    ~     (p=0.286 n=5+5)
CoinsAdditionNoIntersect/sizes:_A_1000,_B_2-8    6.22µs ± 0%    6.23µs ± 0%    ~     (p=0.143 n=5+5)
ParseCoin-8                                      5.46µs ± 0%    5.39µs ± 0%  -1.26%  (p=0.008 n=5+5)
UintMarshal-8                                    1.01µs ± 0%    1.00µs ± 0%  -1.10%  (p=0.008 n=5+5)
IntMarshal-8                                      764ns ± 0%     758ns ± 1%  -0.79%  (p=0.024 n=5+5)
MarshalTo-8                                       192ns ± 0%     190ns ± 0%  -1.03%  (p=0.008 n=5+5)

name                                           old alloc/op   new alloc/op   delta
CoinsAdditionIntersect/sizes:_A_1,_B_1-8          32.0B ± 0%     32.0B ± 0%    ~     (all equal)
CoinsAdditionIntersect/sizes:_A_5,_B_5-8           520B ± 0%      520B ± 0%    ~     (all equal)
CoinsAdditionIntersect/sizes:_A_5,_B_20-8        1.38kB ± 0%    1.38kB ± 0%    ~     (all equal)
CoinsAdditionIntersect/sizes:_A_1,_B_1000-8      49.2kB ± 0%    49.2kB ± 0%    ~     (all equal)
CoinsAdditionIntersect/sizes:_A_2,_B_1000-8      49.3kB ± 0%    49.3kB ± 0%    ~     (all equal)
CoinsAdditionNoIntersect/sizes:_A_1,_B_1-8        24.0B ± 0%     24.0B ± 0%    ~     (all equal)
CoinsAdditionNoIntersect/sizes:_A_5,_B_5-8         488B ± 0%      488B ± 0%    ~     (all equal)
CoinsAdditionNoIntersect/sizes:_A_5,_B_20-8      1.35kB ± 0%    1.35kB ± 0%    ~     (all equal)
CoinsAdditionNoIntersect/sizes:_A_1,_B_1000-8    49.2kB ± 0%    49.2kB ± 0%    ~     (all equal)
CoinsAdditionNoIntersect/sizes:_A_2,_B_1000-8    49.2kB ± 0%    49.2kB ± 0%    ~     (all equal)
CoinsAdditionNoIntersect/sizes:_A_1000,_B_2-8    49.2kB ± 0%    49.2kB ± 0%    ~     (all equal)
ParseCoin-8                                      2.21kB ± 0%    2.21kB ± 0%    ~     (all equal)
UintMarshal-8                                      392B ± 0%      392B ± 0%    ~     (all equal)
IntMarshal-8                                       168B ± 0%      168B ± 0%    ~     (all equal)
MarshalTo-8                                       80.0B ± 0%     80.0B ± 0%    ~     (all equal)

name                                           old allocs/op  new allocs/op  delta
CoinsAdditionIntersect/sizes:_A_1,_B_1-8           1.00 ± 0%      1.00 ± 0%    ~     (all equal)
CoinsAdditionIntersect/sizes:_A_5,_B_5-8           12.0 ± 0%      12.0 ± 0%    ~     (all equal)
CoinsAdditionIntersect/sizes:_A_5,_B_20-8          14.0 ± 0%      14.0 ± 0%    ~     (all equal)
CoinsAdditionIntersect/sizes:_A_1,_B_1000-8        3.00 ± 0%      3.00 ± 0%    ~     (all equal)
CoinsAdditionIntersect/sizes:_A_2,_B_1000-8        6.00 ± 0%      6.00 ± 0%    ~     (all equal)
CoinsAdditionNoIntersect/sizes:_A_1,_B_1-8         1.00 ± 0%      1.00 ± 0%    ~     (all equal)
CoinsAdditionNoIntersect/sizes:_A_5,_B_5-8         5.00 ± 0%      5.00 ± 0%    ~     (all equal)
CoinsAdditionNoIntersect/sizes:_A_5,_B_20-8        6.00 ± 0%      6.00 ± 0%    ~     (all equal)
CoinsAdditionNoIntersect/sizes:_A_1,_B_1000-8      3.00 ± 0%      3.00 ± 0%    ~     (all equal)
CoinsAdditionNoIntersect/sizes:_A_2,_B_1000-8      4.00 ± 0%      4.00 ± 0%    ~     (all equal)
CoinsAdditionNoIntersect/sizes:_A_1000,_B_2-8      3.00 ± 0%      3.00 ± 0%    ~     (all equal)
ParseCoin-8                                        71.0 ± 0%      71.0 ± 0%    ~     (all equal)
UintMarshal-8                                      25.0 ± 0%      25.0 ± 0%    ~     (all equal)
IntMarshal-8                                       18.0 ± 0%      18.0 ± 0%    ~     (all equal)
MarshalTo-8                                        2.00 ± 0%      2.00 ± 0%    ~     (all equal)

name                                           old speed      new speed      delta
UintMarshal-8                                  6.91MB/s ± 0%  6.99MB/s ± 0%  +1.04%  (p=0.008 n=5+5)
IntMarshal-8                                   9.16MB/s ± 0%  9.23MB/s ± 1%  +0.83%  (p=0.032 n=5+5)

Benchmark for github.com/cosmos/cosmos-sdk/x/mint/types:

name              old time/op    new time/op    delta
BlockProvision-8     263ns ± 0%     257ns ± 0%   -2.23%  (p=0.008 n=5+5)

name              old alloc/op   new alloc/op   delta
BlockProvision-8      112B ± 0%      104B ± 0%   -7.14%  (p=0.008 n=5+5)

name              old allocs/op  new allocs/op  delta
BlockProvision-8      6.00 ± 0%      5.00 ± 0%  -16.67%  (p=0.008 n=5+5)

Fixes #9249

Co-authored-by: Emmanuel T Odeke <emmanuel@orijtech.com>
2021-05-04 00:32:15 +01:00
Rikard Hjort a3feeed665
docs: x/distribution spec (#8928)
* EndBlock => BeginBlock

* Add high-level algorithm

* Update documentation on params invariant

* Comment fix

* Update and extend BeginBlock documentation

* Update hooks documentation

* New intro to the concepts

* Update messages documentation

* Write in full sentences

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* spelling error

* change link

* slashing spec clarification

* Revert "slashing spec clarification"

This reverts commit b08b5a8533ca9d355a0afb0e58254b95487ce880.

* Update x/distribution/spec/04_messages.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update x/distribution/spec/03_begin_block.md

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* update link to latest version

* Update x/distribution/spec/04_messages.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* clarify note on removed validator

* clarify validator removed hook

* clarify validator created hook

* clarify delegation modified/created hook

* clarify slash hook

* clarify possesive singular situation

* clarify hooks.go

* Move comment to clearer position

* Update x/distribution/spec/01_concepts.md

Co-authored-by: Barrie Byron <barrie.byron@tendermint.com>

* clarifications in concepts file

* Clarify introductory paragraphs

* communitytax => community_tax

* Apply suggestions from code review

Co-authored-by: Barrie Byron <barrie.byron@tendermint.com>
Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update delegator rewards descirption

* Remove "this"

* Fix error in non-proposer validator rewards spec

* Clarify validator rewards high level description

* Update x/distribution/spec/04_messages.md

* Clarify what fees are

* Misc grammar and style fixes

* Apply suggestions from code review

Co-authored-by: Barrie Byron <barrie.byron@tendermint.com>

* Apply suggestions from code review

Co-authored-by: Barrie Byron <barrie.byron@tendermint.com>
Co-authored-by: Ethan Buchman <ethan@coinculture.info>

Co-authored-by: Jack Zampolin <jack.zampolin@gmail.com>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Robert Zaremba <robert@zaremba.ch>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Barrie Byron <barrie.byron@tendermint.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Ethan Buchman <ethan@coinculture.info>
2021-05-03 18:40:34 +00:00
Amaury d19791be89
Rename clientCtx.JSONMarshaler to JSONCodec (#9251)
* Rename clientCtx.JSONMarshaler to JSONCodec

* change md files

* Fix lint
2021-05-03 14:45:47 +00:00
technicallyty d3bcc15b11
x/feegrant API Audit changes (#9194)
* -add comments to proto fields
-add comments to msg and query server
-remove decorator from docs
-add coments to msgs.go
-remove decorator from godoc

* Update x/feegrant/spec/04_events.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* refactor and add to docs
*refactor proto msg names and functions
*add docs pertaining to auth's ante handler for deducted fees

* lint

* update comment

* gofmt

Co-authored-by: technicallyty <48813565+tytech3@users.noreply.github.com>
Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-05-03 12:34:48 +00:00
Cuong Manh Le 711976efc1
store/internal: validate keys before calling ProofsFromMap (#9235)
Otherwise, an empty key as input or present in data can cause a panic at
runtime.

Caught by oss-fuzz: https://oss-fuzz.com/testcase-detail/4647668077953024

Fixes #9233
2021-05-02 15:53:59 -07:00
Cuong Manh Le 72873a072f
crypto/types: optimize compact bit array one count (#9216)
By using bits.OnesCount8 instead of bitwise operations.

Benchmark result on Apple M1:

name                     old time/op    new time/op    delta
NumTrueBitsBefore/new-8    88.5ns ± 1%     9.1ns ± 0%  -89.68%  (p=0.000 n=10+10)

name                     old alloc/op   new alloc/op   delta
NumTrueBitsBefore/new-8     0.00B          0.00B          ~     (all equal)

name                     old allocs/op  new allocs/op  delta
NumTrueBitsBefore/new-8      0.00           0.00          ~     (all equal)

Fixes #9125
2021-04-30 21:08:14 +00:00
atheeshp f04b5dcb96
fix zero coins (#9229)
* fix zero coins issue

* fix tests

* udpate tests

* Review change

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* add change log

* review changes

* review changes

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2021-04-30 16:54:08 +00:00
Amaury dfe3e7a8d7
Remove ServiceMsgs from ADR-031 (#9139)
* wip

* wip

* wip

* wip on refactoring adr 031 type URLs

* Fix msg_service_router

* Fix gov client queries

* Fix some modules tests

* Remove all instances of "*.Msg/*"

* Uncomment code

* Remove commented code

* // simulation.NewWeightedOperation(

* Fix CopyTx

* Fix more tests

* Fix x/gov test

* proto.MessageName->sdk.MsgName

* Fix authz tests

* Use MsgRoute in feegrant and staking/authz

* Fix more tests

* Fix sims?

* Add norace tag

* Add CL

* rebuild rosetta api test data

* Update ADR

* Rename MsgRoute -> MsgTypeURL

* Fix codec registration

* Remove sdk.GetLegacySignBytes

* Update types/tx_msg.go

* Update x/authz/simulation/operations.go

* Move LegacyMsg to legacytx

* Update CHANGELOG.md

Co-authored-by: Aaron Craelius <aaron@regen.network>

* Remove NewAnyWithCustomTypeURL

* Keep support for ServiceMsgs

* Fix TxBody UnpackInterfaces

* Fix test

* Address review

* Remove support for ServiceMsg typeURLs

* Fix lint

* Update changelog

* Fix tests

* Use sdk.MsgTypeURL everywhere

* Fix tests

* Fix rosetta, run make rosetta-data

* Fix rosetta thanks to froydi

* Address reviews

* Fix test

* Remove stray log

* Update CL

Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
2021-04-30 11:00:47 +00:00
Greg Morrison 6fbded9664
Improve readability in handleQueryP2P (#9205)
* refactor(abci handleP2PQuery): improve readability via control flow

* refactor(acbi handleQueryP2P): fix logic control flow to ensure early return

* refactor(abci handleQueryP2P): move var declaration to prevent unnecessary initialization

* support(CHANGELOG): add description for abci handleQueryP2P changes

Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
2021-04-30 09:34:28 +00:00
Federico Kunze e25f80d34c
gov, params: refactor tests (#9137)
* gov, params: refactor tests

* wrap up params tests

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-04-30 08:41:25 +00:00
dependabot[bot] 4f4c035c89
build(deps): bump github.com/prometheus/common from 0.21.0 to 0.23.0 (#9213)
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.21.0 to 0.23.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Commits](https://github.com/prometheus/common/compare/v0.21.0...v0.23.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
2021-04-29 13:00:16 +00:00
Robert Zaremba be4a965599
codec: Rename codec and marshaler interfaces (#9226)
* codec: Rename codec and marshaler interfaces, ref: 8413

* codec: remove BinaryBare

* changelog update

* Update comments and documentation

* adding doc string comments

* Update CHANGELOG.md

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update codec/codec.go

Co-authored-by: Marko <marbar3778@yahoo.com>

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
Co-authored-by: Marko <marbar3778@yahoo.com>
2021-04-29 10:46:22 +00:00
yihuang c94e9eb1bb
fix validator address prefix (#9212)
Co-authored-by: Marko <marbar3778@yahoo.com>
2021-04-29 07:11:32 +00:00
Riccardo Montagnin afa818a58f
Added a "new_shares" attribute inside the delegate event type (#9214)
* Added a "new_shares" attribute inside the delegate event type

* ADded CHANGELOG entry
2021-04-29 06:57:46 +00:00
Cuong Manh Le 6ad84c5065
x/gov/keeper: fix flaky TestPaginatedVotesQuery (#9223)
When testing with -race, sometimes the random source generate the same
string for consecutive calls, causing duplicated voter address. So the
number of votes in DB is not 20.

To fix this, we ensure unique addresses are generated, by using a map
for tracking which one was produced, and skip the duplicated address and
generated new one. Testing with:

	go test -race -v -count=1000 -run=TestPaginatedVotesQuery

now passes.

Updates #9010
2021-04-28 17:08:42 +00:00
MD Aleem a2911d0dc6
x/feegrant state machine audit updates (#9176)
* replace panic with error

* improve test coverage

* add time based tests to basic-fee

* add periodic fee tests

* wip

* add msg_server tests

* improve getFeeGrant

* fix failing test

* fix test

* fix comments

* refactor

* review changes

* review changes

* fix errors

* Update x/feegrant/types/basic_fee_test.go

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* review changes

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>
2021-04-28 15:39:58 +00:00
technicallyty 0cbed20db8
x/feegrant audit: clean up / add test coverage to types package (#9193)
* Squashed commit of the following:

commit 58dc50051226a9eeb8d0ebea5bb0908fe5b9637f
Author: technicallyty <48813565+tytech3@users.noreply.github.com>
Date:   Fri Apr 23 15:09:27 2021 -0700

    remove comments

commit a84107e1b3eaa31324cb0f4f097b49f02af79c69
Author: technicallyty <48813565+tytech3@users.noreply.github.com>
Date:   Fri Apr 23 15:02:41 2021 -0700

    add tests for msgs.go

commit 2ad16869237e9631b402c93cde650c3fc554daf2
Author: technicallyty <48813565+tytech3@users.noreply.github.com>
Date:   Fri Apr 23 13:20:21 2021 -0700

    specify test name

commit b7121277c9be586a7c80d010ec401e50b510e02a
Merge: c0c134d971 3c65c3dacd
Author: technicallyty <48813565+tytech3@users.noreply.github.com>
Date:   Fri Apr 23 12:54:55 2021 -0700

    Merge branch 'master' into ty-9115-types_tests

commit c0c134d97107194dc4f9d3c501a15d023ae083e5
Author: technicallyty <48813565+tytech3@users.noreply.github.com>
Date:   Thu Apr 22 19:59:11 2021 -0700

    -add test case to cli_test.go for filtered fee
    -clean up identifiers
    -remove redundant import alias from filtered_fee.go

commit f7ab3699da39be3ab886f96962d28d23438d2e8e
Author: technicallyty <48813565+tytech3@users.noreply.github.com>
Date:   Thu Apr 22 09:57:31 2021 -0700

    remove unecessary constant

commit 9db59a82a7337cf5a7a3569c6900a44a6c81e8b4
Merge: a3e75ceb8a e28271b8e6
Author: technicallyty <48813565+tytech3@users.noreply.github.com>
Date:   Thu Apr 22 09:19:20 2021 -0700

    Merge branch 'master' into ty-9115-types_tests

commit a3e75ceb8a510ad9db43dd96073c43b7a8b062b0
Merge: 4d3dafab85 bffcae54a1
Author: technicallyty <48813565+tytech3@users.noreply.github.com>
Date:   Wed Apr 21 12:04:39 2021 -0700

    Merge branch 'master' into ty-9115-types_tests

commit 4d3dafab85d85526a7c94b045289605289ee6b0d
Author: technicallyty <48813565+tytech3@users.noreply.github.com>
Date:   Wed Apr 21 12:03:41 2021 -0700

    cleanup id's / add test case

commit e8f6924931ba95e592bfc3057ba167700458da41
Author: technicallyty <48813565+tytech3@users.noreply.github.com>
Date:   Wed Apr 21 10:55:29 2021 -0700

    add test for 0 allowance / remove unused field on exp test

commit 516b6ef89a4582ad681cc6c5c101cf50a9a54fb5
Author: technicallyty <48813565+tytech3@users.noreply.github.com>
Date:   Tue Apr 20 15:22:48 2021 -0700

    make names more clear, remove unused field

* fix imports

* fix tests

* rename test field

Co-authored-by: technicallyty <48813565+tytech3@users.noreply.github.com>
Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>
Co-authored-by: MD Aleem <72057206+aleem1314@users.noreply.github.com>
2021-04-28 14:18:38 +00:00
colin axnér f45838ff3c
update contributor docs (#9190)
* update contributor docs

* revert changes to release section

* fix formatting

Co-authored-by: Marko <marbar3778@yahoo.com>
2021-04-28 13:02:52 +00:00
Marko f32597e510
remove unused list (#9219) 2021-04-28 12:46:22 +00:00
Devashish Dixit 15edf3c38f
Add more details in error message for invalid vote option (#9185)
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
2021-04-28 10:19:08 +00:00