fix(group): add group members weight checks (#13869) (#13879)

(cherry picked from commit 3423442ab198434adc29862414dc49990155083f)

Co-authored-by: Julien Robert <julien@rbrt.fr>
This commit is contained in:
mergify[bot] 2022-11-16 09:14:29 +00:00 committed by GitHub
parent 27e3e3e1aa
commit 9c70550fac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 204 additions and 130 deletions

View File

@ -164,7 +164,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
* (x/gov) [#13160](https://github.com/cosmos/cosmos-sdk/pull/13160) Remove custom marshaling of proposl and voteoption. * (x/gov) [#13160](https://github.com/cosmos/cosmos-sdk/pull/13160) Remove custom marshaling of proposl and voteoption.
* (types) [#13430](https://github.com/cosmos/cosmos-sdk/pull/13430) Remove unused code `ResponseCheckTx` and `ResponseDeliverTx` * (types) [#13430](https://github.com/cosmos/cosmos-sdk/pull/13430) Remove unused code `ResponseCheckTx` and `ResponseDeliverTx`
* (store) [#13529](https://github.com/cosmos/cosmos-sdk/pull/13529) Add method `LatestVersion` to `MultiStore` interface, add method `SetQueryMultiStore` to baesapp to support alternative `MultiStore` implementation for query service. * (store) [#13529](https://github.com/cosmos/cosmos-sdk/pull/13529) Add method `LatestVersion` to `MultiStore` interface, add method `SetQueryMultiStore` to baesapp to support alternative `MultiStore` implementation for query service.
* (pruning) [#13609]](https://github.com/cosmos/cosmos-sdk/pull/13609) Move pruning package to be under store package * (pruning) [#13609](https://github.com/cosmos/cosmos-sdk/pull/13609) Move pruning package to be under store package
* [#13794](https://github.com/cosmos/cosmos-sdk/pull/13794) Most methods on `types/module.AppModule` have been moved to * [#13794](https://github.com/cosmos/cosmos-sdk/pull/13794) Most methods on `types/module.AppModule` have been moved to
extension interfaces. `module.Manager.Modules` is now of type `map[string]interface{}` to support in parallel the new extension interfaces. `module.Manager.Modules` is now of type `map[string]interface{}` to support in parallel the new
`cosmossdk.io/core/appmodule.AppModule` API. `cosmossdk.io/core/appmodule.AppModule` API.
@ -176,9 +176,10 @@ extension interfaces. `module.Manager.Modules` is now of type `map[string]interf
### Bug Fixes ### Bug Fixes
* (x/group) [#13869](https://github.com/cosmos/cosmos-sdk/pull/13869) Group members weight must be positive and a finite number.
* (x/auth) [#13838](https://github.com/cosmos/cosmos-sdk/pull/13838) Fix calling `String()` and `MarshalYAML` panics when pubkey is set on a `BaseAccount`. * (x/auth) [#13838](https://github.com/cosmos/cosmos-sdk/pull/13838) Fix calling `String()` and `MarshalYAML` panics when pubkey is set on a `BaseAccount`.
* (rosetta) [#13583](https://github.com/cosmos/cosmos-sdk/pull/13583) Misc fixes for cosmos-rosetta. * (rosetta) [#13583](https://github.com/cosmos/cosmos-sdk/pull/13583) Misc fixes for cosmos-rosetta.
* (x/evidence) [#13740](https://github.com/cosmos/cosmos-sdk/pull/13740) Fix evidence query API to decode the hash properly. * (x/evidence) [#13740](https://github.com/cosmos/cosmos-sdk/pull/13740) Fix evidence query API to decode the hash properly.
* (bank) [#13691](https://github.com/cosmos/cosmos-sdk/issues/13691) Fix unhandled error for vesting account transfers, when total vesting amount exceeds total balance. * (bank) [#13691](https://github.com/cosmos/cosmos-sdk/issues/13691) Fix unhandled error for vesting account transfers, when total vesting amount exceeds total balance.
* [#13553](https://github.com/cosmos/cosmos-sdk/pull/13553) Ensure all parameter validation for decimal types handles nil decimal values. * [#13553](https://github.com/cosmos/cosmos-sdk/pull/13553) Ensure all parameter validation for decimal types handles nil decimal values.
* [#13145](https://github.com/cosmos/cosmos-sdk/pull/13145) Fix panic when calling `String()` to a Record struct type. * [#13145](https://github.com/cosmos/cosmos-sdk/pull/13145) Fix panic when calling `String()` to a Record struct type.

View File

@ -7918,6 +7918,8 @@ func (x *GetBlockWithTxsResponse) GetPagination() *v1beta1.PageResponse {
// TxDecodeRequest is the request type for the Service.TxDecode // TxDecodeRequest is the request type for the Service.TxDecode
// RPC method. // RPC method.
//
// Since: cosmos-sdk 0.47
type TxDecodeRequest struct { type TxDecodeRequest struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
@ -7956,6 +7958,8 @@ func (x *TxDecodeRequest) GetTxBytes() []byte {
// TxDecodeResponse is the response type for the // TxDecodeResponse is the response type for the
// Service.TxDecode method. // Service.TxDecode method.
//
// Since: cosmos-sdk 0.47
type TxDecodeResponse struct { type TxDecodeResponse struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
@ -7994,6 +7998,8 @@ func (x *TxDecodeResponse) GetTx() *Tx {
// TxEncodeResponse is the request type for the Service.TxEncode // TxEncodeResponse is the request type for the Service.TxEncode
// RPC method. // RPC method.
//
// Since: cosmos-sdk 0.47
type TxEncodeRequest struct { type TxEncodeRequest struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
@ -8032,6 +8038,8 @@ func (x *TxEncodeRequest) GetTx() *Tx {
// TxEncodeResponse is the response type for the // TxEncodeResponse is the response type for the
// Service.TxEncode method. // Service.TxEncode method.
//
// Since: cosmos-sdk 0.47
type TxEncodeResponse struct { type TxEncodeResponse struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
@ -8174,45 +8182,69 @@ var file_cosmos_tx_v1beta1_service_proto_rawDesc = []byte{
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73,
0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
0x48, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x52, 0x2c, 0x0a, 0x0f, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
0x44, 0x45, 0x52, 0x5f, 0x42, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01,
0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x42, 0x59, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x74, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x39, 0x0a,
0x5f, 0x41, 0x53, 0x43, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x10, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x42, 0x59, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x10, 0x02, 0x2a, 0x80, 0x01, 0x0a, 0x0d, 0x42, 0x72, 0x65, 0x12, 0x25, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x42, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x02, 0x74, 0x78, 0x22, 0x38, 0x0a, 0x0f, 0x54, 0x78, 0x45, 0x6e,
0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x14, 0x42, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x02, 0x74,
0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x4c, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
0x4f, 0x43, 0x4b, 0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x52, 0x4f, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x02,
0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x74, 0x78, 0x22, 0x2d, 0x0a, 0x10, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65,
0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74,
0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x03, 0x32, 0x92, 0x05, 0x0a, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x74, 0x78, 0x42, 0x79, 0x74, 0x65,
0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7b, 0x0a, 0x08, 0x53, 0x69, 0x6d, 0x75, 0x73, 0x2a, 0x48, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x18, 0x0a, 0x14,
0x6c, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x42, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f,
0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x42, 0x59, 0x5f, 0x41, 0x53, 0x43, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x52, 0x44, 0x45,
0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x69, 0x6d, 0x52, 0x5f, 0x42, 0x59, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x10, 0x02, 0x2a, 0x80, 0x01, 0x0a, 0x0d,
0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a,
0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x1a, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f,
0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x69, 0x6d, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a,
0x75, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x71, 0x0a, 0x05, 0x47, 0x65, 0x74, 0x54, 0x78, 0x12, 0x1f, 0x14, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f,
0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x42,
0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x59,
0x20, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x4e, 0x43, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53,
0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x03, 0x32, 0x88,
0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x07, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7b, 0x0a, 0x08, 0x53, 0x69,
0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x78, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e,
0x73, 0x2f, 0x7b, 0x68, 0x61, 0x73, 0x68, 0x7d, 0x12, 0x7f, 0x0a, 0x0b, 0x42, 0x72, 0x6f, 0x61, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c,
0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63, 0x6f, 0x73,
0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53,
0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x63, 0x6f, 0x73,
0x61, 0x31, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x71, 0x0a, 0x05, 0x47, 0x65, 0x74, 0x54, 0x78,
0x2a, 0x22, 0x16, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x12, 0x1f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x78, 0x73, 0x12, 0x7c, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x54, 0x78, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x74, 0x1a, 0x20, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x63, 0x6f,
0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
0x74, 0x78, 0x73, 0x2f, 0x7b, 0x68, 0x61, 0x73, 0x68, 0x7d, 0x12, 0x7f, 0x0a, 0x0b, 0x42, 0x72,
0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d,
0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x72,
0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b,
0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x78, 0x73, 0x12, 0x7c, 0x0a, 0x0b, 0x47,
0x65, 0x74, 0x54, 0x78, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73,
0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47,
0x65, 0x74, 0x54, 0x78, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x73, 0x45, 0x76, 0x65, 0x6e,
0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02,
0x18, 0x12, 0x16, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x78, 0x73, 0x12, 0x97, 0x01, 0x0a, 0x0f, 0x47, 0x65,
0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x12, 0x29, 0x2e,
0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74,
0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x63,
@ -8224,16 +8256,16 @@ var file_cosmos_tx_v1beta1_service_proto_rawDesc = []byte{
0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e,
0x22, 0x19, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x3a, 0x01, 0x2a, 0x22, 0x19, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f,
0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x79, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x79,
0x0a, 0x08, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x0a, 0x08, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x73,
0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54,
0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23,
0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2e, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22, 0x19,
0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x3a, 0x01, 0x2a, 0x42, 0xb9, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x42, 0xb9, 0x01, 0x0a, 0x15, 0x63, 0x6f,
0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74,
0x6f, 0x50, 0x01, 0x5a, 0x2c, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x50, 0x01, 0x5a, 0x2c, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69,

View File

@ -716,6 +716,8 @@ func (m *GetBlockWithTxsResponse) GetPagination() *query.PageResponse {
// TxDecodeRequest is the request type for the Service.TxDecode // TxDecodeRequest is the request type for the Service.TxDecode
// RPC method. // RPC method.
//
// Since: cosmos-sdk 0.47
type TxDecodeRequest struct { type TxDecodeRequest struct {
// tx_bytes is the raw transaction. // tx_bytes is the raw transaction.
TxBytes []byte `protobuf:"bytes,1,opt,name=tx_bytes,json=txBytes,proto3" json:"tx_bytes,omitempty"` TxBytes []byte `protobuf:"bytes,1,opt,name=tx_bytes,json=txBytes,proto3" json:"tx_bytes,omitempty"`
@ -763,6 +765,8 @@ func (m *TxDecodeRequest) GetTxBytes() []byte {
// TxDecodeResponse is the response type for the // TxDecodeResponse is the response type for the
// Service.TxDecode method. // Service.TxDecode method.
//
// Since: cosmos-sdk 0.47
type TxDecodeResponse struct { type TxDecodeResponse struct {
// tx is the decoded transaction. // tx is the decoded transaction.
Tx *Tx `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"` Tx *Tx `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"`
@ -810,6 +814,8 @@ func (m *TxDecodeResponse) GetTx() *Tx {
// TxEncodeResponse is the request type for the Service.TxEncode // TxEncodeResponse is the request type for the Service.TxEncode
// RPC method. // RPC method.
//
// Since: cosmos-sdk 0.47
type TxEncodeRequest struct { type TxEncodeRequest struct {
// tx is the transaction to encode. // tx is the transaction to encode.
Tx *Tx `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"` Tx *Tx `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"`
@ -857,6 +863,8 @@ func (m *TxEncodeRequest) GetTx() *Tx {
// TxEncodeResponse is the response type for the // TxEncodeResponse is the response type for the
// Service.TxEncode method. // Service.TxEncode method.
//
// Since: cosmos-sdk 0.47
type TxEncodeResponse struct { type TxEncodeResponse struct {
// tx_bytes is the encoded transaction bytes. // tx_bytes is the encoded transaction bytes.
TxBytes []byte `protobuf:"bytes,1,opt,name=tx_bytes,json=txBytes,proto3" json:"tx_bytes,omitempty"` TxBytes []byte `protobuf:"bytes,1,opt,name=tx_bytes,json=txBytes,proto3" json:"tx_bytes,omitempty"`
@ -924,71 +932,76 @@ func init() {
func init() { proto.RegisterFile("cosmos/tx/v1beta1/service.proto", fileDescriptor_e0b00a618705eca7) } func init() { proto.RegisterFile("cosmos/tx/v1beta1/service.proto", fileDescriptor_e0b00a618705eca7) }
var fileDescriptor_e0b00a618705eca7 = []byte{ var fileDescriptor_e0b00a618705eca7 = []byte{
// 1012 bytes of a gzipped FileDescriptorProto // 1098 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xcf, 0x6f, 0x1a, 0x47, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xcf, 0x6f, 0x1a, 0x47,
0x14, 0xf6, 0x2e, 0x60, 0xc8, 0xc3, 0x4e, 0xc8, 0xd8, 0xb5, 0x09, 0x71, 0x31, 0xd9, 0xd4, 0x3f, 0x14, 0xf6, 0x2e, 0xd8, 0x90, 0x87, 0x1d, 0x93, 0xb1, 0x6b, 0x63, 0xe2, 0x62, 0xb2, 0x89, 0x7f,
0x62, 0xc9, 0xbb, 0x0a, 0x4d, 0xa5, 0xaa, 0xaa, 0x54, 0x99, 0x1f, 0xa1, 0x34, 0x4d, 0x88, 0x06, 0xc4, 0xaa, 0x77, 0x15, 0x9a, 0x4a, 0x69, 0x55, 0xa9, 0x32, 0x3f, 0x42, 0x69, 0x9a, 0x10, 0x2d,
0x57, 0x51, 0xaa, 0x4a, 0x68, 0x81, 0x09, 0xac, 0x02, 0x3b, 0x98, 0x19, 0xac, 0x45, 0xae, 0xd5, 0x54, 0x51, 0xaa, 0x4a, 0x68, 0x81, 0x09, 0xac, 0x02, 0xbb, 0x98, 0x19, 0xac, 0x45, 0xae, 0xd5,
0xaa, 0xc7, 0x9e, 0xaa, 0xf6, 0xd0, 0x7f, 0xa9, 0xc7, 0x48, 0xbd, 0xb4, 0xb7, 0xca, 0xee, 0xa9, 0xaa, 0xa7, 0xaa, 0xa7, 0x4a, 0x3d, 0xf4, 0x5f, 0xea, 0x31, 0x52, 0x2f, 0xed, 0xad, 0xb2, 0x7b,
0xa7, 0xfe, 0x09, 0xd1, 0xce, 0x0e, 0xb0, 0xc0, 0x12, 0x27, 0xb9, 0xd8, 0x33, 0xcc, 0xf7, 0xde, 0xea, 0xa9, 0x7f, 0x42, 0xb4, 0xb3, 0x03, 0xec, 0xc2, 0x6e, 0xb0, 0x73, 0xb1, 0x67, 0x98, 0xef,
0xfb, 0xde, 0xf7, 0xe6, 0xbd, 0x59, 0xd8, 0x6e, 0x50, 0xd6, 0xa5, 0xcc, 0xe0, 0x8e, 0x71, 0x7a, 0xbd, 0xef, 0x7b, 0x6f, 0x66, 0xbe, 0x1d, 0xd8, 0x69, 0x98, 0xa4, 0x6b, 0x12, 0x85, 0x5a, 0xca,
0xbf, 0x4e, 0xb8, 0x79, 0xdf, 0x60, 0xa4, 0x7f, 0x6a, 0x35, 0x88, 0xde, 0xeb, 0x53, 0x4e, 0xd1, 0xe9, 0x83, 0x3a, 0xa6, 0xda, 0x03, 0x85, 0xe0, 0xfe, 0xa9, 0xde, 0xc0, 0x72, 0xaf, 0x6f, 0x52,
0x4d, 0x0f, 0xa0, 0x73, 0x47, 0x97, 0x80, 0xd4, 0x56, 0x8b, 0xd2, 0x56, 0x87, 0x18, 0x66, 0xcf, 0x13, 0xdd, 0x72, 0x00, 0x32, 0xb5, 0x64, 0x0e, 0x48, 0x6e, 0xb7, 0x4c, 0xb3, 0xd5, 0xc1, 0x8a,
0x32, 0x4c, 0xdb, 0xa6, 0xdc, 0xe4, 0x16, 0xb5, 0x99, 0x67, 0x90, 0xba, 0x2b, 0x3d, 0xd6, 0x4d, 0xd6, 0xd3, 0x15, 0xcd, 0x30, 0x4c, 0xaa, 0x51, 0xdd, 0x34, 0x88, 0x13, 0x90, 0xbc, 0xcb, 0x33,
0x46, 0x0c, 0xb3, 0xde, 0xb0, 0xc6, 0x8e, 0xdd, 0x8d, 0x04, 0xa5, 0xe6, 0xc3, 0x72, 0x47, 0x9e, 0xd6, 0x35, 0x82, 0x15, 0xad, 0xde, 0xd0, 0xc7, 0x89, 0xed, 0x09, 0x07, 0x25, 0x67, 0x69, 0xa9,
0x1d, 0xf8, 0x1d, 0x9c, 0x0c, 0x48, 0x7f, 0x38, 0xc6, 0xf4, 0xcc, 0x96, 0x65, 0x8b, 0x68, 0x12, 0xc5, 0xd7, 0x0e, 0xdd, 0x09, 0x4e, 0x06, 0xb8, 0x3f, 0x1c, 0x63, 0x7a, 0x5a, 0x4b, 0x37, 0x18,
0xbb, 0xc5, 0x89, 0xdd, 0x24, 0xfd, 0xae, 0x65, 0x73, 0x83, 0x0f, 0x7b, 0x84, 0x19, 0xf5, 0x0e, 0x1b, 0xc7, 0x6e, 0x53, 0x6c, 0x34, 0x71, 0xbf, 0xab, 0x1b, 0x54, 0xa1, 0xc3, 0x1e, 0x26, 0x4a,
0x6d, 0xbc, 0x5c, 0x78, 0x2a, 0xfe, 0x7a, 0xa7, 0xda, 0xdf, 0x0a, 0xa0, 0x12, 0xe1, 0xc7, 0x0e, 0xbd, 0x63, 0x36, 0x5e, 0x07, 0xae, 0xb2, 0xbf, 0xce, 0xaa, 0xf4, 0xb7, 0x00, 0xa8, 0x88, 0x69,
0x2b, 0x9e, 0x12, 0x9b, 0x63, 0x72, 0x32, 0x20, 0x8c, 0xa3, 0x0d, 0x58, 0x26, 0xee, 0x9e, 0x25, 0xd5, 0x22, 0x85, 0x53, 0x6c, 0x50, 0x15, 0x9f, 0x0c, 0x30, 0xa1, 0x68, 0x03, 0x96, 0xb0, 0x3d,
0x95, 0x4c, 0x68, 0xff, 0x1a, 0x96, 0x3b, 0xf4, 0x15, 0xc0, 0x24, 0x7c, 0x52, 0xcd, 0x28, 0xfb, 0x27, 0x09, 0x21, 0x1d, 0x3a, 0xb8, 0xa1, 0xf2, 0x19, 0xfa, 0x0a, 0x60, 0x42, 0x9f, 0x10, 0xd3,
0xf1, 0xec, 0xae, 0x2e, 0xd5, 0x71, 0xb9, 0xea, 0x82, 0xeb, 0x48, 0x25, 0xfd, 0xa9, 0xd9, 0x22, 0xc2, 0x41, 0x2c, 0xb3, 0x27, 0xf3, 0xee, 0xd8, 0x5a, 0x65, 0xa6, 0x75, 0xd4, 0x25, 0xf9, 0xb9,
0xd2, 0x67, 0x4e, 0x4d, 0x2a, 0xd8, 0x67, 0x8d, 0x3e, 0x81, 0x18, 0xed, 0x37, 0x49, 0xbf, 0x56, 0xd6, 0xc2, 0x3c, 0x67, 0x56, 0x4c, 0x08, 0xaa, 0x2b, 0x1a, 0x7d, 0x02, 0x51, 0xb3, 0xdf, 0xc4,
0x1f, 0x26, 0x43, 0x19, 0x65, 0xff, 0x7a, 0x36, 0xa5, 0xcf, 0xe9, 0xac, 0x57, 0x5c, 0x48, 0x6e, 0xfd, 0x5a, 0x7d, 0x98, 0x08, 0xa5, 0x85, 0x83, 0x9b, 0x99, 0xa4, 0x3c, 0xd3, 0x67, 0xb9, 0x6c,
0x88, 0xa3, 0xd4, 0x5b, 0x20, 0x04, 0xe1, 0x9e, 0xd9, 0x22, 0xc9, 0x70, 0x46, 0xd9, 0x0f, 0x63, 0x43, 0xb2, 0x43, 0x35, 0x62, 0x3a, 0x03, 0x84, 0x20, 0xdc, 0xd3, 0x5a, 0x38, 0x11, 0x4e, 0x0b,
0xb1, 0x46, 0xeb, 0x10, 0xe9, 0x58, 0x5d, 0x8b, 0x27, 0x23, 0xe2, 0x47, 0x6f, 0xa3, 0xfd, 0xa7, 0x07, 0x61, 0x95, 0x8d, 0xd1, 0x3a, 0x2c, 0x76, 0xf4, 0xae, 0x4e, 0x13, 0x8b, 0xec, 0x47, 0x67,
0xc0, 0xda, 0x54, 0x6e, 0xac, 0x47, 0x6d, 0x46, 0xd0, 0x1e, 0x84, 0xb8, 0xe3, 0x65, 0x16, 0xcf, 0x22, 0xfd, 0x27, 0xc0, 0x9a, 0xa7, 0x36, 0xd2, 0x33, 0x0d, 0x82, 0xd1, 0x3e, 0x84, 0xa8, 0xe5,
0x7e, 0x10, 0x10, 0xf3, 0xd8, 0xc1, 0x2e, 0x02, 0x95, 0x60, 0x85, 0x3b, 0xb5, 0xbe, 0xb4, 0x63, 0x54, 0x16, 0xcb, 0x7c, 0xe0, 0xc3, 0x59, 0xb5, 0x54, 0x1b, 0x81, 0x8a, 0xb0, 0x4c, 0xad, 0x5a,
0x49, 0x55, 0x58, 0x7c, 0x34, 0x95, 0xaf, 0xa8, 0xa7, 0xcf, 0x50, 0x82, 0x71, 0x9c, 0x8f, 0xd7, 0x9f, 0xc7, 0x91, 0x84, 0xc8, 0x22, 0xee, 0x79, 0xea, 0x65, 0xfb, 0xe9, 0x0a, 0xe4, 0x60, 0x35,
0x0c, 0x3d, 0x9a, 0x92, 0x2d, 0x24, 0x64, 0xdb, 0xbb, 0x52, 0x36, 0xcf, 0x7a, 0x4e, 0xb7, 0x75, 0x46, 0xc7, 0x63, 0x82, 0x9e, 0x78, 0xda, 0x16, 0x62, 0x6d, 0xdb, 0x9f, 0xdb, 0x36, 0x27, 0x7a,
0x88, 0x70, 0xca, 0xcd, 0x8e, 0x54, 0xc0, 0xdb, 0x68, 0x04, 0x50, 0xae, 0x4f, 0xcd, 0x66, 0xc3, 0xa6, 0x6f, 0xeb, 0xb0, 0x48, 0x4d, 0xaa, 0x75, 0x78, 0x07, 0x9c, 0x89, 0x84, 0x01, 0x65, 0xfb,
0x64, 0xdc, 0xa5, 0xe1, 0xd5, 0xf1, 0x16, 0xc4, 0xb8, 0x53, 0xab, 0x0f, 0x39, 0x71, 0xf3, 0x55, 0xa6, 0xd6, 0x6c, 0x68, 0x84, 0xda, 0x32, 0x9c, 0x7d, 0xdc, 0x82, 0x28, 0xb5, 0x6a, 0xf5, 0x21,
0xf6, 0x57, 0x70, 0x94, 0x3b, 0x39, 0x77, 0x8b, 0x1e, 0x40, 0xb8, 0x4b, 0x9b, 0x44, 0x14, 0xf1, 0xc5, 0x76, 0xbd, 0xc2, 0xc1, 0xb2, 0x1a, 0xa1, 0x56, 0xd6, 0x9e, 0xa2, 0x87, 0x10, 0xee, 0x9a,
0x7a, 0x36, 0x13, 0x20, 0xc3, 0xd8, 0xdf, 0x63, 0xda, 0x24, 0x58, 0xa0, 0xb5, 0xef, 0x60, 0x6d, 0x4d, 0xcc, 0x36, 0xf1, 0x66, 0x26, 0xed, 0xd3, 0x86, 0x71, 0xbe, 0xa7, 0x66, 0x13, 0xab, 0x0c,
0x2a, 0x8c, 0x94, 0xb4, 0x08, 0x71, 0x9f, 0x52, 0x22, 0xd4, 0xdb, 0x0a, 0x05, 0x13, 0xa1, 0xb4, 0x2d, 0x7d, 0x07, 0x6b, 0x1e, 0x1a, 0xde, 0xd2, 0x02, 0xc4, 0x5c, 0x9d, 0x62, 0x54, 0x57, 0x6d,
0x67, 0x70, 0xa3, 0x6a, 0x75, 0x07, 0x1d, 0x93, 0x8f, 0x6e, 0x0d, 0xba, 0x07, 0x2a, 0x77, 0xa4, 0x14, 0x4c, 0x1a, 0x25, 0xbd, 0x80, 0xd5, 0x8a, 0xde, 0x1d, 0x74, 0x34, 0x3a, 0x3a, 0x35, 0xe8,
0xc3, 0xe0, 0x5a, 0x09, 0x81, 0x54, 0xee, 0x4c, 0x25, 0xab, 0x4e, 0x25, 0xab, 0xfd, 0xac, 0x40, 0x3e, 0x88, 0xd4, 0xe2, 0x09, 0xfd, 0xf7, 0x8a, 0x35, 0x48, 0xa4, 0x96, 0xa7, 0x58, 0xd1, 0x53,
0x62, 0xe2, 0x59, 0x92, 0xfe, 0x1c, 0x62, 0x2d, 0x93, 0xd5, 0x2c, 0xfb, 0x05, 0x95, 0x01, 0xee, 0xac, 0xf4, 0x8b, 0x00, 0xf1, 0x49, 0x66, 0x2e, 0xfa, 0x73, 0x88, 0xb6, 0x34, 0x52, 0xd3, 0x8d,
0x2c, 0x66, 0x5c, 0x32, 0x59, 0xd9, 0x7e, 0x41, 0x71, 0xb4, 0xe5, 0x2d, 0xd0, 0xa7, 0xb0, 0xdc, 0x57, 0x26, 0x27, 0xb8, 0x13, 0xac, 0xb8, 0xa8, 0x91, 0x92, 0xf1, 0xca, 0x54, 0x23, 0x2d, 0x67,
0x27, 0x6c, 0xd0, 0xe1, 0xb2, 0x0d, 0x32, 0x8b, 0x6d, 0xb1, 0xc0, 0x61, 0x89, 0xd7, 0x34, 0x58, 0x80, 0x1e, 0xc1, 0x52, 0x1f, 0x93, 0x41, 0x87, 0xf2, 0x6b, 0x90, 0x0e, 0x8e, 0x55, 0x19, 0x4e,
0x11, 0xd7, 0x72, 0x94, 0x22, 0x82, 0x70, 0xdb, 0x64, 0x6d, 0xc1, 0xe1, 0x1a, 0x16, 0x6b, 0xed, 0xe5, 0x78, 0x49, 0x82, 0x65, 0x76, 0x2c, 0x47, 0x25, 0x22, 0x08, 0xb7, 0x35, 0xd2, 0x66, 0x1a,
0x1c, 0x56, 0x25, 0x46, 0x92, 0xdd, 0xb9, 0x52, 0x07, 0xa1, 0xc1, 0x4c, 0x21, 0xd4, 0xf7, 0x2c, 0x6e, 0xa8, 0x6c, 0x2c, 0x9d, 0xc3, 0x0a, 0xc7, 0x70, 0xb1, 0xbb, 0x73, 0xfb, 0xc0, 0x7a, 0x30,
0x84, 0x03, 0x1b, 0x25, 0xc2, 0x73, 0xee, 0x18, 0x79, 0x66, 0xf1, 0xf6, 0xb1, 0xc3, 0x7c, 0x93, 0xb5, 0x11, 0xe2, 0x7b, 0x6e, 0x84, 0x05, 0x1b, 0x45, 0x4c, 0xb3, 0xb6, 0x8d, 0xbc, 0xd0, 0x69,
0xa1, 0x4d, 0xac, 0x56, 0x9b, 0x0b, 0x2e, 0x21, 0x2c, 0x77, 0xe8, 0xe1, 0xfb, 0x4f, 0x06, 0xff, 0xbb, 0x6a, 0x11, 0x97, 0x33, 0xb4, 0xb1, 0xde, 0x6a, 0x53, 0xa6, 0x25, 0xa4, 0xf2, 0x19, 0x7a,
0xed, 0xd6, 0xfe, 0x57, 0x60, 0x73, 0x2e, 0xf4, 0xbb, 0x36, 0xee, 0x03, 0x88, 0x89, 0x11, 0x58, 0xfc, 0xfe, 0xce, 0xe0, 0x3e, 0xdd, 0xd2, 0xff, 0x02, 0x6c, 0xce, 0x50, 0x5f, 0xf7, 0xe2, 0x3e,
0xb3, 0x9a, 0x92, 0xca, 0x2d, 0x7d, 0x32, 0x06, 0x75, 0x6f, 0x00, 0x8a, 0x10, 0xe5, 0x02, 0x8e, 0x84, 0x28, 0xb3, 0xc0, 0x9a, 0xde, 0xe4, 0x52, 0xb6, 0xe4, 0x89, 0x0d, 0xca, 0x8e, 0x01, 0x32,
0x0a, 0x68, 0xb9, 0x89, 0x0e, 0x21, 0x22, 0x96, 0xb2, 0x41, 0x37, 0x17, 0x98, 0x60, 0x0f, 0x85, 0x8a, 0x52, 0x5e, 0x8d, 0x30, 0x68, 0xa9, 0x89, 0x8e, 0x60, 0x91, 0x0d, 0xf9, 0x05, 0xdd, 0x0c,
0x4a, 0x53, 0x19, 0x87, 0xdf, 0xa9, 0xa9, 0xfd, 0x29, 0x1f, 0x7c, 0x09, 0x51, 0x39, 0xe5, 0x50, 0x08, 0x51, 0x1d, 0x14, 0x2a, 0x7a, 0x2a, 0x0e, 0x5f, 0xeb, 0x52, 0x7b, 0x4a, 0xfe, 0x08, 0x56,
0x12, 0xd6, 0x2b, 0xb8, 0x50, 0xc4, 0xb5, 0xdc, 0xf3, 0xda, 0x37, 0x4f, 0xaa, 0x4f, 0x8b, 0xf9, 0xab, 0x56, 0x1e, 0x37, 0xec, 0x5b, 0x36, 0xf7, 0xde, 0x4a, 0x9f, 0x42, 0x7c, 0x82, 0xbe, 0xd6,
0xf2, 0xc3, 0x72, 0xb1, 0x90, 0x58, 0x42, 0x09, 0x58, 0x19, 0x9f, 0x1c, 0x55, 0xf3, 0x09, 0x05, 0xe1, 0x90, 0x1e, 0xd9, 0x44, 0x05, 0xc3, 0x4d, 0x74, 0xc5, 0xc8, 0x23, 0x9b, 0x74, 0x14, 0xc9,
0xdd, 0x84, 0xd5, 0xf1, 0x2f, 0x85, 0x62, 0x35, 0x9f, 0x50, 0x0f, 0x7e, 0x54, 0x60, 0x75, 0xaa, 0x49, 0x83, 0x35, 0x1e, 0x7e, 0x09, 0x11, 0xee, 0xdb, 0x28, 0x01, 0xeb, 0x65, 0x35, 0x5f, 0x50,
0x6b, 0x51, 0x1a, 0x52, 0x39, 0x5c, 0x39, 0x2a, 0xe4, 0x8f, 0xaa, 0xc7, 0xb5, 0xc7, 0x95, 0x42, 0x6b, 0xd9, 0x97, 0xb5, 0x6f, 0x9e, 0x55, 0x9e, 0x17, 0x72, 0xa5, 0xc7, 0xa5, 0x42, 0x3e, 0xbe,
0x71, 0xc6, 0xed, 0x16, 0xac, 0xcf, 0x9c, 0xe7, 0xbe, 0xae, 0xe4, 0x1f, 0x25, 0x94, 0x94, 0x1a, 0x80, 0xe2, 0xb0, 0x3c, 0x5e, 0x39, 0xae, 0xe4, 0xe2, 0x02, 0xba, 0x05, 0x2b, 0xe3, 0x5f, 0xf2,
0x53, 0xd0, 0x26, 0xac, 0xcd, 0x9c, 0x56, 0x9f, 0x3f, 0xc9, 0x27, 0x54, 0x97, 0xe7, 0xcc, 0xc1, 0x85, 0x4a, 0x2e, 0x2e, 0x1e, 0xfe, 0x28, 0xc0, 0x8a, 0xc7, 0x87, 0x50, 0x0a, 0x92, 0x59, 0xb5,
0x91, 0x38, 0x09, 0x65, 0x7f, 0x8d, 0x40, 0xb4, 0xea, 0x3d, 0x9e, 0xe8, 0x0c, 0x62, 0xa3, 0xa6, 0x7c, 0x9c, 0xcf, 0x1d, 0x57, 0xaa, 0xb5, 0xa7, 0xe5, 0x7c, 0x61, 0x2a, 0xed, 0x36, 0xac, 0x4f,
0x43, 0x5a, 0x40, 0xb9, 0x66, 0x7a, 0x3d, 0x75, 0xf7, 0x8d, 0x18, 0x79, 0x35, 0x77, 0x7f, 0xfa, 0xad, 0x67, 0xbf, 0x2e, 0xe7, 0x9e, 0xc4, 0x85, 0xa4, 0x18, 0x15, 0xd0, 0x26, 0xac, 0x4d, 0xad,
0xf3, 0xdf, 0xdf, 0xd4, 0xcc, 0x67, 0xca, 0x81, 0x76, 0xdb, 0x08, 0x78, 0xb8, 0x47, 0x01, 0x4f, 0x56, 0x5e, 0x3e, 0xcb, 0xc5, 0x45, 0x5b, 0xe7, 0xd4, 0xc2, 0x31, 0x5b, 0x09, 0x65, 0x7e, 0x8e,
0x20, 0x22, 0x3a, 0x08, 0x6d, 0x07, 0x78, 0xf5, 0xf7, 0x5f, 0x2a, 0xb3, 0x18, 0x20, 0x63, 0xee, 0x40, 0xa4, 0xe2, 0x3c, 0x07, 0xd0, 0x19, 0x44, 0x47, 0x36, 0x82, 0x24, 0x9f, 0x76, 0x4d, 0xb9,
0x88, 0x98, 0xdb, 0xe8, 0x43, 0x23, 0xe8, 0xc9, 0x66, 0xc6, 0x99, 0xdb, 0xb3, 0xe7, 0xe8, 0x07, 0x57, 0xf2, 0xee, 0x3b, 0x31, 0xfc, 0xb2, 0xed, 0xfd, 0xf4, 0xe7, 0xbf, 0xbf, 0x89, 0xe9, 0xcf,
0x88, 0xfb, 0x86, 0x23, 0xda, 0x79, 0xd3, 0x4c, 0x9d, 0x84, 0xdf, 0xbd, 0x0a, 0x26, 0x49, 0xdc, 0x84, 0x43, 0xe9, 0xb6, 0xe2, 0xf3, 0x14, 0x19, 0x11, 0x9e, 0xc0, 0x22, 0xf3, 0x04, 0xb4, 0xe3,
0x11, 0x24, 0x6e, 0xbb, 0x89, 0x6f, 0x04, 0xf3, 0x40, 0xdf, 0x43, 0xdc, 0xf7, 0xe0, 0x05, 0x12, 0x93, 0xd5, 0xed, 0x28, 0xc9, 0x74, 0x30, 0x80, 0x73, 0xee, 0x32, 0xce, 0x1d, 0xf4, 0xa1, 0xe2,
0x98, 0x7f, 0xec, 0x03, 0x09, 0x04, 0xbc, 0x9b, 0x5a, 0x5a, 0x10, 0x48, 0xa2, 0x45, 0xd1, 0x7f, 0xf7, 0x08, 0x21, 0xca, 0x99, 0xed, 0x42, 0xe7, 0xe8, 0x07, 0x88, 0xb9, 0xec, 0x1e, 0xed, 0xbe,
0x57, 0xe0, 0xc6, 0x4c, 0xeb, 0xa2, 0x7b, 0xc1, 0xbe, 0x03, 0x26, 0x4b, 0xea, 0xe0, 0x6d, 0xa0, 0xeb, 0x2b, 0x31, 0xa1, 0xdf, 0x9b, 0x07, 0xe3, 0x22, 0xee, 0x30, 0x11, 0xb7, 0xed, 0xc2, 0x37,
0x92, 0xca, 0xa1, 0xa0, 0xb2, 0x87, 0x76, 0x16, 0x14, 0x44, 0x74, 0xa8, 0x71, 0xe6, 0xcd, 0xa6, 0xfc, 0x75, 0xa0, 0xef, 0x21, 0xe6, 0xfa, 0x84, 0xfb, 0x0a, 0x98, 0x7d, 0xbe, 0xf8, 0x0a, 0xf0,
0xf3, 0xdc, 0x17, 0x7f, 0x5c, 0xa4, 0x95, 0x57, 0x17, 0x69, 0xe5, 0x9f, 0x8b, 0xb4, 0xf2, 0xcb, 0x79, 0x09, 0x48, 0x29, 0x26, 0x20, 0x81, 0x82, 0xd8, 0x7f, 0x17, 0x60, 0x75, 0xca, 0x8c, 0xd0,
0x65, 0x7a, 0xe9, 0xd5, 0x65, 0x7a, 0xe9, 0xaf, 0xcb, 0xf4, 0xd2, 0xb7, 0x3b, 0x2d, 0x8b, 0xb7, 0x7d, 0xff, 0xdc, 0x3e, 0x5e, 0x99, 0x3c, 0xbc, 0x0a, 0x94, 0x4b, 0x39, 0x62, 0x52, 0xf6, 0xd1,
0x07, 0x75, 0xbd, 0x41, 0xbb, 0x23, 0x57, 0xde, 0xbf, 0x43, 0xd6, 0x7c, 0x39, 0xfa, 0x5e, 0x72, 0x6e, 0xc0, 0x86, 0x30, 0xcf, 0x51, 0xce, 0x1c, 0xb7, 0x3d, 0x47, 0x43, 0x88, 0x8e, 0x5c, 0xc0,
0xea, 0xcb, 0xe2, 0x6b, 0xe9, 0xe3, 0xd7, 0x01, 0x00, 0x00, 0xff, 0xff, 0x55, 0x55, 0x47, 0x4a, 0xf7, 0x20, 0x4e, 0x19, 0x8a, 0xef, 0x41, 0x9c, 0xb6, 0x11, 0xe9, 0x1e, 0xd3, 0x90, 0xb2, 0xf7,
0x2a, 0x0a, 0x00, 0x00, 0x63, 0xcb, 0x47, 0x46, 0xd3, 0xa1, 0x63, 0xd4, 0x8e, 0x17, 0x04, 0x50, 0x7b, 0x2c, 0x26, 0x80,
0xda, 0x6b, 0x26, 0xf3, 0xa8, 0x31, 0x43, 0x67, 0xbf, 0xf8, 0xe3, 0x22, 0x25, 0xbc, 0xb9, 0x48,
0x09, 0xff, 0x5c, 0xa4, 0x84, 0x5f, 0x2f, 0x53, 0x0b, 0x6f, 0x2e, 0x53, 0x0b, 0x7f, 0x5d, 0xa6,
0x16, 0xbe, 0xdd, 0x6d, 0xe9, 0xb4, 0x3d, 0xa8, 0xcb, 0x0d, 0xb3, 0x3b, 0x0a, 0x77, 0xfe, 0x1d,
0x91, 0xe6, 0xeb, 0xd1, 0xbb, 0xd7, 0xaa, 0x2f, 0xb1, 0x57, 0xef, 0xc7, 0x6f, 0x03, 0x00, 0x00,
0xff, 0xff, 0x5a, 0x05, 0x27, 0x51, 0xf2, 0x0b, 0x00, 0x00,
} }
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.

View File

@ -1,4 +1,4 @@
// Package math provides helper functions for doing mathematical calculations and parsing for the ecocredit module. // Package math provides helper functions for doing mathematical calculations and parsing for the group module.
package math package math
import ( import (
@ -46,11 +46,22 @@ func (x Dec) IsPositive() bool {
return !x.dec.Negative && !x.dec.IsZero() return !x.dec.Negative && !x.dec.IsZero()
} }
func (x Dec) IsFinite() bool {
return x.dec.Form != apd.Finite
}
// NewDecFromString returns a new Dec from a string
// It only support finite numbers, not NaN, +Inf, -Inf
func NewDecFromString(s string) (Dec, error) { func NewDecFromString(s string) (Dec, error) {
d, _, err := apd.NewFromString(s) d, _, err := apd.NewFromString(s)
if err != nil { if err != nil {
return Dec{}, errors.ErrInvalidDecString.Wrap(err.Error()) return Dec{}, errors.ErrInvalidDecString.Wrap(err.Error())
} }
if d.Form != apd.Finite {
return Dec{}, errors.ErrInvalidDecString.Wrapf("expected a finite decimal, got %s", s)
}
return Dec{*d}, nil return Dec{*d}, nil
} }

View File

@ -54,6 +54,14 @@ func TestDec(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
minusFivePointZero, err := NewDecFromString("-5.0") minusFivePointZero, err := NewDecFromString("-5.0")
require.NoError(t, err) require.NoError(t, err)
_, err = NewDecFromString("inf")
require.Error(t, err)
_, err = NewDecFromString("Infinite")
require.Error(t, err)
_, err = NewDecFromString("foo")
require.Error(t, err)
_, err = NewDecFromString("NaN")
require.Error(t, err)
res, err := two.Add(zero) res, err := two.Add(zero)
require.NoError(t, err) require.NoError(t, err)

View File

@ -382,7 +382,6 @@ func (k Keeper) PruneProposals(ctx sdk.Context) error {
// TallyProposalsAtVPEnd iterates over all proposals whose voting period // TallyProposalsAtVPEnd iterates over all proposals whose voting period
// has ended, tallies their votes, prunes them, and updates the proposal's // has ended, tallies their votes, prunes them, and updates the proposal's
// `FinalTallyResult` field. // `FinalTallyResult` field.
func (k Keeper) TallyProposalsAtVPEnd(ctx sdk.Context) error { func (k Keeper) TallyProposalsAtVPEnd(ctx sdk.Context) error {
proposals, err := k.proposalsByVPEnd(ctx, ctx.BlockTime()) proposals, err := k.proposalsByVPEnd(ctx, ctx.BlockTime())
if err != nil { if err != nil {
@ -409,8 +408,7 @@ func (k Keeper) TallyProposalsAtVPEnd(ctx sdk.Context) error {
return err return err
} }
} else { } else {
err = k.doTallyAndUpdate(ctx, &proposal, electorate, policyInfo) if err := k.doTallyAndUpdate(ctx, &proposal, electorate, policyInfo); err != nil {
if err != nil {
return sdkerrors.Wrap(err, "doTallyAndUpdate") return sdkerrors.Wrap(err, "doTallyAndUpdate")
} }

View File

@ -253,6 +253,26 @@ func (s *TestSuite) TestCreateGroup() {
}, },
expErr: true, expErr: true,
}, },
"invalid member weight - Inf": {
req: &group.MsgCreateGroup{
Admin: addr1.String(),
Members: []group.MemberRequest{{
Address: addr3.String(),
Weight: "inf",
}},
},
expErr: true,
},
"invalid member weight - NaN": {
req: &group.MsgCreateGroup{
Admin: addr1.String(),
Members: []group.MemberRequest{{
Address: addr3.String(),
Weight: "NaN",
}},
},
expErr: true,
},
} }
var seq uint32 = 1 var seq uint32 = 1

View File

@ -687,15 +687,13 @@ func (k Keeper) doTallyAndUpdate(ctx sdk.Context, p *group.Proposal, electorate
sinceSubmission := ctx.BlockTime().Sub(p.SubmitTime) // duration passed since proposal submission. sinceSubmission := ctx.BlockTime().Sub(p.SubmitTime) // duration passed since proposal submission.
result, err := policy.Allow(tallyResult, electorate.TotalWeight, sinceSubmission) result, err := policy.Allow(tallyResult, electorate.TotalWeight, sinceSubmission)
if err != nil {
return sdkerrors.Wrap(err, "policy allow")
}
// If the result was final (i.e. enough votes to pass) or if the voting // If the result was final (i.e. enough votes to pass) or if the voting
// period ended, then we consider the proposal as final. // period ended, then we consider the proposal as final.
isFinal := result.Final || ctx.BlockTime().After(p.VotingPeriodEnd) if isFinal := result.Final || ctx.BlockTime().After(p.VotingPeriodEnd); isFinal {
switch {
case err != nil:
return sdkerrors.Wrap(err, "policy allow")
case isFinal:
if err := k.pruneVotes(ctx, p.Id); err != nil { if err := k.pruneVotes(ctx, p.Id); err != nil {
return err return err
} }

View File

@ -9,12 +9,8 @@ func EndBlocker(ctx sdk.Context, k keeper.Keeper) {
if err := k.TallyProposalsAtVPEnd(ctx); err != nil { if err := k.TallyProposalsAtVPEnd(ctx); err != nil {
panic(err) panic(err)
} }
pruneProposals(ctx, k)
}
func pruneProposals(ctx sdk.Context, k keeper.Keeper) { if err := k.PruneProposals(ctx); err != nil {
err := k.PruneProposals(ctx)
if err != nil {
panic(err) panic(err)
} }
} }

View File

@ -294,10 +294,7 @@ func (m MsgCreateGroupPolicy) GetSignBytes() []byte {
// GetSigners returns the expected signers for a MsgCreateGroupPolicy. // GetSigners returns the expected signers for a MsgCreateGroupPolicy.
func (m MsgCreateGroupPolicy) GetSigners() []sdk.AccAddress { func (m MsgCreateGroupPolicy) GetSigners() []sdk.AccAddress {
admin, err := sdk.AccAddressFromBech32(m.Admin) admin := sdk.MustAccAddressFromBech32(m.Admin)
if err != nil {
panic(err)
}
return []sdk.AccAddress{admin} return []sdk.AccAddress{admin}
} }