Skip to content

Commit

Permalink
Merge branch 'main' into mbreithecker/prepare-upgrade-2
Browse files Browse the repository at this point in the history
  • Loading branch information
troykessler committed Feb 14, 2025
2 parents 809db91 + 79b8e9d commit 0c3d1dd
Show file tree
Hide file tree
Showing 28 changed files with 2,306 additions and 538 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ An '!' indicates a state machine breaking change.

- (`x/stakers`) [#232](https://github.com/KYVENetwork/chain/pull/232) Shared Staking: Update stakers queries
- (deps) [#213](https://github.com/KYVENetwork/chain/pull/213) Bump to CosmosSDK v0.50.11 and cleanup deps.
- (deps) [#246](https://github.com/KYVENetwork/chain/pull/246) Bump stakers module version from v1beta1 to v1

### Bug Fixes

Expand Down
3 changes: 2 additions & 1 deletion app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,8 @@ import (
querykeeper "github.com/KYVENetwork/chain/x/query/keeper"
_ "github.com/KYVENetwork/chain/x/stakers" // import for side-effects
stakerskeeper "github.com/KYVENetwork/chain/x/stakers/keeper"
_ "github.com/KYVENetwork/chain/x/team" // import for side-effects
_ "github.com/KYVENetwork/chain/x/stakers/types_v1beta1" // import for side-effects
_ "github.com/KYVENetwork/chain/x/team" // import for side-effects
teamkeeper "github.com/KYVENetwork/chain/x/team/keeper"
// this line is used by starport scaffolding # stargate/app/moduleImport
)
Expand Down
2 changes: 2 additions & 0 deletions app/upgrades/v2_0/upgrade.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,8 @@ func CreateUpgradeHandler(
// TODO migrate stakers type url
// TODO add runtime upgrades

// TODO add new stakers types to gas refunds

// Run Bundles Merkle Roots migrations
bundlesKeeper.SetBundlesMigrationUpgradeHeight(sdkCtx, uint64(sdkCtx.BlockHeight()))

Expand Down
4 changes: 2 additions & 2 deletions docs/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,13 @@
"url": "./tmp-swagger-gen/kyve/query/v1beta1/query.swagger.json"
},
{
"url": "./tmp-swagger-gen/kyve/query/v1beta1/stakers.swagger.json"
"url": "./tmp-swagger-gen/kyve/query/v1/stakers.swagger.json"
},
{
"url": "./tmp-swagger-gen/kyve/query/v1beta1/funders.swagger.json"
},
{
"url": "./tmp-swagger-gen/kyve/stakers/v1beta1/query.swagger.json",
"url": "./tmp-swagger-gen/kyve/stakers/v1/query.swagger.json",
"operationIds": {
"rename": {
"Params": "StakersParams"
Expand Down
10 changes: 5 additions & 5 deletions docs/static/openapi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4217,7 +4217,7 @@ paths:
format: int64
tags:
- QueryPool
/kyve/query/v1beta1/staker/{address}:
/kyve/query/v1/staker/{address}:
get:
summary: Staker queries for all stakers.
operationId: Staker
Expand Down Expand Up @@ -4919,7 +4919,7 @@ paths:
type: string
tags:
- QueryStakers
/kyve/query/v1beta1/stakers:
/kyve/query/v1/stakers:
get:
summary: Stakers queries for all stakers.
operationId: Stakers
Expand Down Expand Up @@ -5725,7 +5725,7 @@ paths:
type: string
tags:
- QueryStakers
/kyve/query/v1beta1/stakers_by_pool/{pool_id}:
/kyve/query/v1/stakers_by_pool/{pool_id}:
get:
summary: >-
StakersByPool queries for all stakers that are currently participating
Expand Down Expand Up @@ -6440,7 +6440,7 @@ paths:
format: uint64
tags:
- QueryStakers
/kyve/query/v1beta1/stakers_by_pool_count:
/kyve/query/v1/stakers_by_pool_count:
get:
summary: >-
StakersByPool queries for all stakers and sorted them first by number of
Expand Down Expand Up @@ -8821,7 +8821,7 @@ paths:
default: FUNDING_STATUS_UNSPECIFIED
tags:
- QueryFunders
/kyve/stakers/v1beta1/params:
/kyve/stakers/v1/params:
get:
summary: Parameters queries the parameters of the module.
operationId: StakersParams
Expand Down
30 changes: 30 additions & 0 deletions proto/kyve/delegation/v1beta1/tx.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
syntax = "proto3";

package kyve.delegation.v1beta1;

import "cosmos/msg/v1/msg.proto";
import "cosmos_proto/cosmos.proto";

option go_package = "github.com/KYVENetwork/chain/x/delegation/types";

// Msg defines the Msg service.
service Msg {
option (cosmos.msg.v1.service) = true;

// UpdateParams defines a governance operation for updating the x/delegation module
// parameters. The authority is hard-coded to the x/gov module account.
rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse);
}

// MsgUpdateParams defines a SDK message for updating the module parameters.
message MsgUpdateParams {
option (cosmos.msg.v1.signer) = "authority";
// authority is the address of the governance account.
string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];

// payload defines the x/delegation parameters to update.
string payload = 2;
}

// MsgUpdateParamsResponse defines the Msg/UpdateParams response type.
message MsgUpdateParamsResponse {}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
syntax = "proto3";

package kyve.query.v1beta1;
package kyve.query.v1;

import "cosmos/base/query/v1beta1/pagination.proto";
import "gogoproto/gogo.proto";
Expand All @@ -13,23 +13,23 @@ option go_package = "github.com/KYVENetwork/chain/x/query/types";
service QueryStakers {
// Stakers queries for all stakers.
rpc Stakers(QueryStakersRequest) returns (QueryStakersResponse) {
option (google.api.http).get = "/kyve/query/v1beta1/stakers";
option (google.api.http).get = "/kyve/query/v1/stakers";
}

// Staker queries for all stakers.
rpc Staker(QueryStakerRequest) returns (QueryStakerResponse) {
option (google.api.http).get = "/kyve/query/v1beta1/staker/{address}";
option (google.api.http).get = "/kyve/query/v1/staker/{address}";
}

// StakersByPool queries for all stakers that are currently participating in the given pool
rpc StakersByPool(QueryStakersByPoolRequest) returns (QueryStakersByPoolResponse) {
option (google.api.http).get = "/kyve/query/v1beta1/stakers_by_pool/{pool_id}";
option (google.api.http).get = "/kyve/query/v1/stakers_by_pool/{pool_id}";
}

// StakersByPool queries for all stakers and sorted them first by number of pools participating and
// then by delegation
rpc StakersByPoolCount(QueryStakersByPoolCountRequest) returns (QueryStakersByPoolCountResponse) {
option (google.api.http).get = "/kyve/query/v1beta1/stakers_by_pool_count";
option (google.api.http).get = "/kyve/query/v1/stakers_by_pool_count";
}
}

Expand Down Expand Up @@ -68,7 +68,7 @@ enum StakerStatus {
// QueryStakersResponse is the response type for the Query/Stakers RPC method.
message QueryStakersResponse {
// stakers ...
repeated FullStaker stakers = 1 [(gogoproto.nullable) = false];
repeated kyve.query.v1beta1.FullStaker stakers = 1 [(gogoproto.nullable) = false];
// pagination defines the pagination in the response.
cosmos.base.query.v1beta1.PageResponse pagination = 2;
}
Expand All @@ -86,7 +86,7 @@ message QueryStakerRequest {
// QueryStakerResponse is the response type for the Query/Staker RPC method.
message QueryStakerResponse {
// staker ...
FullStaker staker = 1 [(gogoproto.nullable) = false];
kyve.query.v1beta1.FullStaker staker = 1 [(gogoproto.nullable) = false];
}

// =========================
Expand All @@ -102,7 +102,7 @@ message QueryStakersByPoolRequest {
// QueryStakersByPoolResponse is the response type for the Query/Staker RPC method.
message QueryStakersByPoolResponse {
// stakers ...
repeated FullStaker stakers = 1 [(gogoproto.nullable) = false];
repeated kyve.query.v1beta1.FullStaker stakers = 1 [(gogoproto.nullable) = false];
}

// =========================
Expand All @@ -118,7 +118,7 @@ message QueryStakersByPoolCountRequest {
// QueryStakersByPoolCountResponse ...
message QueryStakersByPoolCountResponse {
// stakers ...
repeated FullStaker stakers = 1 [(gogoproto.nullable) = false];
repeated kyve.query.v1beta1.FullStaker stakers = 1 [(gogoproto.nullable) = false];
// pagination defines the pagination in the response.
cosmos.base.query.v1beta1.PageResponse pagination = 2;
}
4 changes: 2 additions & 2 deletions proto/kyve/query/v1beta1/params.proto
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import "kyve/bundles/v1beta1/params.proto";
import "kyve/funders/v1beta1/params.proto";
import "kyve/global/v1beta1/global.proto";
import "kyve/pool/v1beta1/params.proto";
import "kyve/stakers/v1beta1/params.proto";
import "kyve/stakers/v1/params.proto";

option go_package = "github.com/KYVENetwork/chain/x/query/types";

Expand Down Expand Up @@ -36,7 +36,7 @@ message QueryParamsResponse {
// gov_params ...
cosmos.gov.v1.Params gov_params = 4;
// stakers_params ...
kyve.stakers.v1beta1.Params stakers_params = 5;
kyve.stakers.v1.Params stakers_params = 5;
// pool_params ...
kyve.pool.v1beta1.Params pool_params = 6;
// funders_params ...
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
syntax = "proto3";

package kyve.stakers.v1beta1;
package kyve.stakers.v1;

import "gogoproto/gogo.proto";
import "kyve/stakers/v1beta1/params.proto";
import "kyve/stakers/v1beta1/stakers.proto";
import "kyve/stakers/v1/params.proto";
import "kyve/stakers/v1/stakers.proto";

option go_package = "github.com/KYVENetwork/chain/x/stakers/types";

// EventUpdateParams is an event emitted when the module parameters are updated.
// emitted_by: MsgUpdateParams
message EventUpdateParams {
// old_params is the module's old parameters.
kyve.stakers.v1beta1.Params old_params = 1 [(gogoproto.nullable) = false];
kyve.stakers.v1.Params old_params = 1 [(gogoproto.nullable) = false];
// new_params is the module's new parameters.
kyve.stakers.v1beta1.Params new_params = 2 [(gogoproto.nullable) = false];
kyve.stakers.v1.Params new_params = 2 [(gogoproto.nullable) = false];
// payload is the parameter updates that were performed.
string payload = 3;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
syntax = "proto3";

package kyve.stakers.v1beta1;
package kyve.stakers.v1;

import "gogoproto/gogo.proto";
import "kyve/stakers/v1beta1/params.proto";
import "kyve/stakers/v1beta1/stakers.proto";
import "kyve/stakers/v1/params.proto";
import "kyve/stakers/v1/stakers.proto";

option go_package = "github.com/KYVENetwork/chain/x/stakers/types";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
syntax = "proto3";

package kyve.stakers.v1beta1;
package kyve.stakers.v1;

import "gogoproto/gogo.proto";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
syntax = "proto3";

package kyve.stakers.v1beta1;
package kyve.stakers.v1;

import "gogoproto/gogo.proto";
import "google/api/annotations.proto";
import "kyve/stakers/v1beta1/params.proto";
import "kyve/stakers/v1/params.proto";

option go_package = "github.com/KYVENetwork/chain/x/stakers/types";

// Query defines the gRPC querier service.
service Query {
// Parameters queries the parameters of the module.
rpc Params(QueryParamsRequest) returns (QueryParamsResponse) {
option (google.api.http).get = "/kyve/stakers/v1beta1/params";
option (google.api.http).get = "/kyve/stakers/v1/params";
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
syntax = "proto3";

package kyve.stakers.v1beta1;
package kyve.stakers.v1;

import "amino/amino.proto";
import "cosmos/base/v1beta1/coin.proto";
Expand Down
112 changes: 112 additions & 0 deletions proto/kyve/stakers/v1/tx.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
syntax = "proto3";

package kyve.stakers.v1;

import "cosmos/msg/v1/msg.proto";
import "cosmos_proto/cosmos.proto";
import "gogoproto/gogo.proto";

option go_package = "github.com/KYVENetwork/chain/x/stakers/types";

// Msg defines the Msg service.
service Msg {
option (cosmos.msg.v1.service) = true;
// JoinPool ...
rpc JoinPool(MsgJoinPool) returns (MsgJoinPoolResponse);
// LeavePool ...
rpc LeavePool(MsgLeavePool) returns (MsgLeavePoolResponse);

// UpdateCommission ...
rpc UpdateCommission(MsgUpdateCommission) returns (MsgUpdateCommissionResponse);
// UpdateStakeFraction ...
rpc UpdateStakeFraction(MsgUpdateStakeFraction) returns (MsgUpdateStakeFractionResponse);

// UpdateParams defines a governance operation for updating the x/stakers module
// parameters. The authority is hard-coded to the x/gov module account.
rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse);
}

// MsgUpdateCommission ...
message MsgUpdateCommission {
option (cosmos.msg.v1.signer) = "creator";
// creator ...
string creator = 1;
// pool_id ...
uint64 pool_id = 2;
// commission ...
string commission = 3 [
(gogoproto.customtype) = "cosmossdk.io/math.LegacyDec",
(gogoproto.nullable) = false
];
}

// MsgUpdateCommissionResponse ...
message MsgUpdateCommissionResponse {}

// MsgUpdateStakeFraction ...
message MsgUpdateStakeFraction {
option (cosmos.msg.v1.signer) = "creator";
// creator ...
string creator = 1;
// pool_id ...
uint64 pool_id = 2;
// commission ...
string stake_fraction = 3 [
(gogoproto.customtype) = "cosmossdk.io/math.LegacyDec",
(gogoproto.nullable) = false
];
}

// MsgUpdateStakeFractionResponse ...
message MsgUpdateStakeFractionResponse {}

// MsgJoinPool ...
message MsgJoinPool {
option (cosmos.msg.v1.signer) = "creator";
// creator ...
string creator = 1;
// pool_id ...
uint64 pool_id = 2;
// pool_address ...
string pool_address = 3;
// amount ...
uint64 amount = 4;
// commission ...
string commission = 5 [
(gogoproto.customtype) = "cosmossdk.io/math.LegacyDec",
(gogoproto.nullable) = false
];
// stake_fraction ...
string stake_fraction = 6 [
(gogoproto.customtype) = "cosmossdk.io/math.LegacyDec",
(gogoproto.nullable) = false
];
}

// MsgJoinPoolResponse ...
message MsgJoinPoolResponse {}

// MsgLeavePool ...
message MsgLeavePool {
option (cosmos.msg.v1.signer) = "creator";
// creator ...
string creator = 1;
// pool_id ...
uint64 pool_id = 2;
}

// MsgReactivateStakerResponse ...
message MsgLeavePoolResponse {}

// MsgUpdateParams defines a SDK message for updating the module parameters.
message MsgUpdateParams {
option (cosmos.msg.v1.signer) = "authority";
// authority is the address of the governance account.
string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];

// payload defines the x/stakers parameters to update.
string payload = 2;
}

// MsgUpdateParamsResponse defines the Msg/UpdateParams response type.
message MsgUpdateParamsResponse {}
Loading

0 comments on commit 0c3d1dd

Please sign in to comment.