Emmanuel T Odeke
abdf61e292
fix: all: remove map iteration non-determinism with keys + sorting ( #13377 )
2022-09-24 16:20:54 +00:00
Emmanuel T Odeke
9c2aef342d
chore: all: use golang.org/x/exp/maps.(Keys, Values) where necessary ( #13349 )
...
Uses golang.org/x/exp/maps.(Keys, Values) to sort out flagged
potential non-determinism issues due to map iteration which is
randomized in maps.
These were flagged by cosmos/gosec in
* https://github.com/cosmos/cosmos-sdk/security/code-scanning/724
* https://github.com/cosmos/cosmos-sdk/security/code-scanning/725
* https://github.com/cosmos/cosmos-sdk/security/code-scanning/726
* https://github.com/cosmos/cosmos-sdk/security/code-scanning/727
* https://github.com/cosmos/cosmos-sdk/security/code-scanning/728
* https://github.com/cosmos/cosmos-sdk/security/code-scanning/729
* https://github.com/cosmos/cosmos-sdk/security/code-scanning/782
* https://github.com/cosmos/cosmos-sdk/security/code-scanning/813
* https://github.com/cosmos/cosmos-sdk/security/code-scanning/814
* https://github.com/cosmos/cosmos-sdk/security/code-scanning/816
which complained about potential non-determinism in
map iteration in which we only want appends in map iteration loops,
this change instead uses golang.org/x/exp/maps.Keys to retrieve
the keys then sort.Strings which simplifies the helper code.
This change fixes issues in:
* orm/model/ormdb: non-determinism in ExportJSON
* store/internal/proofs
* types/module
* x/auth/keeper
* x/bank
* x/genutil/client/cli
Fixes #13348
2022-09-21 02:08:13 +00:00
Emmanuel T Odeke
2f4faa58c1
fix: orm/*, store/*: fix non-determinism from map iteration ( #12751 )
...
Reported by informalsystems/gosec's map iteration pass, this
change fixes non-determinism from iterating with a map, whose
definition in the Go spec guarantees that the order of keys
and values presented during iteration will be randomized.
Fixes #12428
Fixes #12430
Fixes #12431
2022-07-27 21:10:32 +02:00
Aleksandr Bezobchuk
9361b8501c
chore: update errors sub-module module path ( #11832 )
2022-04-29 15:04:33 -04:00
Aaron Craelius
94e6a379a2
fix(orm): ValidateJSON fails when tables are missing ( #11174 )
2022-02-11 16:02:36 -05:00
Aaron Craelius
37ae08d92a
feat(orm): ModuleDB JSON import/export/default/validate methods ( #11101 )
...
* feat(orm): ModuleDB JSON methods
* WIP
* WIP on JSON
* WIP
* WIP
* tests and docs
* revert
* tests and docs
* docs
* address review comments
2022-02-03 20:36:21 -08:00