Commit Graph
23 Commits
Author SHA1 Message Date
Alex | Interchain Labs 3c6deab626 chore: run modernize (#24356) 2025-04-03 10:42:20 -04:00
Alex | Interchain Labs 7fd79df4e1 chore: fix all linting (#24101) 2025-03-21 15:04:36 -07:00
Matt Kocubinski 4c85b6a341 refactor(simulations): marshal OperationMsg.Msg as protoBytes (#16155) 2023-05-15 17:38:32 +00:00
Julien Robert 8dbdfea9ef refactor: remove .Type() and .Route() from msgs (#14751) 2023-01-24 17:03:06 +00:00
0943a70215 chore: fix linting issues exposed by fixing golangci-lint (#12895)
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2022-08-11 22:00:24 +02:00
Adu 17dc431666 fix: Simulation is not deterministic due to GenSignedMockTx (#12374) 2022-06-30 11:12:25 -04:00
Julien Robert 8fa2faba47 fix: operation simulation route in x/nft test (#12278) 2022-06-16 16:39:34 +02:00
Jacob GadikianandJulien Robert 55054282d2 chore: gofumpt (#11839)
* fumpt using main not master...

* be more descriptive

* fumpt

* fix nits

Co-authored-by: Julien Robert <julien@rbrt.fr>
2022-05-19 10:55:27 +02:00
Anil Kumar Kammari 1a9654f8f5 refactor: rename GenTx to GenSignedMockTx to avoid confusion with genutil/GenTx (#11696) 2022-04-20 11:27:19 -04:00
Aleksandr Bezobchuk ddc23bc4b2 refactor!: Coins Add and Sub Consistency (#11689) 2022-04-20 08:36:10 -04:00
Amaury a15d7e31d4 refactor!: BaseApp {Check,Deliver}Tx with middleware design (#9920)
<!--
The default pull request template is for types feat, fix, or refactor.
For other templates, add one of the following parameters to the url:
- template=docs.md
- template=other.md
-->

## Description

ref: #9585 

This PR if the 1st step (out of 2) in the #9585 refactor. It transforms baseapp's ABCI {Check,Deliver}Tx into middleware stacks. A middleware is defined by the following interfaces:

```go
// types/tx package

type Handler interface {
	CheckTx(ctx context.Context, tx sdk.Tx, req abci.RequestCheckTx) (abci.ResponseCheckTx, error)
	DeliverTx(ctx context.Context, tx sdk.Tx, req abci.RequestDeliverTx) (abci.ResponseDeliverTx, error)
	SimulateTx(ctx context.Context, tx sdk.Tx, req RequestSimulateTx) (ResponseSimulateTx, error)
}

type Middleware func(Handler) Handler
```

This Pr doesn't migrate antehandlers, but only baseapp's runTx and runMsgs as middlewares. It bundles antehandlers into one single middleware (for now).

More specifically, it introduces the 5 following middlewares:

| Middleware              | Description                                                                                                                                                                                                                                                                                                                                                                                            |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| RunMsgsTxMiddleware     | This middleware replaces the old baseapp's `runMsgs`.                                                                                                                                                                                                                                                                                                                                                  |
| LegacyAnteMiddleware    | This middleware is temporary, it bundles all antehandlers into one middleware. It's only created for the purpose of breaking the refactor into 2 pieces. **It will be removed in Part 2**, and each antehandler will be replaced by its own middleware.                                                                                                                                                                                                  |
| IndexEventsTxMiddleware | This is a simple middleware that chooses which events to index in Tendermint. Replaces `baseapp.indexEvents` (which unfortunately still exists in baseapp too, because it's used to index Begin/EndBlock events)                                                                                                                                                                                        |
| RecoveryTxMiddleware    | This index recovers from panics. It replaces baseapp.runTx's panic recovery.                                                                                                                                                                                                                                                                                                                           |
| GasTxMiddleware         | This replaces the [`Setup`](https://github.com/cosmos/cosmos-sdk/blob/master/x/auth/ante/setup.go) Antehandler. It sets a GasMeter on sdk.Context. Note that before, GasMeter was set on sdk.Context inside the antehandlers, and there was some mess around the fact that antehandlers had their own panic recovery system so that the GasMeter could be read by baseapp's recovery system. Now, this mess is all removed: one middleware sets GasMeter, another one handles recovery. |

---

### 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...

- [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/master/CONTRIBUTING.md#pr-targeting))
- [x] provided a link to the relevant issue or specification
- [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules)
- [x] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing)
- [x] added a changelog entry to `CHANGELOG.md`
- [x] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [ ] updated the relevant documentation or specification
- [x] 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)
2021-08-25 14:40:33 +00:00
Marko f1289d0808 refactor: add util functions to reuse in simulations (#9456)
* add util functions to reuse in simulations

* keeper interface cleanup, gov migrate

* fix module name

* fix sims

* fix staking tests

* introduce a txContext

* fix feegrant

* take in consideration

* fix names

* fix tests

* add bank keeper where needed

* add bank keeper where needed
2021-06-07 09:03:24 +00:00
MarkoandAlessio Treglia 218ec99508 various linter fixes (#6106)
x/staking: Fix all linter warnings.

Fixed warnings across base packages.

New linters:
- unparam
- nolintlint

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
2020-05-02 21:26:59 +02:00
Jonathan Gimeno 49102b1d98 Remove dependency of types/module package on x/simulation (#5835)
Closes: #5724
2020-03-23 12:55:44 +01:00
Federico Kunze e3e49fc72c Merge PR #5009: remove redundant invariant simapp check 2019-09-06 14:23:40 -04:00
Alexander Bezobchuk 42c54f8d0c Merge PR #4861: Simulation Fixes 2019-08-07 12:54:13 -04:00
colin axner 865d473eb4 Merge PR #4832: print all failed invariants only 2019-08-05 14:21:44 -04:00
colin axner 280734d0e3 collect all invariants for a block before stopping (#4707) 2019-07-11 11:56:43 +01:00
Federico Kunze 352678438c Merge PR #4255: Supply Module 2019-06-28 16:11:27 -04:00
Alexander BezobchukandAlessio Treglia 6606007297 Merge PR #4435: Simulation: Params from File
* Move distr params to simulation param generator

* Cleanup sim params output

* Print params when possible instead of entire genesis struct

* Update module param simulator keys

* Rename module params simulator keys

* Add/fix missing module params and implement SimParams

* UPdate sim test to accept params file

* Allow weights to be provided from file

* Create doc.go

* Remove TODO

* Implement MustMarshalJSONIndent

* Use mustMarshalJSONIndent for non-codec

* Remove TODO

* Fix doc.go

* Update points

* Update simapp/doc.go

Co-Authored-By: Alessio Treglia <quadrispro@ubuntu.com>

* Update simapp/doc.go

Co-Authored-By: Alessio Treglia <quadrispro@ubuntu.com>

* Cleanup appStateFn

* Use constants for simulation parameter keys

* Update msgs.go

* minor formatting
2019-06-08 16:55:47 -04:00
frog power 4000 02a0e393c5 Run missing invariants during simulations (#4080) 2019-04-10 02:34:38 +01:00
Alessio Treglia 85021d4ca9 No packages must depend on cmd/gaia/ (#4048)
Preparation work for moving gaia out of the SDK.
2019-04-04 15:36:39 +01:00
frog power 4000 f0d1efa43c Merge PR #3819: Simulation Refactor 2019-03-14 19:13:15 +01:00