Commit Graph
63 Commits
Author SHA1 Message Date
df020efd00 refactor: remove consensus as a imported type in modules (backport #21480) (#21638)
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2024-09-10 19:10:37 +02:00
mergify[bot]andEzequiel Raynaudo 9b589f47c6 refactor(staking): check for nil ptrs after GetCachedValue() (backport #21300) (#21546)
Co-authored-by: Ezequiel Raynaudo <raynaudo.ee@gmail.com>
2024-09-04 15:35:39 +00:00
mergify[bot]andJulien Robert cb1b2841c1 refactor(core,stf,x)!: remove InvokeTyped from router (backport #21224) (#21392)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-23 21:59:49 +00:00
Facundo Medica 207b30262f fix(x/staking): Verify the pubkey type when rotating (#20714) 2024-06-21 08:41:58 +00:00
3c13bc03cd fix(x/staking): Check existing pubkeys when creating a Validator + refactors (#20713)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
Co-authored-by: Ezequiel Raynaudo <raynaudo.ee@gmail.com>
2024-06-19 15:52:47 +00:00
Facundo Medica 4133dc23cb refactor(x/staking)!: rename NewToOldConsKeyMap to ConsKeyToValidatorIdentifierMap (#20696) 2024-06-17 14:27:40 +00:00
Julien Robert f02a124667 refactor(runtime,core): split router service (#20401) 2024-05-16 08:04:40 +00:00
Marko 43764cff30 chore: consensus spinout (#20010) 2024-05-03 14:08:17 +00:00
b15732a594 refactor: migrate to query Consensus Params (#19600)
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Facundo <facundomedica@gmail.com>
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
2024-04-25 15:26: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
Julien Robert 4b73e31b00 feat(x/staking): update validators min commission rate after MsgUpdateParams (#19537) 2024-02-23 17:17:01 +00:00
MarkoandFacundo 2dafb8780c refactor(x/staking): migrate to use env (#19414)
Co-authored-by: Facundo <facundomedica@gmail.com>
2024-02-14 23:11:06 +00:00
atheeshpandAleksandr Bezobchuk b16aa35d14 test: add tests for cons pubkey rotation (#18965)
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
2024-01-09 04:56:14 +00:00
atheeshp 19e66a9dc8 feat: include rotate keys logic in abci (#18236) 2023-12-22 10:14:15 +00:00
Markoandcoderabbitai[bot] 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
Chenqun Lu d3e662da1f imp(staking): detect the length of the ed25519 pubkey in CreateValidator to prevent panic (#18506) 2023-11-27 09:41:17 +00:00
atheeshp 0f8c6c2c12 feat(x/staking): implement RotateConsPubKey method (#18188) 2023-11-15 06:59:50 +00:00
Marko 2a6640d488 refactor(staking): add go.mod (#18257) 2023-10-26 07:39:34 +00:00
atheeshp 8f8e242e78 feat: add proto for cons pubkey rotation (#18140) 2023-10-17 12:42:16 +00:00
Marko b170ccc459 chore(staking): add delegator to events (#18006) 2023-10-09 11:27:41 +00:00
atheeshp 28112706b7 refactor: migrate x/staking Params to use collections (#17778) 2023-09-18 16:06:42 +00:00
Marko 6615ff4f76 refactor!: deprecate blocktime on context (#17738) 2023-09-18 13:55:21 +00:00
Markoandmarbar3778 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
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
Julien Robert 5442197d6b chore: cherry-pick some inj changes (#17109) 2023-07-24 13:07:06 +00:00
Devon Bear bf9f85a2d9 refactor(x/staking): Use ValidatorAddrCodec (#17095) 2023-07-23 21:31:16 +00:00
Marko c23505b037 refactor(staking): use validator & address codecs in staking (#16958) 2023-07-19 11:01:32 +00:00
atheeshpandAleksandr Bezobchuk 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
Julien Robert ae39e8e631 build(deps): use hashicorp/go-metrics instead of armon/go-metrics (#16790) 2023-06-30 14:21:57 +00:00
Jacob Gadikian 6afece635c style: add gci linter (#16605) 2023-06-22 15:35:51 +00:00
Facundo MedicaandAleksandr Bezobchuk 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
atheeshp dcac757a04 chore: remove x/gov module dependencies in x/staking (#16567) 2023-06-15 17:17:37 +00:00
Marko c8ab555174 refactor(bech32): remove embedding of addresscodec (#16197) 2023-05-22 10:20:45 +00:00
Likhita Polavarapu 7132a7624e refactor(staking): add missing msgServer tests and move ValidateBasic() logic to msgServer (#15820) 2023-04-14 14:54:29 +00:00
Marko 7f0e05ebb9 refactor(staking): remove account address bech32 global (#15598) 2023-04-02 21:53:59 +02:00
Marko a5ad307ae6 refactor: migrate consensus to collections (#15553) 2023-03-28 20:41:12 +00:00
Facundo Medica 4a6a1e3cb8 refactor: fix lint issues + gofumpt (#15062) 2023-02-19 10:31:49 +00:00
Julien Robert 8dbdfea9ef refactor: remove .Type() and .Route() from msgs (#14751) 2023-01-24 17:03:06 +00:00
Murali Krishna Komatireddy e3b37dc562 fix: return undelegate amount with MsgUndelegateResponse (#14590)
Closes https://github.com/cosmos/cosmos-sdk/issues/14153
2023-01-23 10:08:32 +00:00
+5 7b8ab8ec77 fix: remove delegator addess from MsgCreateValidator (#14567)
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: samricotta <37125168+samricotta@users.noreply.github.com>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Noel Ukwa <noeluchechukwu@gmail.com>
Co-authored-by: JayT106 <JayT106@users.noreply.github.com>
Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com>
Co-authored-by: atheeshp <59333759+atheeshp@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Denver <aeharvlee@gmail.com>
Co-authored-by: Hyunwoo Lee <denver@Hyunwoos-MacBook-Pro-2.local>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
2023-01-17 11:48:40 +05:30
Jacob Gadikian be8c5a09c2 chore: lint tests (#14268) 2022-12-18 23:48:31 +00:00
Matt Kocubinski b17c2d902e refactor: x/staking 0.47 audit (#14303) 2022-12-14 23:09:32 +00:00
Julien Robert 3c9b244f62 refactor: automate EventTypeMessage inclusion in every message execution (#13532) 2022-10-16 19:00:34 -04:00
Julien Robert 53519ea5b3 refactor: simplify hooks implementation (#13396) 2022-09-27 20:37:26 +02:00
Jacob GadikianandJulien Robert 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
Jeancarlo Barrios fc2897d3a9 feat(staking): migrate x/params away from x/staking (#12409)
## Description
Deprecate the usage of the now legacy x/params module within x/staking.

Closes: #12285



---

### 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-07-21 14:50:25 +00:00
Sam Kleinman cc83d7474b fix: remove dependency on tendermint internal library (#12368)
## Description

This is an oft added function for many projects that's probably more clear to implement as needed, but is probably mostly just a gap in the standard library. 

This function is removed in more recent versions of tendermint (as tendermint no longer uses it.) 

---

### 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-06-28 14:20:33 +00:00
Jeancarlo Barrios 90d6745ccc feat: migrate x/staking to app wiring (#12102)
## Description
Migrate x/staking to the new app wiring (dependency injection).

Tracking progress at https://github.com/cosmos/cosmos-sdk/issues/12036

---

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

- [x] 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 08:10:20 +00:00
Sai Kumar 5bde3686c4 feat: Cancel unbonding delegation entry (#10885)
## Description


Closes: #577

This pull request contains `Canceling unbonding delegation entry` and `delegate back to previous validator`

### `Msg` Service
```protobuf=
package cosmos.staking.v1beta1;

service Msg {
    // CancelUnbondingDelegation
    rpc CancelUnbondingDelegation(MsgCancelUnbondingDelegation) returns (MsgCancelUnbondingDelegationResponse);
}

// MsgCancelUnbondingDelegation
message MsgCancelUnbondingDelegation {
  option (gogoproto.equal)           = false;
  option (gogoproto.goproto_getters) = false;

  string                   delegator_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
  string                   validator_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
  cosmos.base.v1beta1.Coin amount            = 3 [(gogoproto.nullable) = false];
  // creation_height is the height which the unbonding took place.
  int64 creation_height = 4;
}

// MsgCancelUnbondingDelegationResponse
message MsgCancelUnbondingDelegationResponse{
}
```

### `Msg` Method Implementation
```go=
func (k msgServer) CancelUnbondingDelegation(goCtx context.Context, msg *types.MsgCancelUnbondingDelegation) (*types.MsgCancelUnbondingDelegationResponse, error) {
    /*
    // checking the unbonding delegation at creation_height 
         // get the unbonding delegations of delegatorAddress 
        if ubdEntry balance is equal to msg.Amount 
            remove the entry from ubd  
        else 
            update the specific entry with new balance
                
        if len(ubd.Entries) == 0 {
            k.RemoveUnbondingDelegation(ctx, ubd)
        } else {
            k.SetUnbondingDelegation(ctx, ubd)
        }
    */
    

    // update the delegation back to validator 
    // get validator
        validator, found := k.GetValidator(ctx, valAddr)
        if !found {
            return nil, types.ErrNoValidatorFound
        }

        // delegate the unbonding amount to validator back
        _, err = k.Keeper.Delegate(ctx, delegatorAddress, msg.Amount.Amount, types.Unbonding, validator, false)
        if err != nil {
            return nil, err
        }
    
    
        _, err := ms.Keeper.CancelUnbondingDelegation(ctx,delegatorAddress,validatorAddress,amount,creation_height)
        if err != nil {
            return nil, err 
        }


        return &types.MsgCancelUnbondingDelegationResponse{}, nil
}
```

#### `cli tx` Method
```bash=
simd tx staking cancel-unbond [validator-address] [amount] [creation_height] --from [user] --chain-id [chain-id]
Example: 
simd tx staking cancel-unbond cosmosvaloper1mqtyv4qux68r26mql2hjhgrvz72snjwpulq22m 100000stake 10280 --from test1 --chain-id test-chain
```

---

### 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/master/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/master/docs/building-modules)
- [ ] 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`
- [ ] 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-04-05 10:01:13 +00:00
Marko c455e5e0bd feat: Min commission upgrade 0.44 (#10529)
<!--
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

Added the ability to set a minimum commission rate that all validators cannot set their commission rate below.

replaces https://github.com/cosmos/cosmos-sdk/pull/10422

---

### 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/master/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/master/docs/building-modules)
- [ ] 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`
- [ ] 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)
2021-11-12 11:55:55 +00:00