Commit Graph

1132 Commits

Author SHA1 Message Date
Aleksandr Bezobchuk
a4d1ede3e9
feat: no-op mempool (#14297) 2022-12-14 20:44:05 +00:00
Julien Robert
99b5919194
refactor: types audit (#14283) 2022-12-13 15:41:57 +01:00
Matt Kocubinski
c6c7eb9ef2
feat: Priority & sender-nonce mempool implementation (#13262)
Co-authored-by: Jeancarlo <jeancarlobarrios@gmail.com>
Co-authored-by: Jeancarlo Barrios <JeancarloBarrios@users.noreply.github.com>
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Aleksandr Bezobchuk <aleks.bezobchuk@gmail.com>
2022-12-12 19:16:18 -06:00
Aleksandr Bezobchuk
f13afd12ed
refactor: mempool use context.Context (#14266) 2022-12-12 16:40:53 -05:00
Marko
682b72c157
chore: types audit (#14258) 2022-12-12 10:47:42 -05:00
Emmanuel T Odeke
611265af76
test: types/query: add fuzzer for Paginate (#14239) 2022-12-10 14:59:05 +00:00
Marko
755c99ac44
refactor: use proto.Message instead of ProtoMarshler (#14208) 2022-12-08 19:38:38 +00:00
Marko
f3be41836f
refactor: remove store kv dependency (#14144) 2022-12-07 20:57:47 +00:00
Simon Warta
9fd1825a90
perf: Refactor Coins/Validate to avoid unnecessary map (#14163)
* Refactor (coins Coins) Validate() to avoid unnecessary map

and add a few tests

* Add CHANGELOG entry

Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
2022-12-07 00:12:25 +01:00
Marko
fa6e679492
refactor: remove suite from chaindecorator handler test #14173 2022-12-06 16:24:23 +00:00
Marko
14c9dc6b7f
refactor: undo sdk/types import in store. (#14096)
* Move snapshotstore under store

* add changelog entry

* errors store

* remove dep on sdk/types/errors

* clean up

* fix var

* reduce further reliance on sdk

* import fixes

* rename based off comments
2022-12-06 15:19:37 +00:00
Jeancarlo Barrios
754ca3169e
feat: add tx limit to mempool (#14014)
* feat: add bounding max tx to mempool

* add bounded condition

* sligh improvement on generator

* remove unbouded option

* add test

* added mempool options mechanism

* mising test

* seting mempool

* change function name

* change function name

* failing test

* Revert "failing test"

This reverts commit d527982b0d4ec826ff680afb8f43ac1d71809ccf.

* fix import block

* changelog entries

* add ability to do unbounded mempool

* remove unesesary variable

* small comments

* change 0 to mean unbounded

* t

* small test fix

* add the ability to be bounded unbounded and disabled

* t

* set default maxtx

* Update docs/docs/building-apps/02-app-mempool.md

Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>

* example for opts

* remove superflues logs entry

* add mempool to configurations

* fix more understandable name

* remove table in favor of bulletpoints

* sender nonce to unbounded

* Update docs/docs/building-apps/02-app-mempool.md

Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>

* Update types/mempool/sender_nonce.go

Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>

* Update types/mempool/sender_nonce.go

Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>

* Update docs/docs/building-apps/02-app-mempool.md

Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>

* Update server/config/config.go

Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>

* t

* add comment for options

* fix inport

* fix inport

Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Emmanuel T Odeke <emmanuel@orijtech.com>
2022-12-02 00:39:55 +00:00
Marko
04f9ad24ab
chore: mark WrapSdkContext as deprecated (#14072)
* remove wrapping and mark wrapsdkContext as deprecated

* Update types/context.go

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

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-11-29 20:11:08 +00:00
Aleksandr Bezobchuk
c6189bb630
refactor: cleanup store/streaming/constructor.go #14044 2022-11-28 15:43:49 +00:00
Julien Robert
6f329d70c6
docs: add docs about x/auth/tx (#14021)
* docs: add docs about `x/auth/tx`

* updates

* updates

* updates

* updates

* updates

* updates

* updates

Co-authored-by: Marko <marbar3778@yahoo.com>
2022-11-27 20:30:23 +00:00
Likhita Polavarapu
e260fc1c89
feat: Add tx encode and decode endpoints for amino txs (#13882)
* add proto changes

* make proto-gen

* wip: adds tests

* wip: tests

* remove consoles

* wip: fix something

* fix: encode amino tests

* add decode amino tests

* wip: address requested changes

* update proto inline docs

* address review comments

Co-authored-by: Amaury M <1293565+amaurym@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: atheeshp <59333759+atheeshp@users.noreply.github.com>
2022-11-24 13:41:03 +00:00
Jeancarlo Barrios
908fda1f53
feat: sender mempool impl (#13888)
* draft sender mempool impl

* select

* nit

* random sender update

* nit

* prevent memory leak

* fix nil return

* small fixes

* added tests

* change count

* finish tx order test removed the three address test due to make the test to bloated when including non determinism

* remove unsued variable

* nit

* fix

* temoral commit braking

* nit most

* nit most

* final

* comments

* t

* comments

* test

* add nolint

* Fix comment

* golint comment

* golint

* improve format?

* more gosec disable

* Fix ctr usage

* use #nosec

* Update types/mempool/sender_nonce.go

* Kocubinski/random sender nonce (#13956)

* refactor

* fix iteration logic

* fix merge err

* import fixes

* derive order randomness from seed only

* gosec fix

* ignore gosec again

* comments

* property based

* minor fixes

* added property test

* comment

* fix imports

* comment

* Update types/mempool/sender_nonce_property_test.go

Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>

* remove unesessary loop

* improve function name

* Update types/mempool/sender_nonce.go

Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>

* change import name

* change validation to be preemvtive

Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
2022-11-24 00:15:41 +01:00
Emmanuel T Odeke
2739f839d0
fix: types: remove unnecessary/pedantic code from removeZeroCoins (#13967)
Simplifies and makes clearer the code in removeZeroCoins by
removing unnecessary checks that boiled down to still running
in the same final for loop.

Fixes #13958
2022-11-22 12:24:02 +01:00
Julien Robert
3423442ab1
fix(group): add group members weight checks (#13869) 2022-11-15 22:15:32 +01:00
Likhita Polavarapu
bcff22a376
feat: Add tx encode and decode endpoints (#13789)
* add grpc endpoint for encoding proto tx's
2022-11-15 04:55:27 +00:00
Aaron Craelius
ec27c5384b
refactor!: migrate to core appmodule.AppModule extension interfaces (#13794) 2022-11-14 21:23:55 +00:00
Aleksandr Bezobchuk
78886bc8de
chore: ADR-060 Updates (#13844) 2022-11-14 07:05:56 +00:00
Matt Kocubinski
d66b7fa189
feat: Settable PrepareProposal handler (#13831)
Co-authored-by: Jeancarlo Barrios <JeancarloBarrios@users.noreply.github.com>
2022-11-11 11:57:53 -06:00
Federico Kunze Küllmer
f001b467a0
feat(types): set custom GasConfig on Context for GasKVStore (#13826) 2022-11-10 19:10:09 +00:00
Matt Kocubinski
61effe8260
feat: ABCI 1.0 baseapp integration (#13453) 2022-11-09 09:50:27 -06:00
Julien Robert
76be73022a
fix: fix proto files created as super-user (#13801)
* chore: bump proto-builder

* updates

* fix root issue

Co-authored-by: Marko <marbar3778@yahoo.com>
2022-11-09 10:37:07 +00:00
Amaury
b49f948b36
feat: Add proto annotations for Amino JSON (#13501)
* add legacy_amino_name

* make-proto-gen

* remove useless omitempty

* add annotations

* Add proto annotations

* Add more annotations

* update cosmos-proto

* Add message scalar?

* Add comments

* Fix comment

* lint proto files

* proto-gen

* go mod tidy

* Add multisig encoding

* Add field name

* Format proto

* proto-gen

* Update proto/cosmos/msg/v1/msg.proto

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

* Add dont_omitempty whenever we have nullable=false

* proto-gen

* Remove problematic annotations

* put legacy_amino in subpackage

* proto-gen

* Fixes

* legacy_amino.v1

* add non-working proto

* Generate in separate package

* Remove `cosmos.msg` prefix

* make proto-gen

* remove v1 too

* make proto-format

* Add field option

* format

* proto-gen

* Use underscores

* update legacy_amino -> amino

* update to `key_field`

* make proto-format

* make proto-gen

Co-authored-by: Aaron Craelius <aaron@regen.network>
2022-11-07 22:51:51 +00:00
Emmanuel T Odeke
0c5c53600d
chore: [types/bech32] add a fuzzer for DecodeAndConvert (#13775) 2022-11-07 16:01:42 +00:00
Federico Kunze Küllmer
3034a9d54a
fix(bank): fix unhandled error for vesting (#13690)
## Description

Closes: #13691 



---

### Author Checklist

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

- [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] added `!` to the type prefix if API or client breaking change
- [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#pr-targeting))
- [ ] provided a link to the relevant issue or specification
- [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/main/docs/building-modules)
- [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [ ] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [ ] updated the relevant documentation or specification
- [ ] reviewed "Files changed" and left comments if necessary
- [ ] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
2022-11-03 18:22:13 +00:00
Marko
dc004c85f2
quick lint while doing other prs (#13726) 2022-11-02 11:12:36 +00:00
Julien Robert
97bd2ab792
refactor: remove unused code (#13725) 2022-11-02 11:50:47 +01:00
Matt Kocubinski
657b51d64b
cleanup mempool tests (#13658) 2022-10-26 16:15:42 +00:00
leoflalv
142880b046
refactor: add sdk.LogDeferred to report errors in defers (#13619)
## Description

Closes: #11785

A new helper function called `LogDeferred` was added. This function it's used to report errors in `defer` section. It was added in `defer` statements of `x/bank` folder.

### Author Checklist

I have...

- [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [x] added `!` to the type prefix if API or client breaking change
- [x] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#pr-targeting))
- [x] provided a link to the relevant issue or specification
- [x] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/main/docs/building-modules)
- [x] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#testing)
- [x] added a changelog entry to `CHANGELOG.md`
- [x] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [x] updated the relevant documentation or specification
- [x] reviewed "Files changed" and left comments if necessary
- [x] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
2022-10-26 15:42:19 +00:00
Matt Kocubinski
2418c3ef2e
feat: nonce (sequence number) based mempool (#13645)
simple default mempool implementation

Co-authored-by: Jeancarlo <jeancarlobarrios@gmail.com>
2022-10-26 09:04:34 -05:00
Julien Robert
89c65f4d58
feat: overwrite default denom in init cmd (#13535)
* feat: overwrite default denom in `init` cmd

* add changelog

* wording

* `make format`

* update comment
2022-10-13 18:24:28 +02:00
Marko
306a9a7170
feat!: consensus module (#12905) 2022-10-05 18:06:24 +00:00
Julien Robert
facac1c5f8
refactor: split ExportGenesis into two functions to maintain backwards compatibility (#13448)
* split ExportGenesis into two functions to maintain backwards compatibility (#339)

* fix tests

Co-authored-by: Nicolas Lara <nicolaslara@gmail.com>
2022-10-04 22:42:58 +00:00
Julien Robert
92394f2917
feat!: specify module to export (#13437) 2022-10-04 10:06:30 +00:00
Marko
c221d7f1de
chore: minor cleanup of types (#13430) 2022-10-02 15:03:03 +02:00
Julien Robert
3de5aa8741
refactor!: remove deprecated sdk.NewLevelDB (#13380)
* refactor!: remove deprecated `sdk.NewLevelDB`

* updates
2022-09-25 10:16:31 +00:00
Emmanuel T Odeke
abdf61e292
fix: all: remove map iteration non-determinism with keys + sorting (#13377) 2022-09-24 16:20:54 +00:00
Julien Robert
df40c0a9d1
refactor!: remove broadcast mode block (#12659) 2022-09-23 15:16:31 +00:00
Julien Robert
7eb259fd86
feat: add draft-proposal for x/group (#13353)
* feat: add `draft-proposal` for x/group

* add changelog

* extract useful function

* add `GetMsgFromTypeURL` tests
2022-09-22 00:53:02 +02: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
Julien Robert
79f277c111
fix: fix buf commit link (#13345) 2022-09-20 21:21:45 +02:00
Emmanuel T Odeke
83f88a6820
fix: types: correctly coalesce coins even with repeated denominations & simplify logic (#13265) 2022-09-14 13:29:45 +00:00
Aaron Craelius
5deb137f7a
feat: add proto annotation for Msg services (#13178)
* feat: add proto annotation for Msg services

* add annotation to Msg services

* proto gen

* add CHANGELOG entry

* expand doc string

* codegen

* revert

* proto-gen

* revert
2022-09-14 09:27:45 +00:00
Matt Kocubinski
b96bed5534
feat: add mempool interfaces (#13249)
* working out interfaces

* integration to checkTx

* use struct fields directly in sz calculation

* fix typo

* nil guard on mempool

* Remove tx builder method

* impl with panic
2022-09-13 21:25:44 +02:00
Emmanuel T Odeke
abe3e0c6da
perf: all: remove unnecessary allocations from strings.Builder.WriteString(fmt.Sprintf(...)) (#13230)
This change removes a code pattern that I noticed while on a late night
audit of cosmovisor in which
strings.Builder.WriteString(fmt.Sprintf(...))
calls were being made, yet that's counterproductive to using fmt.Fprintf
which will check whether the writer implements .WriteString and then
avoids the need to firstly build a string using fmt.Sprintf.

The performance wins from this change transcend all dimensions as
exhibited below:

```shell
$ benchstat before.txt after.txt
name            old time/op    new time/op    delta
DetailString-8    5.48µs ±23%    4.40µs ±11%  -19.79%  (p=0.000 n=20+17)

name            old alloc/op   new alloc/op   delta
DetailString-8    2.63kB ± 0%    2.11kB ± 0%  -19.76%  (p=0.000 n=20+20)

name            old allocs/op  new allocs/op  delta
DetailString-8      63.0 ± 0%      50.0 ± 0%  -20.63%  (p=0.000 n=20+20)
```

Fixes #13229
2022-09-09 21:57:46 +00:00
Julien Robert
6d0ef15b0a
refactor: migrate to cosmos/gogoproto (#13070) 2022-09-08 17:27:48 +00:00