Commit Graph

65 Commits

Author SHA1 Message Date
Marko
234cdc45f2
refactor(x/staking)!: removing unbonding queue index (#22795) 2024-12-16 10:48:54 +00:00
Facundo Medica
e8222c8092
fix(x/slashing): do not error when val has zero tokens (#20977) 2024-07-24 11:06:41 +00:00
yukionfire
e22890b11f
chore(x/staking,x/upgrade): replace fmt.Errorf without parameters with errors.New (#21004) 2024-07-21 09:53:48 +00:00
testinginprod
7948a57355
fix(staking): validator must be slashed even when unbonding causes it to be removed from the set (#20828) 2024-07-04 13:16:25 +00:00
Facundo Medica
720c1086cb
fix(x/slashing): Avoid overslashing on redelegation + unbonding in specific situations (#20688) 2024-06-24 10:33:46 +00:00
ipangpang
1bd4351241
style: remove redundant import alias (#20109)
Signed-off-by: ipangpang <arronipangpang@gmail.com>
2024-04-21 19:03:43 +00:00
Julien Robert
5e7aae0db1
refactor(core,x/**): simplify core service api and embed environment in keepers (#20071) 2024-04-17 18:18:16 +00:00
khanh
8585d538f1
Merge pull request from GHSA-86h5-xcpx-cfqc
* check undelegation after redelegation

* add comment

* using app v1

* set up test

* update test

* Update x/staking/keeper/slash.go

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

* use switch inside slashing logic

* update slash redelegation test

---------

Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-02-27 17:28:05 +01:00
Marko
2dafb8780c
refactor(x/staking): migrate to use env (#19414)
Co-authored-by: Facundo <facundomedica@gmail.com>
2024-02-14 23:11:06 +00:00
Likhita Polavarapu
c3a2357d3e
refactor(x/staking): return errors on Hooks calls (#19277)
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
2024-02-02 09:38:10 +00:00
Likhita Polavarapu
38f40c42f2
refactor: remove panic usage in keeper methods (#18636) 2023-12-12 09:51:23 +00:00
Cosmos SDK
8f0d5b15f0
chore: typos fixes by cosmos-sdk bot (#18689)
Co-authored-by: github-merge-queue <github-merge-queue@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2023-12-11 13:03:19 +00:00
Marko
a7ececc34d
refactor(staking): move delegation and validator interfaces to ./types (#18198)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2023-11-30 21:18:42 +00:00
Marko
2a6640d488
refactor(staking): add go.mod (#18257) 2023-10-26 07:39:34 +00:00
Emmanuel T Odeke
13afd9389b
perf(x/staking/keeper): make Slash return early iff zero tokens to burn (#18049) 2023-10-16 14:50:08 +00:00
Emmanuel T Odeke
7d7d4907f4
fix(x/slashing/keeper): hoist non-changing addresses parsing out of redelegation loop (#18035) 2023-10-10 10:15:00 +00:00
Marko
6615ff4f76
refactor!: deprecate blocktime on context (#17738) 2023-09-18 13:55:21 +00:00
Marko
e60c583d28
refactor: migrate away from using valBech32 globals (2/2) (#17157)
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2023-08-14 08:04:24 +00:00
Marko
266edc0a93
refactor: remove staking infraction type dep from evidence and slashing (#17335)
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2023-08-12 15:45:41 +00:00
atheeshp
f907a27d31
refactor(x/staking): migrate delegation key to collections (#17162) 2023-08-09 07:15:12 +00:00
Marko
58855c6859
refactor: remove global valaddress bech32 codec calls (1/2) (#17098)
Co-authored-by: Devon Bear <itsdevbear@berachain.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2023-07-26 19:01:21 +00:00
atheeshp
9b237c7189
chore(x/staking): audit changes (#16795)
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
2023-07-03 07:14:17 +00:00
Facundo Medica
1be7d9805e
refactor(x/staking)!: KVStoreService, return errors and use context.Context (#16324)
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
2023-06-16 18:40:44 +00:00
Marko
c8ab555174
refactor(bech32): remove embedding of addresscodec (#16197) 2023-05-22 10:20:45 +00:00
samricotta
e77156858f
refactor(staking, slashing, signing, misc): remove aliases from types/math.go (#15902) 2023-04-25 08:55:17 +00:00
Marko
7f0e05ebb9
refactor(staking): remove account address bech32 global (#15598) 2023-04-02 21:53:59 +02:00
Jacob Gadikian
37ba88872d
style: enable strict gofumpt (#15579) 2023-03-28 18:59:21 +00:00
Julien Robert
419de8de82
refactor: revert API breaking change on Slash (#14363) 2022-12-20 12:12:05 +01:00
Marko
84675a6bf1
feat!: IS rebase (#13122)
* feat: IS rebase (squash da53124..b45dd5f)

* clean up docs

* fix: fix IS tests (#13420)

* revert key update

* add hook error handling

* impl feedback

* add changelog

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

* more nits

* fix tests
Co-authored-by: Simon <sainoe@users.noreply.github.com>

* add godoc

* add godoc

Co-authored-by: Julien Robert <julien@rbrt.fr>
2022-10-09 12:21:20 +02:00
Julien Robert
53519ea5b3
refactor: simplify hooks implementation (#13396) 2022-09-27 20:37:26 +02:00
Jacob Gadikian
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
Jacob Gadikian
cb31043d35
chore: math lib update and type fixes (#12791)
## Description

Upgrades the math library in the repo root and find/replaces many usages of sdk.Dec, sdk.ZeroDec, sdk.OneDec, sdk.NewDec with their legacy-ified-math-lib replacements.

Note for review: I assume that I did not find 100% of usages

---

### 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-08-02 11:16:40 +00:00
Jacob Gadikian
5decd22cd3
chore: use math.Int instead of math.Int and apply linting (#12702)
* linting round

* fix changelog

* revert docs changes

* Update CHANGELOG.md

* revert an accidental change to security.md

* Update simapp/integration/client/grpc/tmservice/service_test.go

Co-authored-by: Julien Robert <julien@rbrt.fr>
2022-07-26 00:24:47 +02:00
Federico Kunze Küllmer
82e13b1684
chore(types): add MustAccAddressFromBech32 util func (#12201) 2022-06-09 12:26:07 -04:00
Jacob Gadikian
78e2e35f80
chore: sdk.Int to math.Int (#12132)
## Description

When locally working with golangci-lint, we can see that there were many deprecation warnings about sdk.Int.  This PR resolves that and makes 1-2 other linting related changes.  Issue on linting coming next.

This also moves BitCurve to bitCurve.

I expect that this set of changes will require several pull requests, one of them to the settings for the linter. 

It also does a gofumpt, because we had various formatting-related linters fail, too. 


---

### 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
- [ ] 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
- [ ] 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)
- [x] added a changelog entry to `CHANGELOG.md`
- [ ] 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
- [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-06-03 12:17:02 +00:00
Jacob Gadikian
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
Aleksandr Bezobchuk
4f04beae34
refactor!: create math go sub module (#11788) 2022-04-28 14:05:21 -04:00
Tyler
2188dd0f3c
feat: add coins burned to slash event (#9458)
<!--
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

Adds the amount of coins slashed from the validator to the `Slash` event. Additionally, before this PR, the jail/slash events were emitted **BEFORE** the slash/jail functions were even ran, which could result in a false positive event if an error occurred in these functions. ~~These events were moved to the end of the functions that implement the logic for them instead.~~ This PR moves the events to be emitted after the logic is executed. 

Closes: #9138 

<!-- Add a description of the changes that this PR introduces and the files that
are the most critical to review. -->

- +Add `amount_slashed` to slash event
- +Slash now returns the amount of tokens burned
- +Events moved to be emitted after the logic is executed
- +Add test to test the slash return amount
~~- +Add EventType `Jail` to separate it from the `Slash` event~~
~~- +Move slash/jail events into the functions that execute the logic for it~~
~~- -Remove `Reason` attribute from slash event (didn't appear to be consistent with what was happening in code)~~

### 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
- [x] 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)
- [ ] 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...

- [x] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - @ryanchristo 
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [x] reviewed state machine logic - not applicable
- [x] reviewed API design and naming - @ryanchristo 
- [x] reviewed documentation is accurate - @ryanchristo 
- [x] reviewed tests and test coverage - @ryanchristo 
- [ ] manually tested (if applicable)
2021-07-05 14:33:30 +00:00
psaradev
cb17feddc0 use on-chain params on tests + fix tests + add new tests for power reduction change 2021-01-28 23:54:39 +10:00
psaradev
4f476d6890 on-chain power reduction param conversion basic work 2021-01-27 20:24:00 +10:00
Aleksandr Bezobchuk
5291a8ff31
Refactor Logging using Zerolog (#8072)
* init commit

* server: use flags

* server: godoc++

* updates

* baseapp: update logging

* logging updates

* x/bank: update logging

* logging updates

* lint++

* logging updates

* logging updates

* logging updates

* logging updates

* cl++
2020-12-03 23:17:21 +00:00
Amaury Martiny
33e7297c79
Use enum instead of int32 for BondStatus (#7499)
* Migrate staking module

* Add gov legacy

* Add comments

* Add x/distrib

* x/crisis

* x/mint

* Fix test

* migrate x/genutil

* Fix lint

* Fix staking constants

* Fix test

* Update x/genutil/legacy/v040/migrate.go

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

* Add migrate script instead of change BondStatus constants

* Change staking bondStatus to enum

* Fix test

* Fix another test

* Remove staking exported

* fix references

* Better constants

* Fix build

* Fix lint

* Remove buf version

* Fix tests

* Fix test

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
2020-10-12 13:56:02 +00:00
Anil Kumar Kammari
d55c1a2665
Change address from bytes to bech32 strings (#7242)
* init

* Fix bank proto messages

* missing conversions

* remove casttype for addresses

* Fix tests

* Fix consaddress

* more test fixes

* Fix tests

* fixed tests

* migrate missing proto declarations

* format

* Fix format

* Fix alignment

* Fix more tests

* Fix ibc merge issue

* Fix fmt

* Fix more tests

* Fix missing address declarations

* Fix staking tests

* Fix more tests

* Fix config

* fixed tests

* Fix more tests

* Update staking grpc tests

* Fix merge issue

* fixed failing tests in x/distr

* fixed sim tests

* fixed failing tests

* Fix bugs

* Add logs

* fixed slashing issue

* Fix staking grpc tests

* Fix all bank tests :)

* Fix tests in distribution

* Fix more tests in distr

* Fix slashing tests

* Fix statking tests

* Fix evidence tests

* Fix gov tests

* Fix bug in create vesting account

* Fix test

* remove fmt

* fixed gov tests

* fixed x/ibc tests

* fixed x/ibc-transfer tests

* fixed staking tests

* fixed staking tests

* fixed test

* fixed distribution issue

* fix pagination test

* fmt

* lint

* fix build

* fix format

* revert tally tests

* revert tally tests

* lint

* Fix sim test

* revert

* revert

* fixed tally issue

* fix tests

* revert

* fmt

* refactor

* remove `GetAddress()`

* remove fmt

* revert fmt.Striger usage

* Fix tests

* Fix rest test

* disable interfacer lint check

* make proto-format

* add nolint rule

* remove stray println

Co-authored-by: aleem1314 <aleem.md789@gmail.com>
Co-authored-by: atheesh <atheesh@vitwit.com>
2020-09-25 10:25:37 +00:00
Marko
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
3ea53f5682 refactor TestSlashRedelegation to use simapp 2020-02-24 18:41:01 +01:00
Jonathan Gimeno
a34575a8bb fix TestSlashUnbondingDelegation test to use simapp 2020-02-24 18:30:30 +01:00
Jonathan Gimeno
27ff208fb8 make all test pass temporary 2020-02-21 18:34:03 +01:00
Xuefeng Zhu
3428291a61 Merge PR #5160: Simply Dec and Int sign check
* Simply Dec and Int sign check

* address comment
2019-10-14 16:05:42 -04:00
Marko
6684cdf3e5 Merge PR #5048: Fix linters and add golint 2019-09-16 13:11:17 -04:00
Federico Kunze
352678438c Merge PR #4255: Supply Module 2019-06-28 16:11:27 -04:00