Add generic Claim type (#1371)

This commit is contained in:
Derrick Lee 2022-10-27 17:45:32 -07:00 committed by GitHub
parent 96279b66bc
commit 45fc1a7643
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 525 additions and 61 deletions

View File

@ -307,6 +307,7 @@
- [kava/incentive/v1beta1/claims.proto](#kava/incentive/v1beta1/claims.proto) - [kava/incentive/v1beta1/claims.proto](#kava/incentive/v1beta1/claims.proto)
- [BaseClaim](#kava.incentive.v1beta1.BaseClaim) - [BaseClaim](#kava.incentive.v1beta1.BaseClaim)
- [BaseMultiClaim](#kava.incentive.v1beta1.BaseMultiClaim) - [BaseMultiClaim](#kava.incentive.v1beta1.BaseMultiClaim)
- [Claim](#kava.incentive.v1beta1.Claim)
- [DelegatorClaim](#kava.incentive.v1beta1.DelegatorClaim) - [DelegatorClaim](#kava.incentive.v1beta1.DelegatorClaim)
- [EarnClaim](#kava.incentive.v1beta1.EarnClaim) - [EarnClaim](#kava.incentive.v1beta1.EarnClaim)
- [HardLiquidityProviderClaim](#kava.incentive.v1beta1.HardLiquidityProviderClaim) - [HardLiquidityProviderClaim](#kava.incentive.v1beta1.HardLiquidityProviderClaim)
@ -318,6 +319,8 @@
- [SwapClaim](#kava.incentive.v1beta1.SwapClaim) - [SwapClaim](#kava.incentive.v1beta1.SwapClaim)
- [USDXMintingClaim](#kava.incentive.v1beta1.USDXMintingClaim) - [USDXMintingClaim](#kava.incentive.v1beta1.USDXMintingClaim)
- [ClaimType](#kava.incentive.v1beta1.ClaimType)
- [kava/incentive/v1beta1/params.proto](#kava/incentive/v1beta1/params.proto) - [kava/incentive/v1beta1/params.proto](#kava/incentive/v1beta1/params.proto)
- [MultiRewardPeriod](#kava.incentive.v1beta1.MultiRewardPeriod) - [MultiRewardPeriod](#kava.incentive.v1beta1.MultiRewardPeriod)
- [Multiplier](#kava.incentive.v1beta1.Multiplier) - [Multiplier](#kava.incentive.v1beta1.Multiplier)
@ -4454,6 +4457,24 @@ BaseMultiClaim is a claim with multiple reward coin types
<a name="kava.incentive.v1beta1.Claim"></a>
### Claim
Claim stores any generic rewards that can be claimed by owner
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| `type` | [ClaimType](#kava.incentive.v1beta1.ClaimType) | | |
| `owner` | [bytes](#bytes) | | |
| `reward` | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | |
| `reward_indexes` | [MultiRewardIndex](#kava.incentive.v1beta1.MultiRewardIndex) | repeated | |
<a name="kava.incentive.v1beta1.DelegatorClaim"></a> <a name="kava.incentive.v1beta1.DelegatorClaim"></a>
### DelegatorClaim ### DelegatorClaim
@ -4614,6 +4635,24 @@ USDXMintingClaim is for USDX minting rewards
<!-- end messages --> <!-- end messages -->
<a name="kava.incentive.v1beta1.ClaimType"></a>
### ClaimType
ClaimType is the type of claim
| Name | Number | Description |
| ---- | ------ | ----------- |
| CLAIM_TYPE_UNSPECIFIED | 0 | |
| CLAIM_TYPE_HARD_BORROW | 1 | |
| CLAIM_TYPE_HARD_SUPPLY | 2 | |
| CLAIM_TYPE_DELEGATOR | 3 | |
| CLAIM_TYPE_EARN | 4 | |
| CLAIM_TYPE_SAVINGS | 5 | |
| CLAIM_TYPE_SWAP | 6 | |
| CLAIM_TYPE_USDX_MINTING | 7 | |
<!-- end enums --> <!-- end enums -->
<!-- end HasExtensions --> <!-- end HasExtensions -->

View File

@ -13,8 +13,6 @@ option (gogoproto.goproto_getters_all) = false;
// BaseClaim is a claim with a single reward coin types // BaseClaim is a claim with a single reward coin types
message BaseClaim { message BaseClaim {
option (cosmos_proto.implements_interface) = "Claim";
bytes owner = 1 [ bytes owner = 1 [
(cosmos_proto.scalar) = "cosmos.AddressBytes", (cosmos_proto.scalar) = "cosmos.AddressBytes",
(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress" (gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"
@ -25,8 +23,6 @@ message BaseClaim {
// BaseMultiClaim is a claim with multiple reward coin types // BaseMultiClaim is a claim with multiple reward coin types
message BaseMultiClaim { message BaseMultiClaim {
option (cosmos_proto.implements_interface) = "Claim";
bytes owner = 1 [ bytes owner = 1 [
(cosmos_proto.scalar) = "cosmos.AddressBytes", (cosmos_proto.scalar) = "cosmos.AddressBytes",
(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress" (gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"
@ -66,8 +62,6 @@ message MultiRewardIndexesProto {
// USDXMintingClaim is for USDX minting rewards // USDXMintingClaim is for USDX minting rewards
message USDXMintingClaim { message USDXMintingClaim {
option (cosmos_proto.implements_interface) = "Claim";
BaseClaim base_claim = 1 [(gogoproto.embed) = true, (gogoproto.nullable) = false]; BaseClaim base_claim = 1 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
repeated RewardIndex reward_indexes = 2 [(gogoproto.castrepeated) = "RewardIndexes", (gogoproto.nullable) = false]; repeated RewardIndex reward_indexes = 2 [(gogoproto.castrepeated) = "RewardIndexes", (gogoproto.nullable) = false];
@ -75,8 +69,6 @@ message USDXMintingClaim {
// HardLiquidityProviderClaim stores the hard liquidity provider rewards that can be claimed by owner // HardLiquidityProviderClaim stores the hard liquidity provider rewards that can be claimed by owner
message HardLiquidityProviderClaim { message HardLiquidityProviderClaim {
option (cosmos_proto.implements_interface) = "Claim";
BaseMultiClaim base_claim = 1 [(gogoproto.embed) = true, (gogoproto.nullable) = false]; BaseMultiClaim base_claim = 1 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
repeated MultiRewardIndex supply_reward_indexes = 2 repeated MultiRewardIndex supply_reward_indexes = 2
@ -88,8 +80,6 @@ message HardLiquidityProviderClaim {
// DelegatorClaim stores delegation rewards that can be claimed by owner // DelegatorClaim stores delegation rewards that can be claimed by owner
message DelegatorClaim { message DelegatorClaim {
option (cosmos_proto.implements_interface) = "Claim";
BaseMultiClaim base_claim = 1 [(gogoproto.embed) = true, (gogoproto.nullable) = false]; BaseMultiClaim base_claim = 1 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
repeated MultiRewardIndex reward_indexes = 2 repeated MultiRewardIndex reward_indexes = 2
@ -98,8 +88,6 @@ message DelegatorClaim {
// SwapClaim stores the swap rewards that can be claimed by owner // SwapClaim stores the swap rewards that can be claimed by owner
message SwapClaim { message SwapClaim {
option (cosmos_proto.implements_interface) = "Claim";
BaseMultiClaim base_claim = 1 [(gogoproto.embed) = true, (gogoproto.nullable) = false]; BaseMultiClaim base_claim = 1 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
repeated MultiRewardIndex reward_indexes = 2 repeated MultiRewardIndex reward_indexes = 2
@ -108,8 +96,6 @@ message SwapClaim {
// SavingsClaim stores the savings rewards that can be claimed by owner // SavingsClaim stores the savings rewards that can be claimed by owner
message SavingsClaim { message SavingsClaim {
option (cosmos_proto.implements_interface) = "Claim";
BaseMultiClaim base_claim = 1 [(gogoproto.embed) = true, (gogoproto.nullable) = false]; BaseMultiClaim base_claim = 1 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
repeated MultiRewardIndex reward_indexes = 2 repeated MultiRewardIndex reward_indexes = 2
@ -118,10 +104,38 @@ message SavingsClaim {
// EarnClaim stores the earn rewards that can be claimed by owner // EarnClaim stores the earn rewards that can be claimed by owner
message EarnClaim { message EarnClaim {
option (cosmos_proto.implements_interface) = "Claim";
BaseMultiClaim base_claim = 1 [(gogoproto.embed) = true, (gogoproto.nullable) = false]; BaseMultiClaim base_claim = 1 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
repeated MultiRewardIndex reward_indexes = 2 repeated MultiRewardIndex reward_indexes = 2
[(gogoproto.castrepeated) = "MultiRewardIndexes", (gogoproto.nullable) = false]; [(gogoproto.castrepeated) = "MultiRewardIndexes", (gogoproto.nullable) = false];
} }
// ClaimType is the type of claim
enum ClaimType {
option (gogoproto.goproto_enum_prefix) = false;
CLAIM_TYPE_UNSPECIFIED = 0;
CLAIM_TYPE_HARD_BORROW = 1;
CLAIM_TYPE_HARD_SUPPLY = 2;
CLAIM_TYPE_DELEGATOR = 3;
CLAIM_TYPE_EARN = 4;
CLAIM_TYPE_SAVINGS = 5;
CLAIM_TYPE_SWAP = 6;
CLAIM_TYPE_USDX_MINTING = 7;
}
// Claim stores any generic rewards that can be claimed by owner
message Claim {
ClaimType type = 1;
bytes owner = 2 [
(cosmos_proto.scalar) = "cosmos.AddressBytes",
(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"
];
repeated cosmos.base.v1beta1.Coin reward = 3
[(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", (gogoproto.nullable) = false];
repeated MultiRewardIndex reward_indexes = 4
[(gogoproto.castrepeated) = "MultiRewardIndexes", (gogoproto.nullable) = false];
}

View File

@ -57,6 +57,58 @@ func (c BaseMultiClaim) Validate() error {
return nil return nil
} }
// Validate checks if a ClaimType is valid
func (ct ClaimType) Validate() error {
switch ct {
case CLAIM_TYPE_HARD_BORROW,
CLAIM_TYPE_HARD_SUPPLY,
CLAIM_TYPE_DELEGATOR,
CLAIM_TYPE_EARN,
CLAIM_TYPE_SAVINGS,
CLAIM_TYPE_SWAP,
CLAIM_TYPE_USDX_MINTING:
return nil
default:
return fmt.Errorf("invalid claim type: %v", ct)
}
}
// NewClaim returns a new Claim
func NewClaim(
claimType ClaimType,
owner sdk.AccAddress,
reward sdk.Coins,
rewardIndexes MultiRewardIndexes,
) Claim {
return Claim{
Type: claimType,
Owner: owner,
Reward: reward,
RewardIndexes: rewardIndexes,
}
}
// Validate performs a basic check of a Claim
func (c Claim) Validate() error {
if err := c.Type.Validate(); err != nil {
return err
}
if c.Owner.Empty() {
return errors.New("claim owner cannot be empty")
}
if err := c.Reward.Validate(); err != nil {
return fmt.Errorf("invalid reward amount %v: %w", c.Reward, err)
}
if err := c.RewardIndexes.Validate(); err != nil {
return fmt.Errorf("invalid reward indexes: %w", err)
}
return nil
}
// NewUSDXMintingClaim returns a new USDXMintingClaim // NewUSDXMintingClaim returns a new USDXMintingClaim
func NewUSDXMintingClaim(owner sdk.AccAddress, reward sdk.Coin, rewardIndexes RewardIndexes) USDXMintingClaim { func NewUSDXMintingClaim(owner sdk.AccAddress, reward sdk.Coin, rewardIndexes RewardIndexes) USDXMintingClaim {
return USDXMintingClaim{ return USDXMintingClaim{

View File

@ -26,6 +26,50 @@ var _ = math.Inf
// proto package needs to be updated. // proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
// ClaimType is the type of claim
type ClaimType int32
const (
CLAIM_TYPE_UNSPECIFIED ClaimType = 0
CLAIM_TYPE_HARD_BORROW ClaimType = 1
CLAIM_TYPE_HARD_SUPPLY ClaimType = 2
CLAIM_TYPE_DELEGATOR ClaimType = 3
CLAIM_TYPE_EARN ClaimType = 4
CLAIM_TYPE_SAVINGS ClaimType = 5
CLAIM_TYPE_SWAP ClaimType = 6
CLAIM_TYPE_USDX_MINTING ClaimType = 7
)
var ClaimType_name = map[int32]string{
0: "CLAIM_TYPE_UNSPECIFIED",
1: "CLAIM_TYPE_HARD_BORROW",
2: "CLAIM_TYPE_HARD_SUPPLY",
3: "CLAIM_TYPE_DELEGATOR",
4: "CLAIM_TYPE_EARN",
5: "CLAIM_TYPE_SAVINGS",
6: "CLAIM_TYPE_SWAP",
7: "CLAIM_TYPE_USDX_MINTING",
}
var ClaimType_value = map[string]int32{
"CLAIM_TYPE_UNSPECIFIED": 0,
"CLAIM_TYPE_HARD_BORROW": 1,
"CLAIM_TYPE_HARD_SUPPLY": 2,
"CLAIM_TYPE_DELEGATOR": 3,
"CLAIM_TYPE_EARN": 4,
"CLAIM_TYPE_SAVINGS": 5,
"CLAIM_TYPE_SWAP": 6,
"CLAIM_TYPE_USDX_MINTING": 7,
}
func (x ClaimType) String() string {
return proto.EnumName(ClaimType_name, int32(x))
}
func (ClaimType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_5f7515029623a895, []int{0}
}
// BaseClaim is a claim with a single reward coin types // BaseClaim is a claim with a single reward coin types
type BaseClaim struct { type BaseClaim struct {
Owner github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=owner,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"owner,omitempty"` Owner github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=owner,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"owner,omitempty"`
@ -493,7 +537,49 @@ func (m *EarnClaim) XXX_DiscardUnknown() {
var xxx_messageInfo_EarnClaim proto.InternalMessageInfo var xxx_messageInfo_EarnClaim proto.InternalMessageInfo
// Claim stores any generic rewards that can be claimed by owner
type Claim struct {
Type ClaimType `protobuf:"varint,1,opt,name=type,proto3,enum=kava.incentive.v1beta1.ClaimType" json:"type,omitempty"`
Owner github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,2,opt,name=owner,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"owner,omitempty"`
Reward github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,3,rep,name=reward,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"reward"`
RewardIndexes MultiRewardIndexes `protobuf:"bytes,4,rep,name=reward_indexes,json=rewardIndexes,proto3,castrepeated=MultiRewardIndexes" json:"reward_indexes"`
}
func (m *Claim) Reset() { *m = Claim{} }
func (m *Claim) String() string { return proto.CompactTextString(m) }
func (*Claim) ProtoMessage() {}
func (*Claim) Descriptor() ([]byte, []int) {
return fileDescriptor_5f7515029623a895, []int{12}
}
func (m *Claim) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *Claim) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
if deterministic {
return xxx_messageInfo_Claim.Marshal(b, m, deterministic)
} else {
b = b[:cap(b)]
n, err := m.MarshalToSizedBuffer(b)
if err != nil {
return nil, err
}
return b[:n], nil
}
}
func (m *Claim) XXX_Merge(src proto.Message) {
xxx_messageInfo_Claim.Merge(m, src)
}
func (m *Claim) XXX_Size() int {
return m.Size()
}
func (m *Claim) XXX_DiscardUnknown() {
xxx_messageInfo_Claim.DiscardUnknown(m)
}
var xxx_messageInfo_Claim proto.InternalMessageInfo
func init() { func init() {
proto.RegisterEnum("kava.incentive.v1beta1.ClaimType", ClaimType_name, ClaimType_value)
proto.RegisterType((*BaseClaim)(nil), "kava.incentive.v1beta1.BaseClaim") proto.RegisterType((*BaseClaim)(nil), "kava.incentive.v1beta1.BaseClaim")
proto.RegisterType((*BaseMultiClaim)(nil), "kava.incentive.v1beta1.BaseMultiClaim") proto.RegisterType((*BaseMultiClaim)(nil), "kava.incentive.v1beta1.BaseMultiClaim")
proto.RegisterType((*RewardIndex)(nil), "kava.incentive.v1beta1.RewardIndex") proto.RegisterType((*RewardIndex)(nil), "kava.incentive.v1beta1.RewardIndex")
@ -506,6 +592,7 @@ func init() {
proto.RegisterType((*SwapClaim)(nil), "kava.incentive.v1beta1.SwapClaim") proto.RegisterType((*SwapClaim)(nil), "kava.incentive.v1beta1.SwapClaim")
proto.RegisterType((*SavingsClaim)(nil), "kava.incentive.v1beta1.SavingsClaim") proto.RegisterType((*SavingsClaim)(nil), "kava.incentive.v1beta1.SavingsClaim")
proto.RegisterType((*EarnClaim)(nil), "kava.incentive.v1beta1.EarnClaim") proto.RegisterType((*EarnClaim)(nil), "kava.incentive.v1beta1.EarnClaim")
proto.RegisterType((*Claim)(nil), "kava.incentive.v1beta1.Claim")
} }
func init() { func init() {
@ -513,51 +600,61 @@ func init() {
} }
var fileDescriptor_5f7515029623a895 = []byte{ var fileDescriptor_5f7515029623a895 = []byte{
// 693 bytes of a gzipped FileDescriptorProto // 849 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x96, 0x4f, 0x4f, 0x13, 0x4d, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0x4d, 0x6f, 0xf3, 0x44,
0x1c, 0xc7, 0x3b, 0xf0, 0x40, 0x9e, 0x0e, 0xa5, 0x0f, 0x59, 0xe0, 0x11, 0x7a, 0xd8, 0x62, 0x49, 0x10, 0xce, 0x26, 0x69, 0x21, 0xdb, 0xbc, 0xa9, 0xe5, 0x7e, 0xa5, 0x41, 0x72, 0x4a, 0x2a, 0x95,
0xb0, 0x89, 0xe9, 0xae, 0xe0, 0xc1, 0xc4, 0x1b, 0x0b, 0x1a, 0x30, 0x12, 0xc9, 0x56, 0x13, 0xe3, 0x08, 0x14, 0x87, 0x16, 0x21, 0xce, 0x76, 0x92, 0xb6, 0x46, 0xf9, 0x92, 0x9d, 0xd2, 0x96, 0x03,
0xc1, 0x66, 0x76, 0x77, 0xac, 0x13, 0xb6, 0x3b, 0x75, 0x66, 0xdb, 0xd2, 0xd7, 0xe0, 0x45, 0xdf, 0xd6, 0xc6, 0x5e, 0x82, 0x55, 0xc7, 0x1b, 0x6c, 0x27, 0x69, 0xfe, 0x01, 0x12, 0x17, 0xf8, 0x03,
0x80, 0x2f, 0xc0, 0x8b, 0x17, 0x5e, 0x04, 0x31, 0x1e, 0x88, 0x31, 0xf1, 0xcf, 0xa1, 0x22, 0x5c, 0x5c, 0xe0, 0xc4, 0x99, 0x3f, 0xc0, 0xad, 0x48, 0x08, 0x55, 0x48, 0x48, 0x88, 0x43, 0xa0, 0xed,
0x7d, 0x05, 0x9e, 0xcc, 0xfc, 0x01, 0x16, 0x68, 0x09, 0x31, 0xc5, 0x03, 0xa7, 0xdd, 0xf9, 0xcd, 0x1f, 0xe0, 0xcc, 0x09, 0xf9, 0xa3, 0xa9, 0x9b, 0x26, 0x55, 0xf5, 0x2a, 0xe9, 0xa1, 0xa7, 0xec,
0x6f, 0x7f, 0xdf, 0xcf, 0xef, 0x3b, 0xb3, 0xb3, 0x0b, 0x67, 0x37, 0x50, 0x13, 0xd9, 0x24, 0xf2, 0xce, 0x8c, 0xe7, 0x79, 0xe6, 0x99, 0xf1, 0x7a, 0x03, 0xb7, 0xcf, 0x50, 0x0f, 0xe5, 0x35, 0x43,
0x71, 0x14, 0x93, 0x26, 0xb6, 0x9b, 0xf3, 0x1e, 0x8e, 0xd1, 0xbc, 0xed, 0x87, 0x88, 0xd4, 0xb8, 0xc1, 0x86, 0xad, 0xf5, 0x70, 0xbe, 0xb7, 0xdb, 0xc4, 0x36, 0xda, 0xcd, 0x2b, 0x3a, 0xd2, 0xda,
0x55, 0x67, 0x34, 0xa6, 0xc6, 0xff, 0x22, 0xc9, 0x3a, 0x4c, 0xb2, 0x74, 0x52, 0x6e, 0xa2, 0x4a, 0x16, 0xdb, 0x31, 0x89, 0x4d, 0xe8, 0x75, 0x27, 0x88, 0x1d, 0x05, 0xb1, 0x7e, 0x50, 0x6a, 0xb5,
0xab, 0x54, 0xa6, 0xd8, 0xe2, 0x4e, 0x65, 0xe7, 0xa6, 0x7d, 0xca, 0x6b, 0x94, 0x57, 0xd4, 0x84, 0x45, 0x5a, 0xc4, 0x0d, 0xc9, 0x3b, 0x2b, 0x2f, 0x3a, 0xb5, 0xa9, 0x10, 0xab, 0x4d, 0x2c, 0xd9,
0x1a, 0xe8, 0x29, 0x53, 0x8d, 0x6c, 0x0f, 0xf1, 0x84, 0x14, 0x25, 0x91, 0x9a, 0x2f, 0xbc, 0x03, 0x73, 0x78, 0x1b, 0xdf, 0xc5, 0x78, 0xbb, 0x7c, 0x13, 0x59, 0x01, 0x28, 0xa2, 0x19, 0x9e, 0x3f,
0x30, 0xed, 0x20, 0x8e, 0x97, 0x84, 0xba, 0xf1, 0x14, 0x0e, 0xd1, 0x56, 0x84, 0xd9, 0x14, 0x98, 0xf3, 0x03, 0x80, 0x31, 0x1e, 0x59, 0xb8, 0xe0, 0xa0, 0xd3, 0x9f, 0xc1, 0x05, 0xd2, 0x37, 0xb0,
0x01, 0xc5, 0x8c, 0xb3, 0xf2, 0xab, 0x93, 0x2f, 0x55, 0x49, 0xfc, 0xbc, 0xe1, 0x59, 0x3e, 0xad, 0x99, 0x04, 0x5b, 0x20, 0x1b, 0xe7, 0x0f, 0xff, 0x1b, 0xa6, 0x73, 0x2d, 0xcd, 0xfe, 0xa2, 0xdb,
0xe9, 0xca, 0xfa, 0x52, 0xe2, 0xc1, 0x86, 0x1d, 0xb7, 0xeb, 0x98, 0x5b, 0x8b, 0xbe, 0xbf, 0x18, 0x64, 0x15, 0xd2, 0xf6, 0x33, 0xfb, 0x3f, 0x39, 0x4b, 0x3d, 0xcb, 0xdb, 0x83, 0x0e, 0xb6, 0x58,
0x04, 0x0c, 0x73, 0xfe, 0x71, 0xab, 0x34, 0xae, 0xf5, 0x75, 0xc4, 0x69, 0xc7, 0x98, 0xbb, 0xaa, 0x4e, 0x51, 0x38, 0x55, 0x35, 0xb1, 0x65, 0xfd, 0xfe, 0x53, 0x6e, 0xc5, 0xc7, 0xf7, 0x2d, 0xfc,
0xac, 0x71, 0x0b, 0x0e, 0x33, 0xdc, 0x42, 0x2c, 0x98, 0x1a, 0x98, 0x01, 0xc5, 0x91, 0x85, 0x69, 0xc0, 0xc6, 0x96, 0xe8, 0xa5, 0xa5, 0x3f, 0x82, 0x8b, 0x26, 0xee, 0x23, 0x53, 0x4d, 0x86, 0xb7,
0x4b, 0x27, 0x0b, 0xbc, 0x83, 0x26, 0xad, 0x25, 0x4a, 0x22, 0xe7, 0x9f, 0xed, 0x4e, 0x3e, 0xe5, 0x40, 0x76, 0x69, 0x6f, 0x93, 0xf5, 0x83, 0x1d, 0x7a, 0xb7, 0x45, 0xb2, 0x05, 0xa2, 0x19, 0x7c,
0xea, 0xf4, 0xdb, 0xe9, 0xf7, 0x5b, 0xa5, 0x21, 0xc9, 0x58, 0xd8, 0x05, 0x30, 0x2b, 0x88, 0xd7, 0xf4, 0x62, 0x98, 0x0e, 0x89, 0x7e, 0x78, 0xe6, 0x0f, 0x00, 0x13, 0x0e, 0xcd, 0x4a, 0x57, 0xb7,
0x1a, 0x61, 0x4c, 0xfe, 0x0e, 0xb6, 0x9f, 0xc0, 0x1e, 0x3c, 0x1b, 0xfb, 0x86, 0xc0, 0x7e, 0xfb, 0xb5, 0xe7, 0xe1, 0xaa, 0x04, 0xb8, 0x46, 0x1e, 0xe7, 0xfa, 0xbe, 0xc3, 0xf5, 0xc7, 0xbf, 0xd3,
0x3d, 0x5f, 0x3c, 0x87, 0xbe, 0x78, 0x80, 0x77, 0x6b, 0xf1, 0x25, 0x80, 0x23, 0xae, 0x8c, 0xae, 0xd9, 0x27, 0xe0, 0x3b, 0x0f, 0x58, 0xa3, 0xba, 0xbe, 0x06, 0x70, 0x49, 0x74, 0x97, 0x82, 0xa1,
0x46, 0x01, 0xde, 0x34, 0xae, 0xc1, 0xff, 0x7c, 0x1a, 0x86, 0x28, 0xc6, 0x0c, 0x85, 0x15, 0xf1, 0xe2, 0x73, 0xfa, 0x1d, 0xb8, 0xac, 0x10, 0x5d, 0x47, 0x36, 0x36, 0x91, 0x2e, 0x3b, 0x4f, 0xb8,
0xb0, 0xec, 0x34, 0xed, 0x66, 0x8f, 0xc2, 0x0f, 0xdb, 0x75, 0x6c, 0x94, 0xe1, 0xa8, 0xaa, 0x56, 0xe5, 0xc5, 0xc4, 0xc4, 0x9d, 0xb9, 0x31, 0xe8, 0x60, 0x5a, 0x82, 0xaf, 0xbc, 0x14, 0xf2, 0xe7,
0x79, 0x86, 0xfc, 0x98, 0x32, 0x69, 0x73, 0xc6, 0xb1, 0x04, 0xd4, 0xb7, 0x4e, 0x7e, 0xee, 0x1c, 0x48, 0xb1, 0x89, 0xe9, 0x0a, 0x1a, 0xe7, 0x59, 0x87, 0xc9, 0x5f, 0xc3, 0xf4, 0xce, 0x13, 0x98,
0x50, 0xcb, 0xd8, 0x77, 0x33, 0xaa, 0xc8, 0x5d, 0x59, 0xa3, 0xd0, 0x82, 0x46, 0x02, 0x06, 0xf3, 0x14, 0xb1, 0x22, 0xc6, 0xbd, 0x24, 0xfb, 0x6e, 0x8e, 0x4c, 0x1f, 0xd2, 0x01, 0x32, 0xd8, 0xaa,
0x75, 0xb9, 0x43, 0x11, 0xcc, 0x6a, 0x29, 0xa2, 0xc2, 0x53, 0x40, 0x7a, 0x33, 0x6b, 0x75, 0xdf, 0xbb, 0xb3, 0x88, 0x60, 0xc2, 0x87, 0xd2, 0x3c, 0x73, 0x12, 0xb8, 0x82, 0x6c, 0xb3, 0x93, 0x87,
0xba, 0x56, 0xa2, 0x86, 0x33, 0xa9, 0x5d, 0x1a, 0x3d, 0x56, 0xd8, 0xd5, 0xf0, 0x7a, 0x58, 0x78, 0x94, 0x0d, 0xe4, 0xe0, 0xd7, 0x7c, 0x69, 0x5e, 0xdd, 0x4b, 0x2c, 0xfa, 0xe4, 0xfd, 0x6d, 0xe6,
0x03, 0xe0, 0x98, 0x5c, 0xe5, 0x3f, 0xf2, 0xe2, 0x34, 0xe0, 0x40, 0xbf, 0x01, 0x5f, 0x03, 0x78, 0x3b, 0x00, 0x29, 0xb7, 0xb5, 0xaf, 0xa5, 0xc5, 0x43, 0x82, 0xe1, 0x59, 0x13, 0xfc, 0x16, 0xc0,
0xe5, 0x24, 0xe0, 0x81, 0x3f, 0x4d, 0x38, 0x51, 0x13, 0x53, 0x95, 0xae, 0x2e, 0x15, 0x7b, 0x41, 0x8d, 0x71, 0x82, 0xb7, 0xfa, 0xf4, 0xe0, 0x6a, 0xdb, 0x71, 0xc9, 0x13, 0x55, 0xca, 0x4e, 0x23,
0x9c, 0x2c, 0xe7, 0xe4, 0x34, 0x89, 0x71, 0x5a, 0xc8, 0x35, 0x6a, 0xa7, 0x62, 0x85, 0x0f, 0x00, 0x31, 0x9e, 0x8e, 0x4f, 0xf9, 0x4c, 0xe8, 0x87, 0x40, 0x22, 0xdd, 0x7e, 0x60, 0xcb, 0xfc, 0x0c,
0x8e, 0x3d, 0x2a, 0x2f, 0x3f, 0x5e, 0x23, 0x51, 0x4c, 0xa2, 0xaa, 0x7a, 0x41, 0xee, 0x41, 0x28, 0x20, 0x75, 0x24, 0x15, 0x4f, 0x2a, 0x9a, 0x61, 0x6b, 0x46, 0xcb, 0x7b, 0x2b, 0x3e, 0x86, 0xd0,
0xb6, 0x6a, 0x45, 0x9e, 0x31, 0xd2, 0xaf, 0x91, 0x85, 0xab, 0xbd, 0x10, 0x0e, 0x8f, 0x03, 0xe7, 0x99, 0x4f, 0xd9, 0x3d, 0x4d, 0x5c, 0xbd, 0x96, 0xf6, 0xde, 0x9e, 0x46, 0x61, 0xf4, 0xe2, 0xf3,
0x5f, 0xa1, 0xbd, 0xd3, 0xc9, 0x03, 0x37, 0xed, 0x1d, 0x9e, 0x11, 0x17, 0xef, 0x6b, 0xf2, 0x55, 0x6f, 0x3a, 0xd8, 0x97, 0xc3, 0x34, 0x10, 0x63, 0xcd, 0xd1, 0x69, 0xf0, 0x0c, 0xba, 0x5e, 0x85,
0xf8, 0x39, 0x00, 0x73, 0x2b, 0x88, 0x05, 0xf7, 0xc9, 0x8b, 0x06, 0x09, 0x48, 0xdc, 0x5e, 0x67, 0x61, 0xea, 0x10, 0x99, 0x6a, 0x59, 0xfb, 0xb2, 0xab, 0xa9, 0x9a, 0x3d, 0xa8, 0x9b, 0xa4, 0xa7,
0xb4, 0x49, 0x02, 0xcc, 0x14, 0xcc, 0x83, 0x2e, 0x8d, 0xcd, 0x9d, 0xd5, 0xd8, 0xd1, 0xa9, 0xd1, 0xa9, 0xd8, 0xf4, 0x18, 0xd4, 0x26, 0x54, 0xb3, 0xf3, 0x58, 0x35, 0x77, 0xe7, 0xc3, 0xe4, 0x92,
0xbd, 0xbb, 0x4d, 0x38, 0xc9, 0x1b, 0xf5, 0x7a, 0xd8, 0xae, 0x74, 0x6d, 0xb2, 0x3f, 0xeb, 0x36, 0xce, 0xe1, 0x9a, 0xd5, 0xed, 0x74, 0xf4, 0x81, 0x3c, 0xb1, 0xb2, 0xd9, 0x34, 0x6b, 0xc5, 0x83,
0xae, 0x24, 0x8e, 0x05, 0x85, 0xb2, 0x47, 0x19, 0xa3, 0xad, 0x93, 0xca, 0x83, 0xfd, 0x54, 0x56, 0xb8, 0x67, 0x74, 0x90, 0x9b, 0xc4, 0x34, 0x49, 0x7f, 0x1c, 0x39, 0x32, 0x4b, 0x64, 0x0f, 0xe2,
0x12, 0x6e, 0x2f, 0xbb, 0xbf, 0x02, 0x98, 0x5d, 0xc6, 0x21, 0xae, 0xa2, 0x98, 0x5e, 0x94, 0xc5, 0xfe, 0x9c, 0xfc, 0x06, 0x60, 0xa2, 0x88, 0x75, 0xdc, 0x42, 0x36, 0x99, 0x97, 0xae, 0x67, 0x53,
0x1b, 0x3d, 0x36, 0x50, 0x7f, 0x3a, 0xec, 0xbd, 0x95, 0x3e, 0x01, 0x98, 0x2e, 0xb7, 0x50, 0xfd, 0x46, 0x65, 0x36, 0x65, 0x8d, 0x0d, 0xcd, 0x2f, 0x00, 0xc6, 0xa4, 0x3e, 0xea, 0xbc, 0x84, 0x5a,
0x92, 0xb5, 0xf5, 0x19, 0xc0, 0x4c, 0x19, 0x35, 0x49, 0x54, 0xe5, 0x97, 0x70, 0xc1, 0xee, 0x20, 0x7e, 0x05, 0x30, 0x2e, 0xa1, 0x9e, 0x66, 0xb4, 0xac, 0x97, 0xd2, 0x9a, 0x12, 0x32, 0x8d, 0x97,
0x16, 0x5d, 0xae, 0xb6, 0x9c, 0xd5, 0xed, 0x1f, 0x66, 0x6a, 0x7b, 0xcf, 0x04, 0x3b, 0x7b, 0x26, 0x50, 0xcb, 0xbf, 0x61, 0xb8, 0xe0, 0xc1, 0x7e, 0x08, 0xa3, 0xa3, 0xcf, 0x4f, 0x62, 0xfa, 0x71,
0xd8, 0xdd, 0x33, 0xc1, 0xab, 0x7d, 0x33, 0xb5, 0xb3, 0x6f, 0xa6, 0xbe, 0xec, 0x9b, 0xa9, 0x27, 0xea, 0x06, 0x3b, 0x5f, 0x24, 0xd1, 0x0d, 0xbf, 0xbb, 0xa1, 0x84, 0xe7, 0x7d, 0x43, 0x89, 0xcc,
0xd7, 0x13, 0xdf, 0x68, 0xc1, 0x51, 0x0a, 0x91, 0xc7, 0xe5, 0x9d, 0xbd, 0x99, 0xf8, 0x6b, 0x94, 0xed, 0x86, 0x32, 0x41, 0xf2, 0xe8, 0xdc, 0x24, 0x7f, 0x77, 0x08, 0x60, 0x6c, 0xa4, 0x22, 0x9d,
0x1f, 0x6b, 0x6f, 0x58, 0xfe, 0xc4, 0xdd, 0xfc, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xb3, 0x1b, 0x3b, 0x82, 0xeb, 0x85, 0x32, 0x27, 0x54, 0xe4, 0xc6, 0x69, 0xbd, 0x24, 0x1f, 0x55, 0xa5, 0x7a, 0xa9,
0x5a, 0x54, 0x0a, 0x00, 0x00, 0x20, 0xec, 0x0b, 0xa5, 0x22, 0x15, 0x1a, 0xf3, 0x1d, 0x72, 0x62, 0x51, 0xe6, 0x6b, 0xa2, 0x58,
0x3b, 0xa6, 0xc0, 0x24, 0x9f, 0x74, 0x54, 0xaf, 0x97, 0x4f, 0xa9, 0x30, 0x9d, 0x84, 0xab, 0x01,
0x5f, 0xb1, 0x54, 0x2e, 0x1d, 0x70, 0x8d, 0x9a, 0x48, 0x45, 0xe8, 0x15, 0xb8, 0x1c, 0xf0, 0x94,
0x38, 0xb1, 0x4a, 0x45, 0xe9, 0x75, 0x48, 0x07, 0x8c, 0x12, 0xf7, 0x89, 0x50, 0x3d, 0x90, 0xa8,
0x85, 0xb1, 0x60, 0xe9, 0x98, 0xab, 0x53, 0x8b, 0xf4, 0x5b, 0x70, 0x23, 0xc8, 0x57, 0x2a, 0x9e,
0xc8, 0x15, 0xa1, 0xda, 0x10, 0xaa, 0x07, 0xd4, 0x1b, 0xa9, 0xe8, 0x57, 0xdf, 0x33, 0x21, 0x5e,
0xb8, 0xb8, 0x62, 0x42, 0x17, 0xd7, 0x0c, 0xb8, 0xbc, 0x66, 0xc0, 0x3f, 0xd7, 0x0c, 0xf8, 0xe6,
0x86, 0x09, 0x5d, 0xde, 0x30, 0xa1, 0x3f, 0x6f, 0x98, 0xd0, 0xa7, 0xef, 0x05, 0xba, 0xe3, 0xa8,
0x9b, 0xd3, 0x51, 0xd3, 0x72, 0x57, 0xf9, 0xf3, 0xc0, 0x3f, 0x06, 0xb7, 0x4d, 0xcd, 0x45, 0xf7,
0x02, 0xff, 0xc1, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xa4, 0x35, 0x3f, 0x49, 0x50, 0x0c, 0x00,
0x00,
} }
func (m *BaseClaim) Marshal() (dAtA []byte, err error) { func (m *BaseClaim) Marshal() (dAtA []byte, err error) {
@ -1098,6 +1195,69 @@ func (m *EarnClaim) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil return len(dAtA) - i, nil
} }
func (m *Claim) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
if err != nil {
return nil, err
}
return dAtA[:n], nil
}
func (m *Claim) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *Claim) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
if len(m.RewardIndexes) > 0 {
for iNdEx := len(m.RewardIndexes) - 1; iNdEx >= 0; iNdEx-- {
{
size, err := m.RewardIndexes[iNdEx].MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
i = encodeVarintClaims(dAtA, i, uint64(size))
}
i--
dAtA[i] = 0x22
}
}
if len(m.Reward) > 0 {
for iNdEx := len(m.Reward) - 1; iNdEx >= 0; iNdEx-- {
{
size, err := m.Reward[iNdEx].MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
i = encodeVarintClaims(dAtA, i, uint64(size))
}
i--
dAtA[i] = 0x1a
}
}
if len(m.Owner) > 0 {
i -= len(m.Owner)
copy(dAtA[i:], m.Owner)
i = encodeVarintClaims(dAtA, i, uint64(len(m.Owner)))
i--
dAtA[i] = 0x12
}
if m.Type != 0 {
i = encodeVarintClaims(dAtA, i, uint64(m.Type))
i--
dAtA[i] = 0x8
}
return len(dAtA) - i, nil
}
func encodeVarintClaims(dAtA []byte, offset int, v uint64) int { func encodeVarintClaims(dAtA []byte, offset int, v uint64) int {
offset -= sovClaims(v) offset -= sovClaims(v)
base := offset base := offset
@ -1315,6 +1475,34 @@ func (m *EarnClaim) Size() (n int) {
return n return n
} }
func (m *Claim) Size() (n int) {
if m == nil {
return 0
}
var l int
_ = l
if m.Type != 0 {
n += 1 + sovClaims(uint64(m.Type))
}
l = len(m.Owner)
if l > 0 {
n += 1 + l + sovClaims(uint64(l))
}
if len(m.Reward) > 0 {
for _, e := range m.Reward {
l = e.Size()
n += 1 + l + sovClaims(uint64(l))
}
}
if len(m.RewardIndexes) > 0 {
for _, e := range m.RewardIndexes {
l = e.Size()
n += 1 + l + sovClaims(uint64(l))
}
}
return n
}
func sovClaims(x uint64) (n int) { func sovClaims(x uint64) (n int) {
return (math_bits.Len64(x|1) + 6) / 7 return (math_bits.Len64(x|1) + 6) / 7
} }
@ -2691,6 +2879,177 @@ func (m *EarnClaim) Unmarshal(dAtA []byte) error {
} }
return nil return nil
} }
func (m *Claim) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowClaims
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
wire |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: Claim: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: Claim: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
}
m.Type = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowClaims
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
m.Type |= ClaimType(b&0x7F) << shift
if b < 0x80 {
break
}
}
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType)
}
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowClaims
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
byteLen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if byteLen < 0 {
return ErrInvalidLengthClaims
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
return ErrInvalidLengthClaims
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Owner = append(m.Owner[:0], dAtA[iNdEx:postIndex]...)
if m.Owner == nil {
m.Owner = []byte{}
}
iNdEx = postIndex
case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Reward", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowClaims
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthClaims
}
postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthClaims
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Reward = append(m.Reward, types.Coin{})
if err := m.Reward[len(m.Reward)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 4:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field RewardIndexes", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowClaims
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthClaims
}
postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthClaims
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.RewardIndexes = append(m.RewardIndexes, MultiRewardIndex{})
if err := m.RewardIndexes[len(m.RewardIndexes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipClaims(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
return ErrInvalidLengthClaims
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func skipClaims(dAtA []byte) (n int, err error) { func skipClaims(dAtA []byte) (n int, err error) {
l := len(dAtA) l := len(dAtA)
iNdEx := 0 iNdEx := 0