Commit Graph
1131 Commits
Author SHA1 Message Date
Julien Robert 99b5919194 refactor: types audit (#14283) 2022-12-13 15:41:57 +01:00
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
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
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
MarkoandFederico Kunze Küllmer 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 RobertandMarko 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
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
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 KocubinskiandJeancarlo Barrios 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 RobertandMarko 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
AmauryandAaron Craelius 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 KocubinskiandJeancarlo 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 RobertandNicolas Lara 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
Amaury 279f3f17a5 feat: Add proto annotation for deterministic queries (#13174)
* feat: Add proto annotation for deterministic queries

* Add comment

* Tweak comment

* protocgen

* Add gas
2022-09-08 13:33:40 +00:00