From 5bf79654788ae958b42797feb700fc2c3cc32074 Mon Sep 17 00:00:00 2001 From: p0p3yee Date: Wed, 7 Feb 2024 18:50:58 -0500 Subject: [PATCH 1/3] Update create pub key tx to include number of validators & aggregate key according to that --- go.mod | 2 +- proto/fairyring/keyshare/pub_key.proto | 2 + proto/fairyring/keyshare/tx.proto | 1 + x/keyshare/client/cli/tx_latest_pub_key.go | 11 +- x/keyshare/keeper/msg_server_pub_key.go | 12 +- x/keyshare/keeper/msg_server_send_keyshare.go | 16 +-- x/keyshare/module.go | 6 +- x/keyshare/types/errors.go | 2 +- x/keyshare/types/keys.go | 1 + x/keyshare/types/messages_latest_pub_key.go | 11 +- x/keyshare/types/pub_key.pb.go | 105 +++++++++++--- x/keyshare/types/tx.pb.go | 130 +++++++++++------- 12 files changed, 216 insertions(+), 83 deletions(-) diff --git a/go.mod b/go.mod index 7f01be34..2c0a2d59 100644 --- a/go.mod +++ b/go.mod @@ -7,6 +7,7 @@ require ( cosmossdk.io/errors v1.0.0-beta.7 cosmossdk.io/math v1.0.1 github.com/FairBlock/DistributedIBE v0.0.0-20230528025616-f58fb2b93eaf + github.com/armon/go-metrics v0.4.1 github.com/cometbft/cometbft v0.37.2 github.com/cometbft/cometbft-db v0.8.0 github.com/cosmos/cosmos-sdk v0.47.3 @@ -47,7 +48,6 @@ require ( github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect github.com/Microsoft/go-winio v0.6.1 // indirect github.com/OneOfOne/xxhash v1.2.8 // indirect - github.com/armon/go-metrics v0.4.1 // indirect github.com/aws/aws-sdk-go v1.44.203 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect diff --git a/proto/fairyring/keyshare/pub_key.proto b/proto/fairyring/keyshare/pub_key.proto index e435dc9d..b8c39094 100644 --- a/proto/fairyring/keyshare/pub_key.proto +++ b/proto/fairyring/keyshare/pub_key.proto @@ -7,10 +7,12 @@ message ActivePubKey { string publicKey = 1; string creator = 2; uint64 expiry = 3; + uint64 numberOfValidators = 4; } message QueuedPubKey { string publicKey = 1; string creator = 2; uint64 expiry = 3; + uint64 numberOfValidators = 4; } diff --git a/proto/fairyring/keyshare/tx.proto b/proto/fairyring/keyshare/tx.proto index 78dba83e..cf588040 100644 --- a/proto/fairyring/keyshare/tx.proto +++ b/proto/fairyring/keyshare/tx.proto @@ -50,6 +50,7 @@ message MsgCreateLatestPubKey { string creator = 1; string publicKey = 2; repeated string commitments = 3; + uint64 numberOfValidators = 4; } message MsgCreateLatestPubKeyResponse {} diff --git a/x/keyshare/client/cli/tx_latest_pub_key.go b/x/keyshare/client/cli/tx_latest_pub_key.go index 04386d0a..21220642 100644 --- a/x/keyshare/client/cli/tx_latest_pub_key.go +++ b/x/keyshare/client/cli/tx_latest_pub_key.go @@ -2,6 +2,7 @@ package cli import ( "fairyring/x/keyshare/types" + "github.com/spf13/cast" "strings" "github.com/cosmos/cosmos-sdk/client" @@ -12,9 +13,9 @@ import ( func CmdCreateLatestPubKey() *cobra.Command { cmd := &cobra.Command{ - Use: "create-latest-pub-key [public-key] [commitments]", + Use: "create-latest-pub-key [public-key] [commitments] [number-of-validators]", Short: "Create a latest public key", - Args: cobra.ExactArgs(2), + Args: cobra.ExactArgs(3), RunE: func(cmd *cobra.Command, args []string) (err error) { // Get value arguments @@ -23,6 +24,11 @@ func CmdCreateLatestPubKey() *cobra.Command { commitmentStr := args[1] commitments := strings.Split(commitmentStr, ",") + numberOfValidators, err := cast.ToUint64E(args[2]) + if err != nil { + return err + } + clientCtx, err := client.GetClientTxContext(cmd) if err != nil { return err @@ -32,6 +38,7 @@ func CmdCreateLatestPubKey() *cobra.Command { clientCtx.GetFromAddress().String(), argPublicKey, commitments, + numberOfValidators, ) return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) }, diff --git a/x/keyshare/keeper/msg_server_pub_key.go b/x/keyshare/keeper/msg_server_pub_key.go index a9b7d0dc..4aeae2d9 100644 --- a/x/keyshare/keeper/msg_server_pub_key.go +++ b/x/keyshare/keeper/msg_server_pub_key.go @@ -29,6 +29,10 @@ func (k msgServer) CreateLatestPubKey(goCtx context.Context, msg *types.MsgCreat return nil, types.ErrEmptyCommitments } + if msg.NumberOfValidators == 0 { + return nil, types.ErrInvalidNumberOfValidators + } + commitments := types.Commitments{ Commitments: msg.Commitments, } @@ -40,9 +44,10 @@ func (k msgServer) CreateLatestPubKey(goCtx context.Context, msg *types.MsgCreat } var queuedPubKey = types.QueuedPubKey{ - Creator: msg.Creator, - PublicKey: msg.PublicKey, - Expiry: expHeight, + Creator: msg.Creator, + PublicKey: msg.PublicKey, + Expiry: expHeight, + NumberOfValidators: msg.NumberOfValidators, } k.SetQueuedCommitments( @@ -70,6 +75,7 @@ func (k msgServer) CreateLatestPubKey(goCtx context.Context, msg *types.MsgCreat sdk.NewAttribute(types.QueuedPubKeyCreatedEventExpiryHeight, strconv.FormatUint(expHeight, 10)), sdk.NewAttribute(types.QueuedPubKeyCreatedEventCreator, msg.Creator), sdk.NewAttribute(types.QueuedPubKeyCreatedEventPubkey, msg.PublicKey), + sdk.NewAttribute(types.QueuedPubKeyCreatedEventNumberOfValidators, strconv.FormatUint(msg.NumberOfValidators, 10)), ), ) diff --git a/x/keyshare/keeper/msg_server_send_keyshare.go b/x/keyshare/keeper/msg_server_send_keyshare.go index f630885c..9082a0b1 100644 --- a/x/keyshare/keeper/msg_server_send_keyshare.go +++ b/x/keyshare/keeper/msg_server_send_keyshare.go @@ -129,10 +129,17 @@ func (k msgServer) SendKeyshare(goCtx context.Context, msg *types.MsgSendKeyshar stateKeyShares = append(stateKeyShares, eachKeyShare) } + // Get the active public key for aggregating + activePubKey, found := k.GetActivePubKey(ctx) + + if !found { + return nil, types.ErrPubKeyNotFound + } + expectedThreshold := sdk.NewDecFromInt( sdk.NewInt(types.KeyAggregationThresholdNumerator)).Quo( sdk.NewDecFromInt(sdk.NewInt(types.KeyAggregationThresholdDenominator))).MulInt64( - int64(len(validatorList))).Ceil().TruncateInt64() + int64(activePubKey.NumberOfValidators)).Ceil().TruncateInt64() // Emit KeyShare Submitted Event ctx.EventManager().EmitEvent( @@ -162,13 +169,6 @@ func (k msgServer) SendKeyshare(goCtx context.Context, msg *types.MsgSendKeyshar }, nil } - // Get the active public key for aggregating - activePubKey, found := k.pepKeeper.GetActivePubKey(ctx) - - if !found { - return nil, types.ErrPubKeyNotFound - } - // Parse & append all the keyshare for aggregation var listOfShares []distIBE.ExtractedKey var listOfCommitment []distIBE.Commitment diff --git a/x/keyshare/module.go b/x/keyshare/module.go index 236d1947..48b6806c 100644 --- a/x/keyshare/module.go +++ b/x/keyshare/module.go @@ -207,7 +207,11 @@ func (am AppModule) BeginBlock(ctx sdk.Context, _ abci.RequestBeginBlock) { if foundQk { if qk.Expiry > height { am.keeper.SetActivePubKey(ctx, types.ActivePubKey(qk)) - am.pepKeeper.SetActivePubKey(ctx, peptypes.ActivePubKey(qk)) + am.pepKeeper.SetActivePubKey(ctx, peptypes.ActivePubKey{ + PublicKey: qk.PublicKey, + Creator: qk.Creator, + Expiry: qk.Expiry, + }) if foundQc { am.keeper.SetActiveCommitments(ctx, qc) } diff --git a/x/keyshare/types/errors.go b/x/keyshare/types/errors.go index 4d1d435f..e67313c9 100644 --- a/x/keyshare/types/errors.go +++ b/x/keyshare/types/errors.go @@ -32,7 +32,7 @@ var ( ErrInvalidCommitmentLength = sdkerrors.Register(ModuleName, 1122, "invalid commitment length") ErrInvalidVersion = sdkerrors.Register(ModuleName, 1123, "invalid version") ErrRequestNotFound = sdkerrors.Register(ModuleName, 1124, "no request found with this identity") - ErrNoAggregatedKeyshare = sdkerrors.Register(ModuleName, 1125, "aggregated keyshare has not been generated") + ErrInvalidNumberOfValidators = sdkerrors.Register(ModuleName, 1125, "invalid number of validators") ErrAddressAlreadyAuthorized = sdkerrors.Register(ModuleName, 1900, "address is already authorized") ErrAuthorizedAddrNotFound = sdkerrors.Register(ModuleName, 1901, "target authorized address not found") ErrNotAuthorizedAddrCreator = sdkerrors.Register(ModuleName, 1902, "sender is not the creator of target authorized address") diff --git a/x/keyshare/types/keys.go b/x/keyshare/types/keys.go index b19d8cf0..2380693d 100644 --- a/x/keyshare/types/keys.go +++ b/x/keyshare/types/keys.go @@ -83,6 +83,7 @@ const ( QueuedPubKeyCreatedEventExpiryHeight = "queued-pubkey-created-expiry-height" QueuedPubKeyCreatedEventCreator = "queued-pubkey-created-creator" QueuedPubKeyCreatedEventPubkey = "queued-pubkey-created-pubkey" + QueuedPubKeyCreatedEventNumberOfValidators = "number-of-validators" ) const ( diff --git a/x/keyshare/types/messages_latest_pub_key.go b/x/keyshare/types/messages_latest_pub_key.go index 4038a27a..4a634890 100644 --- a/x/keyshare/types/messages_latest_pub_key.go +++ b/x/keyshare/types/messages_latest_pub_key.go @@ -19,11 +19,13 @@ func NewMsgCreateLatestPubKey( creator string, publicKey string, commitments []string, + numberOfValidators uint64, ) *MsgCreateLatestPubKey { return &MsgCreateLatestPubKey{ - Creator: creator, - PublicKey: publicKey, - Commitments: commitments, + Creator: creator, + PublicKey: publicKey, + Commitments: commitments, + NumberOfValidators: numberOfValidators, } } @@ -67,5 +69,8 @@ func (msg *MsgCreateLatestPubKey) ValidateBasic() error { return ErrInvalidCommitment.Wrapf("expected hex encoded commitment, got: %s", c) } } + if msg.NumberOfValidators == 0 { + return ErrInvalidNumberOfValidators.Wrapf("expected at least 1 validator, got: %d", msg.NumberOfValidators) + } return nil } diff --git a/x/keyshare/types/pub_key.pb.go b/x/keyshare/types/pub_key.pb.go index 2a19ed1b..a6bf4223 100644 --- a/x/keyshare/types/pub_key.pb.go +++ b/x/keyshare/types/pub_key.pb.go @@ -23,9 +23,10 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type ActivePubKey struct { - PublicKey string `protobuf:"bytes,1,opt,name=publicKey,proto3" json:"publicKey,omitempty"` - Creator string `protobuf:"bytes,2,opt,name=creator,proto3" json:"creator,omitempty"` - Expiry uint64 `protobuf:"varint,3,opt,name=expiry,proto3" json:"expiry,omitempty"` + PublicKey string `protobuf:"bytes,1,opt,name=publicKey,proto3" json:"publicKey,omitempty"` + Creator string `protobuf:"bytes,2,opt,name=creator,proto3" json:"creator,omitempty"` + Expiry uint64 `protobuf:"varint,3,opt,name=expiry,proto3" json:"expiry,omitempty"` + NumberOfValidators uint64 `protobuf:"varint,4,opt,name=numberOfValidators,proto3" json:"numberOfValidators,omitempty"` } func (m *ActivePubKey) Reset() { *m = ActivePubKey{} } @@ -82,10 +83,18 @@ func (m *ActivePubKey) GetExpiry() uint64 { return 0 } +func (m *ActivePubKey) GetNumberOfValidators() uint64 { + if m != nil { + return m.NumberOfValidators + } + return 0 +} + type QueuedPubKey struct { - PublicKey string `protobuf:"bytes,1,opt,name=publicKey,proto3" json:"publicKey,omitempty"` - Creator string `protobuf:"bytes,2,opt,name=creator,proto3" json:"creator,omitempty"` - Expiry uint64 `protobuf:"varint,3,opt,name=expiry,proto3" json:"expiry,omitempty"` + PublicKey string `protobuf:"bytes,1,opt,name=publicKey,proto3" json:"publicKey,omitempty"` + Creator string `protobuf:"bytes,2,opt,name=creator,proto3" json:"creator,omitempty"` + Expiry uint64 `protobuf:"varint,3,opt,name=expiry,proto3" json:"expiry,omitempty"` + NumberOfValidators uint64 `protobuf:"varint,4,opt,name=numberOfValidators,proto3" json:"numberOfValidators,omitempty"` } func (m *QueuedPubKey) Reset() { *m = QueuedPubKey{} } @@ -142,6 +151,13 @@ func (m *QueuedPubKey) GetExpiry() uint64 { return 0 } +func (m *QueuedPubKey) GetNumberOfValidators() uint64 { + if m != nil { + return m.NumberOfValidators + } + return 0 +} + func init() { proto.RegisterType((*ActivePubKey)(nil), "fairyring.keyshare.ActivePubKey") proto.RegisterType((*QueuedPubKey)(nil), "fairyring.keyshare.QueuedPubKey") @@ -150,20 +166,21 @@ func init() { func init() { proto.RegisterFile("fairyring/keyshare/pub_key.proto", fileDescriptor_2c1c9675c7c2f3c4) } var fileDescriptor_2c1c9675c7c2f3c4 = []byte{ - // 195 bytes of a gzipped FileDescriptorProto + // 222 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x48, 0x4b, 0xcc, 0x2c, 0xaa, 0x2c, 0xca, 0xcc, 0x4b, 0xd7, 0xcf, 0x4e, 0xad, 0x2c, 0xce, 0x48, 0x2c, 0x4a, 0xd5, 0x2f, 0x28, 0x4d, 0x8a, 0xcf, 0x4e, 0xad, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x82, 0xab, - 0xd0, 0x83, 0xa9, 0x50, 0x8a, 0xe3, 0xe2, 0x71, 0x4c, 0x2e, 0xc9, 0x2c, 0x4b, 0x0d, 0x28, 0x4d, - 0xf2, 0x4e, 0xad, 0x14, 0x92, 0xe1, 0xe2, 0x2c, 0x28, 0x4d, 0xca, 0xc9, 0x4c, 0xf6, 0x4e, 0xad, - 0x94, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x0c, 0x42, 0x08, 0x08, 0x49, 0x70, 0xb1, 0x27, 0x17, 0xa5, - 0x26, 0x96, 0xe4, 0x17, 0x49, 0x30, 0x81, 0xe5, 0x60, 0x5c, 0x21, 0x31, 0x2e, 0xb6, 0xd4, 0x8a, - 0x82, 0xcc, 0xa2, 0x4a, 0x09, 0x66, 0x05, 0x46, 0x0d, 0x96, 0x20, 0x28, 0x0f, 0x64, 0x7e, 0x60, - 0x69, 0x6a, 0x69, 0x6a, 0x0a, 0x6d, 0xcc, 0x77, 0x32, 0x39, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, - 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x27, 0x3c, 0x96, 0x63, 0xb8, 0xf0, 0x58, 0x8e, 0xe1, 0xc6, - 0x63, 0x39, 0x86, 0x28, 0x29, 0x44, 0x78, 0x54, 0x20, 0x42, 0xa4, 0xa4, 0xb2, 0x20, 0xb5, 0x38, - 0x89, 0x0d, 0x1c, 0x20, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xee, 0xe6, 0x0d, 0x31, 0x34, - 0x01, 0x00, 0x00, + 0xd0, 0x83, 0xa9, 0x50, 0xea, 0x63, 0xe4, 0xe2, 0x71, 0x4c, 0x2e, 0xc9, 0x2c, 0x4b, 0x0d, 0x28, + 0x4d, 0xf2, 0x4e, 0xad, 0x14, 0x92, 0xe1, 0xe2, 0x2c, 0x28, 0x4d, 0xca, 0xc9, 0x4c, 0xf6, 0x4e, + 0xad, 0x94, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x0c, 0x42, 0x08, 0x08, 0x49, 0x70, 0xb1, 0x27, 0x17, + 0xa5, 0x26, 0x96, 0xe4, 0x17, 0x49, 0x30, 0x81, 0xe5, 0x60, 0x5c, 0x21, 0x31, 0x2e, 0xb6, 0xd4, + 0x8a, 0x82, 0xcc, 0xa2, 0x4a, 0x09, 0x66, 0x05, 0x46, 0x0d, 0x96, 0x20, 0x28, 0x4f, 0x48, 0x8f, + 0x4b, 0x28, 0xaf, 0x34, 0x37, 0x29, 0xb5, 0xc8, 0x3f, 0x2d, 0x2c, 0x31, 0x27, 0x33, 0x05, 0xa4, + 0xb8, 0x58, 0x82, 0x05, 0xac, 0x06, 0x8b, 0x0c, 0xd8, 0x41, 0x81, 0xa5, 0xa9, 0xa5, 0xa9, 0x29, + 0x83, 0xc3, 0x41, 0x4e, 0x26, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, + 0x1c, 0xe3, 0x84, 0xc7, 0x72, 0x0c, 0x17, 0x1e, 0xcb, 0x31, 0xdc, 0x78, 0x2c, 0xc7, 0x10, 0x25, + 0x85, 0x08, 0xf1, 0x0a, 0x44, 0x98, 0x97, 0x54, 0x16, 0xa4, 0x16, 0x27, 0xb1, 0x81, 0x83, 0xdc, + 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0x33, 0x3c, 0xf2, 0x55, 0x96, 0x01, 0x00, 0x00, } func (m *ActivePubKey) Marshal() (dAtA []byte, err error) { @@ -186,6 +203,11 @@ func (m *ActivePubKey) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.NumberOfValidators != 0 { + i = encodeVarintPubKey(dAtA, i, uint64(m.NumberOfValidators)) + i-- + dAtA[i] = 0x20 + } if m.Expiry != 0 { i = encodeVarintPubKey(dAtA, i, uint64(m.Expiry)) i-- @@ -228,6 +250,11 @@ func (m *QueuedPubKey) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.NumberOfValidators != 0 { + i = encodeVarintPubKey(dAtA, i, uint64(m.NumberOfValidators)) + i-- + dAtA[i] = 0x20 + } if m.Expiry != 0 { i = encodeVarintPubKey(dAtA, i, uint64(m.Expiry)) i-- @@ -278,6 +305,9 @@ func (m *ActivePubKey) Size() (n int) { if m.Expiry != 0 { n += 1 + sovPubKey(uint64(m.Expiry)) } + if m.NumberOfValidators != 0 { + n += 1 + sovPubKey(uint64(m.NumberOfValidators)) + } return n } @@ -298,6 +328,9 @@ func (m *QueuedPubKey) Size() (n int) { if m.Expiry != 0 { n += 1 + sovPubKey(uint64(m.Expiry)) } + if m.NumberOfValidators != 0 { + n += 1 + sovPubKey(uint64(m.NumberOfValidators)) + } return n } @@ -419,6 +452,25 @@ func (m *ActivePubKey) Unmarshal(dAtA []byte) error { break } } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NumberOfValidators", wireType) + } + m.NumberOfValidators = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPubKey + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NumberOfValidators |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipPubKey(dAtA[iNdEx:]) @@ -552,6 +604,25 @@ func (m *QueuedPubKey) Unmarshal(dAtA []byte) error { break } } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NumberOfValidators", wireType) + } + m.NumberOfValidators = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPubKey + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NumberOfValidators |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipPubKey(dAtA[iNdEx:]) diff --git a/x/keyshare/types/tx.pb.go b/x/keyshare/types/tx.pb.go index 65309da5..41355c5d 100644 --- a/x/keyshare/types/tx.pb.go +++ b/x/keyshare/types/tx.pb.go @@ -277,9 +277,10 @@ func (m *MsgSendKeyshareResponse) GetErrorMessage() string { // this line is used by starport scaffolding # proto/tx/message type MsgCreateLatestPubKey struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - PublicKey string `protobuf:"bytes,2,opt,name=publicKey,proto3" json:"publicKey,omitempty"` - Commitments []string `protobuf:"bytes,3,rep,name=commitments,proto3" json:"commitments,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + PublicKey string `protobuf:"bytes,2,opt,name=publicKey,proto3" json:"publicKey,omitempty"` + Commitments []string `protobuf:"bytes,3,rep,name=commitments,proto3" json:"commitments,omitempty"` + NumberOfValidators uint64 `protobuf:"varint,4,opt,name=numberOfValidators,proto3" json:"numberOfValidators,omitempty"` } func (m *MsgCreateLatestPubKey) Reset() { *m = MsgCreateLatestPubKey{} } @@ -336,6 +337,13 @@ func (m *MsgCreateLatestPubKey) GetCommitments() []string { return nil } +func (m *MsgCreateLatestPubKey) GetNumberOfValidators() uint64 { + if m != nil { + return m.NumberOfValidators + } + return 0 +} + type MsgCreateLatestPubKeyResponse struct { } @@ -856,52 +864,53 @@ func init() { func init() { proto.RegisterFile("fairyring/keyshare/tx.proto", fileDescriptor_1f96ac6a55f1845c) } var fileDescriptor_1f96ac6a55f1845c = []byte{ - // 718 bytes of a gzipped FileDescriptorProto + // 736 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x56, 0x4d, 0x6f, 0xd3, 0x40, 0x10, 0xad, 0x93, 0x36, 0x49, 0x87, 0x22, 0x54, 0x43, 0x5b, 0xcb, 0x94, 0x10, 0x99, 0x1e, 0x02, - 0x54, 0x69, 0x81, 0x0a, 0x71, 0x6d, 0x41, 0x02, 0x14, 0x82, 0x90, 0x5b, 0x7a, 0xe0, 0x52, 0x1c, - 0x7b, 0x70, 0x57, 0xf9, 0xb0, 0xd9, 0xdd, 0xa0, 0x1a, 0x4e, 0x9c, 0xe0, 0x82, 0xc4, 0x4f, 0xe0, - 0xe7, 0x70, 0xec, 0x05, 0x89, 0x23, 0x6a, 0xff, 0x08, 0xb2, 0xb3, 0x76, 0x9d, 0xc6, 0xeb, 0x26, - 0x12, 0x12, 0xb7, 0xcc, 0xec, 0xdb, 0x99, 0xb7, 0x13, 0xbf, 0xb7, 0x0b, 0xd7, 0xdf, 0x59, 0x84, - 0x06, 0x94, 0xf4, 0xdd, 0x8d, 0x0e, 0x06, 0xec, 0xd0, 0xa2, 0xb8, 0xc1, 0x8f, 0x1a, 0x3e, 0xf5, - 0xb8, 0xa7, 0xaa, 0xc9, 0x62, 0x23, 0x5e, 0xd4, 0xef, 0x64, 0x6c, 0x70, 0xb1, 0x8f, 0xd4, 0xea, - 0x1e, 0x74, 0x30, 0x38, 0x88, 0x32, 0xc3, 0xfd, 0xc6, 0x26, 0x5c, 0x6b, 0x31, 0xd7, 0x44, 0x97, - 0x30, 0x8e, 0x74, 0xdf, 0xea, 0x12, 0xc7, 0xe2, 0x1e, 0x55, 0x35, 0x28, 0xdb, 0x14, 0xc3, 0x9f, - 0x9a, 0x52, 0x53, 0xea, 0xf3, 0x66, 0x1c, 0x1a, 0x8f, 0x60, 0x35, 0x6b, 0x87, 0x89, 0xcc, 0xf7, - 0xfa, 0x0c, 0x73, 0x76, 0x7e, 0x53, 0xe0, 0x4a, 0x8b, 0xb9, 0xbb, 0xd8, 0x77, 0x9a, 0x82, 0x97, - 0x1c, 0x1d, 0xae, 0xf4, 0x90, 0x31, 0xcb, 0x45, 0xad, 0x30, 0x5c, 0x11, 0xa1, 0xba, 0x06, 0x97, - 0x3b, 0x18, 0xec, 0x86, 0xfb, 0x9f, 0xf7, 0x1d, 0x3c, 0xd2, 0x8a, 0x35, 0xa5, 0x3e, 0x6b, 0x8e, - 0x26, 0xd5, 0x1a, 0x5c, 0x6a, 0x77, 0x3d, 0xbb, 0xf3, 0x0c, 0x89, 0x7b, 0xc8, 0xb5, 0xd9, 0x08, - 0x93, 0x4e, 0x19, 0x5f, 0x0a, 0xb0, 0x72, 0x8e, 0xcf, 0xc5, 0xa7, 0x50, 0x75, 0xa8, 0xc4, 0x53, - 0x15, 0xc4, 0x92, 0x58, 0x30, 0x63, 0x59, 0xcc, 0xd8, 0x14, 0xcc, 0xd4, 0x4d, 0xb8, 0x4a, 0xd1, - 0x46, 0xf2, 0x01, 0x9d, 0x9d, 0x14, 0x72, 0x2e, 0x42, 0x66, 0x2d, 0x85, 0x7c, 0xd9, 0xc0, 0xb6, - 0x91, 0x31, 0xad, 0x54, 0x53, 0xea, 0x15, 0x33, 0x0e, 0x55, 0x03, 0x16, 0x90, 0x52, 0x8f, 0xb6, - 0xc4, 0x30, 0xcb, 0x11, 0xe7, 0x91, 0x9c, 0xf1, 0x1e, 0x96, 0x5a, 0xcc, 0x7d, 0x1c, 0x9e, 0x10, - 0x5f, 0x58, 0x1c, 0x19, 0x7f, 0x35, 0x68, 0x37, 0x31, 0xc8, 0x19, 0xc3, 0x2a, 0xcc, 0xfb, 0x83, - 0x76, 0x97, 0xd8, 0x4d, 0x0c, 0xc4, 0x1c, 0xce, 0x12, 0xe1, 0x11, 0x6d, 0xaf, 0xd7, 0x23, 0xbc, - 0x87, 0x7d, 0xce, 0xb4, 0x62, 0xad, 0x58, 0x9f, 0x37, 0xd3, 0x29, 0xe3, 0x26, 0xdc, 0xc8, 0x6c, - 0x19, 0xff, 0x03, 0xc6, 0x4b, 0xd0, 0x13, 0xc0, 0xf6, 0x80, 0x1f, 0x7a, 0x94, 0x7c, 0x44, 0x67, - 0xdb, 0x71, 0x68, 0x78, 0xaa, 0x65, 0x28, 0x71, 0x8b, 0xba, 0xc8, 0x05, 0x2f, 0x11, 0xa5, 0x09, - 0x17, 0x46, 0xbf, 0xbe, 0x35, 0x30, 0xe4, 0xf5, 0x92, 0xae, 0x34, 0xea, 0xfa, 0xda, 0x77, 0xa6, - 0xea, 0x6a, 0xc0, 0x02, 0x61, 0x67, 0xf0, 0xa8, 0x75, 0xc5, 0x1c, 0xc9, 0xa5, 0x99, 0x15, 0xb3, - 0x98, 0x49, 0x7a, 0x9e, 0x9b, 0xc7, 0x13, 0xec, 0xe2, 0xbf, 0x9c, 0x87, 0xa4, 0x5e, 0xd2, 0xf5, - 0x6b, 0x01, 0xb4, 0x64, 0x6c, 0x4f, 0x87, 0x26, 0xd2, 0x14, 0x3a, 0xcb, 0xf9, 0x3a, 0x96, 0xa1, - 0x44, 0x9c, 0xbd, 0xc0, 0x8f, 0x25, 0x22, 0xa2, 0x70, 0x07, 0x71, 0xf6, 0xad, 0xee, 0x00, 0xe3, - 0x21, 0x88, 0x50, 0xc8, 0x2a, 0xaa, 0x1b, 0x29, 0x62, 0x28, 0xab, 0xdd, 0x94, 0xac, 0x52, 0x82, - 0x9f, 0xcb, 0x12, 0xfc, 0x3a, 0x2c, 0xc6, 0xca, 0xd8, 0x23, 0x3d, 0x64, 0xdc, 0xea, 0xf9, 0x91, - 0x18, 0x66, 0xcd, 0xf1, 0x05, 0x99, 0xc4, 0xca, 0x52, 0x89, 0x19, 0x3f, 0x0a, 0x50, 0x93, 0x8d, - 0x62, 0x02, 0xdf, 0xf8, 0x1f, 0x23, 0x91, 0x1c, 0xb2, 0x34, 0x91, 0x8f, 0x94, 0xf3, 0x7d, 0xa4, - 0x32, 0xee, 0x23, 0xf7, 0x7f, 0x95, 0xa0, 0xd8, 0x62, 0xae, 0xea, 0xc1, 0xe2, 0xf8, 0x95, 0x52, - 0x6f, 0x8c, 0xdf, 0x55, 0x8d, 0xac, 0xab, 0x44, 0xdf, 0x9c, 0x14, 0x99, 0x8c, 0xfd, 0x2d, 0x2c, - 0x8c, 0x5c, 0x2b, 0xb7, 0x24, 0x15, 0xd2, 0x20, 0xfd, 0xee, 0x04, 0xa0, 0xa4, 0x03, 0x05, 0x35, - 0xc3, 0x1f, 0x6f, 0x4b, 0x4a, 0x8c, 0x43, 0xf5, 0x7b, 0x13, 0x43, 0x93, 0x9e, 0x9f, 0x15, 0x58, - 0x91, 0x19, 0x60, 0x23, 0xb7, 0xdc, 0x18, 0x5e, 0x7f, 0x38, 0x1d, 0x7e, 0x84, 0x83, 0xcc, 0x0e, - 0x65, 0x1c, 0x24, 0x78, 0x29, 0x87, 0x0b, 0xac, 0x2f, 0xe2, 0x20, 0x33, 0x3e, 0x19, 0x07, 0x09, - 0x5e, 0xca, 0xe1, 0x02, 0x23, 0x54, 0x3f, 0xc1, 0x52, 0xb6, 0x09, 0xae, 0xe7, 0x0e, 0xf6, 0x1c, - 0x5a, 0xdf, 0x9a, 0x06, 0x1d, 0x37, 0xdf, 0xd9, 0xfa, 0x79, 0x52, 0x55, 0x8e, 0x4f, 0xaa, 0xca, - 0x9f, 0x93, 0xaa, 0xf2, 0xfd, 0xb4, 0x3a, 0x73, 0x7c, 0x5a, 0x9d, 0xf9, 0x7d, 0x5a, 0x9d, 0x79, - 0xa3, 0x9f, 0xbd, 0xf5, 0x8e, 0x52, 0xcf, 0xc3, 0xc0, 0x47, 0xd6, 0x2e, 0x45, 0x4f, 0xbc, 0x07, - 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x6a, 0x55, 0x7d, 0x2d, 0x41, 0x0a, 0x00, 0x00, + 0x54, 0x69, 0x81, 0x0a, 0x71, 0x6d, 0x41, 0x02, 0x14, 0x02, 0xc8, 0x2d, 0x3d, 0x70, 0x29, 0x8e, + 0x3d, 0x75, 0xad, 0xc4, 0x1f, 0xda, 0xdd, 0xa0, 0x1a, 0x4e, 0x9c, 0xe0, 0x82, 0xc4, 0x4f, 0x80, + 0x7f, 0xc3, 0xb1, 0x17, 0x24, 0x8e, 0xa8, 0xfd, 0x23, 0xc8, 0xce, 0xda, 0x75, 0x1a, 0x6f, 0x3e, + 0x24, 0x24, 0x6e, 0x99, 0x99, 0xb7, 0x3b, 0x6f, 0x5f, 0x76, 0xde, 0x1a, 0xae, 0x1f, 0x1a, 0x0e, + 0x09, 0x89, 0xe3, 0xd9, 0x1b, 0x1d, 0x0c, 0xe9, 0x91, 0x41, 0x70, 0x83, 0x1d, 0x37, 0x02, 0xe2, + 0x33, 0x5f, 0x96, 0xd3, 0x62, 0x23, 0x29, 0xaa, 0x77, 0x72, 0x16, 0xd8, 0xe8, 0x21, 0x31, 0xba, + 0x07, 0x1d, 0x0c, 0x0f, 0xe2, 0x4c, 0x7f, 0xbd, 0xb6, 0x09, 0xd7, 0x5a, 0xd4, 0xd6, 0xd1, 0x76, + 0x28, 0x43, 0xb2, 0x6f, 0x74, 0x1d, 0xcb, 0x60, 0x3e, 0x91, 0x15, 0x28, 0x9b, 0x04, 0xa3, 0x9f, + 0x8a, 0x54, 0x93, 0xea, 0xf3, 0x7a, 0x12, 0x6a, 0x8f, 0x60, 0x35, 0x6f, 0x85, 0x8e, 0x34, 0xf0, + 0x3d, 0x8a, 0x23, 0x56, 0x7e, 0x95, 0xe0, 0x4a, 0x8b, 0xda, 0xbb, 0xe8, 0x59, 0x4d, 0xce, 0x4b, + 0x8c, 0x8e, 0x2a, 0x2e, 0x52, 0x6a, 0xd8, 0xa8, 0x14, 0xfa, 0x15, 0x1e, 0xca, 0x6b, 0x70, 0xb9, + 0x83, 0xe1, 0x6e, 0xb4, 0xfe, 0xb9, 0x67, 0xe1, 0xb1, 0x52, 0xac, 0x49, 0xf5, 0x59, 0x7d, 0x30, + 0x29, 0xd7, 0xe0, 0x52, 0xbb, 0xeb, 0x9b, 0x9d, 0x67, 0xe8, 0xd8, 0x47, 0x4c, 0x99, 0x8d, 0x31, + 0xd9, 0x94, 0xf6, 0xb9, 0x00, 0x2b, 0x17, 0xf8, 0x8c, 0x3f, 0x85, 0xac, 0x42, 0x25, 0x51, 0x95, + 0x13, 0x4b, 0x63, 0xce, 0x8c, 0xe6, 0x31, 0xa3, 0x53, 0x30, 0x93, 0x37, 0xe1, 0x2a, 0x41, 0x13, + 0x9d, 0xf7, 0x68, 0xed, 0x64, 0x90, 0x73, 0x31, 0x32, 0xaf, 0x14, 0xf1, 0xa5, 0x3d, 0xd3, 0x44, + 0x4a, 0x95, 0x52, 0x4d, 0xaa, 0x57, 0xf4, 0x24, 0x94, 0x35, 0x58, 0x40, 0x42, 0x7c, 0xd2, 0xe2, + 0x62, 0x96, 0x63, 0xce, 0x03, 0x39, 0xed, 0x87, 0x04, 0x4b, 0x2d, 0x6a, 0x3f, 0x8e, 0x8e, 0x88, + 0x2f, 0x0c, 0x86, 0x94, 0xbd, 0xee, 0xb5, 0x9b, 0x18, 0x8e, 0xd0, 0x61, 0x15, 0xe6, 0x83, 0x5e, + 0xbb, 0xeb, 0x98, 0x4d, 0x0c, 0xb9, 0x10, 0xe7, 0x89, 0xe8, 0x8c, 0xa6, 0xef, 0xba, 0x0e, 0x73, + 0xd1, 0x63, 0x54, 0x29, 0xd6, 0x8a, 0xf5, 0x79, 0x3d, 0x9b, 0x92, 0x1b, 0x20, 0x7b, 0x3d, 0xb7, + 0x8d, 0xe4, 0xd5, 0x61, 0x7a, 0x89, 0x28, 0x17, 0x23, 0xa7, 0xa2, 0xdd, 0x84, 0x1b, 0xb9, 0x14, + 0x93, 0xbf, 0x4c, 0x7b, 0x09, 0x6a, 0x0a, 0xd8, 0xee, 0xb1, 0x23, 0x9f, 0x38, 0x1f, 0xd0, 0xda, + 0xb6, 0x2c, 0x12, 0xc9, 0xb0, 0x0c, 0x25, 0x66, 0x10, 0x1b, 0x19, 0x3f, 0x07, 0x8f, 0xb2, 0x07, + 0x2c, 0x0c, 0x5e, 0xd7, 0x35, 0xd0, 0xc4, 0xfb, 0xa5, 0x5d, 0x49, 0xdc, 0xf5, 0x4d, 0x60, 0x4d, + 0xd5, 0x55, 0x83, 0x05, 0x87, 0x9e, 0xc3, 0xe3, 0xd6, 0x15, 0x7d, 0x20, 0x97, 0x65, 0x56, 0xcc, + 0x63, 0x26, 0xe8, 0x79, 0x41, 0x8f, 0x27, 0xd8, 0xc5, 0x7f, 0xa9, 0x87, 0x60, 0xbf, 0xb4, 0xeb, + 0x97, 0x02, 0x28, 0xa9, 0x6c, 0x4f, 0xfb, 0xae, 0xd3, 0xe4, 0x83, 0x39, 0xe2, 0x36, 0x2d, 0x43, + 0xc9, 0xb1, 0xf6, 0xc2, 0x20, 0x99, 0x29, 0x1e, 0x45, 0x2b, 0x1c, 0x6b, 0xdf, 0xe8, 0xf6, 0x30, + 0x11, 0x81, 0x87, 0x7c, 0x0e, 0xe3, 0x7d, 0xe3, 0x5b, 0xd3, 0x9f, 0xc3, 0xdd, 0xcc, 0x1c, 0x66, + 0x1c, 0x62, 0x2e, 0xcf, 0x21, 0xd6, 0x61, 0x31, 0x19, 0xa5, 0x3d, 0xc7, 0x45, 0xca, 0x0c, 0x37, + 0x88, 0xa7, 0x67, 0x56, 0x1f, 0x2e, 0x88, 0x66, 0xb2, 0x2c, 0x9c, 0x49, 0xed, 0x7b, 0x01, 0x6a, + 0x22, 0x29, 0x26, 0x30, 0x9a, 0xff, 0x21, 0x89, 0xe0, 0x90, 0xa5, 0x89, 0x8c, 0xa7, 0x3c, 0xda, + 0x78, 0x2a, 0xc3, 0xc6, 0x73, 0xff, 0x57, 0x09, 0x8a, 0x2d, 0x6a, 0xcb, 0x3e, 0x2c, 0x0e, 0xbf, + 0x41, 0xf5, 0xc6, 0xf0, 0xe3, 0xd6, 0xc8, 0x7b, 0x7b, 0xd4, 0xcd, 0x49, 0x91, 0xa9, 0xec, 0xef, + 0x60, 0x61, 0xe0, 0x1d, 0xba, 0x25, 0xd8, 0x21, 0x0b, 0x52, 0xef, 0x4e, 0x00, 0x4a, 0x3b, 0x10, + 0x90, 0x73, 0xfc, 0xf4, 0xb6, 0x60, 0x8b, 0x61, 0xa8, 0x7a, 0x6f, 0x62, 0x68, 0xda, 0xf3, 0x93, + 0x04, 0x2b, 0x22, 0x03, 0x6c, 0x8c, 0xdc, 0x6e, 0x08, 0xaf, 0x3e, 0x9c, 0x0e, 0x3f, 0xc0, 0x41, + 0x64, 0x87, 0x22, 0x0e, 0x02, 0xbc, 0x90, 0xc3, 0x18, 0xeb, 0x8b, 0x39, 0x88, 0x8c, 0x4f, 0xc4, + 0x41, 0x80, 0x17, 0x72, 0x18, 0x63, 0x84, 0xf2, 0x47, 0x58, 0xca, 0x37, 0xc1, 0xf5, 0x91, 0xc2, + 0x5e, 0x40, 0xab, 0x5b, 0xd3, 0xa0, 0x93, 0xe6, 0x3b, 0x5b, 0x3f, 0x4f, 0xab, 0xd2, 0xc9, 0x69, + 0x55, 0xfa, 0x73, 0x5a, 0x95, 0xbe, 0x9d, 0x55, 0x67, 0x4e, 0xce, 0xaa, 0x33, 0xbf, 0xcf, 0xaa, + 0x33, 0x6f, 0xd5, 0xf3, 0x8f, 0xc3, 0xe3, 0xcc, 0xf7, 0x64, 0x18, 0x20, 0x6d, 0x97, 0xe2, 0x6f, + 0xc2, 0x07, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x9e, 0xfa, 0x8b, 0x50, 0x72, 0x0a, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1398,6 +1407,11 @@ func (m *MsgCreateLatestPubKey) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.NumberOfValidators != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.NumberOfValidators)) + i-- + dAtA[i] = 0x20 + } if len(m.Commitments) > 0 { for iNdEx := len(m.Commitments) - 1; iNdEx >= 0; iNdEx-- { i -= len(m.Commitments[iNdEx]) @@ -1894,6 +1908,9 @@ func (m *MsgCreateLatestPubKey) Size() (n int) { n += 1 + l + sovTx(uint64(l)) } } + if m.NumberOfValidators != 0 { + n += 1 + sovTx(uint64(m.NumberOfValidators)) + } return n } @@ -2729,6 +2746,25 @@ func (m *MsgCreateLatestPubKey) Unmarshal(dAtA []byte) error { } m.Commitments = append(m.Commitments, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NumberOfValidators", wireType) + } + m.NumberOfValidators = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NumberOfValidators |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) From 95b3322deed9752e403a494337c5334a02741ca1 Mon Sep 17 00:00:00 2001 From: p0p3yee Date: Tue, 5 Mar 2024 10:27:57 -0500 Subject: [PATCH 2/3] Fix tests error --- scripts/tests/keyshare.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/tests/keyshare.sh b/scripts/tests/keyshare.sh index 48286d02..f395f047 100755 --- a/scripts/tests/keyshare.sh +++ b/scripts/tests/keyshare.sh @@ -77,7 +77,7 @@ PUB_KEY=$(echo "$GENERATED_RESULT" | jq -r '.MasterPublicKey') COMMITS=$(echo "$GENERATED_RESULT" | jq -r '.Commitments[0]') echo "Trusted address submit pub key on chain fairyring_test_1" -RESULT=$($BINARY tx keyshare create-latest-pub-key $PUB_KEY $COMMITS --from $VALIDATOR_1 --gas-prices 1ufairy --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node tcp://localhost:16657 --broadcast-mode sync --keyring-backend test -o json -y) +RESULT=$($BINARY tx keyshare create-latest-pub-key $PUB_KEY $COMMITS 1 --from $VALIDATOR_1 --gas-prices 1ufairy --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node tcp://localhost:16657 --broadcast-mode sync --keyring-backend test -o json -y) check_tx_code $RESULT RESULT=$(wait_for_tx $RESULT) VALIDATOR_ADDR=$(echo "$RESULT" | jq -r '.logs[0].events[1].attributes[2].value') @@ -89,7 +89,7 @@ fi echo "Not trusted address submit pub key on chain fairyring_test_1" -RESULT=$($BINARY tx keyshare create-latest-pub-key $PUB_KEY $COMMITS --from $WALLET_1 --gas-prices 1ufairy --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node tcp://localhost:16657 --broadcast-mode sync --keyring-backend test -o json -y) +RESULT=$($BINARY tx keyshare create-latest-pub-key $PUB_KEY $COMMITS 1 --from $WALLET_1 --gas-prices 1ufairy --home $CHAIN_DIR/$CHAINID_1 --chain-id $CHAINID_1 --node tcp://localhost:16657 --broadcast-mode sync --keyring-backend test -o json -y) check_tx_code $RESULT RESULT=$(wait_for_tx $RESULT) ERROR_MSG=$(echo "$RESULT" | jq -r '.raw_log') From fbefd51d375fd1f0b2c857ef2b6c32d78d3dfe79 Mon Sep 17 00:00:00 2001 From: p0p3yee Date: Tue, 5 Mar 2024 10:36:27 -0500 Subject: [PATCH 3/3] Update general keyshare to check threshold with pubkey number of validators --- go.mod | 42 ++++----- go.sum | 88 ++++++++++--------- .../keeper/msg_server_general_key_share.go | 16 ++-- 3 files changed, 75 insertions(+), 71 deletions(-) diff --git a/go.mod b/go.mod index bce530a4..127fde93 100644 --- a/go.mod +++ b/go.mod @@ -32,14 +32,14 @@ require ( github.com/tendermint/tendermint v0.35.9 golang.org/x/tools v0.9.1 google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d - google.golang.org/grpc v1.58.3 + google.golang.org/grpc v1.59.0 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 google.golang.org/protobuf v1.31.0 gopkg.in/yaml.v2 v2.4.0 ) require ( - cloud.google.com/go v0.110.6 // indirect + cloud.google.com/go v0.110.7 // indirect cloud.google.com/go/compute v1.23.0 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect cloud.google.com/go/iam v1.1.1 // indirect @@ -55,7 +55,7 @@ require ( github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect github.com/CosmWasm/wasmvm v1.5.0 // indirect - github.com/Microsoft/go-winio v0.6.0 // indirect + github.com/Microsoft/go-winio v0.6.1 // indirect github.com/aws/aws-sdk-go v1.44.203 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect @@ -73,8 +73,8 @@ require ( github.com/cockroachdb/redact v1.1.5 // indirect github.com/coinbase/rosetta-sdk-go/types v1.0.0 // indirect github.com/confio/ics23/go v0.9.0 // indirect - github.com/containerd/containerd v1.6.8 // indirect - github.com/containerd/typeurl v1.0.2 // indirect + github.com/containerd/containerd v1.7.2 // indirect + github.com/containerd/typeurl/v2 v2.1.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect @@ -92,12 +92,12 @@ require ( github.com/dgraph-io/ristretto v0.1.1 // indirect github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect github.com/docker/distribution v2.8.2+incompatible // indirect - github.com/docker/docker v20.10.19+incompatible // indirect + github.com/docker/docker v24.0.0-rc.2.0.20230718135204-8e51b8b59cb8+incompatible // indirect github.com/docker/go-connections v0.4.0 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect - github.com/dvsekhvalnov/jose2go v1.5.1-0.20231206184617-48ba0b76bc88 // indirect - github.com/felixge/httpsnoop v1.0.2 // indirect + github.com/dvsekhvalnov/jose2go v1.6.0 // indirect + github.com/felixge/httpsnoop v1.0.3 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/getsentry/sentry-go v0.23.0 // indirect github.com/ghodss/yaml v1.0.0 // indirect @@ -105,22 +105,22 @@ require ( github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect - github.com/go-logr/logr v1.2.3 // indirect + github.com/go-logr/logr v1.3.0 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gofrs/flock v0.8.1 // indirect github.com/gofrs/uuid v4.3.0+incompatible // indirect github.com/gogo/googleapis v1.4.1 // indirect github.com/gogo/protobuf v1.3.3 // indirect - github.com/golang/glog v1.1.0 // indirect + github.com/golang/glog v1.1.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/btree v1.1.2 // indirect - github.com/google/go-cmp v0.5.9 // indirect + github.com/google/go-cmp v0.6.0 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/orderedcode v0.0.1 // indirect github.com/google/s2a-go v0.1.4 // indirect - github.com/google/uuid v1.3.0 // indirect + github.com/google/uuid v1.3.1 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect github.com/googleapis/gax-go/v2 v2.11.0 // indirect github.com/gorilla/handlers v1.5.1 // indirect @@ -145,7 +145,7 @@ require ( github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jmhodges/levigo v1.0.0 // indirect github.com/kilic/bls12-381 v0.1.0 // indirect - github.com/klauspost/compress v1.16.5 // indirect + github.com/klauspost/compress v1.17.2 // indirect github.com/klauspost/pgzip v1.2.5 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/kr/text v0.2.0 // indirect @@ -162,12 +162,12 @@ require ( github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/moby/buildkit v0.10.4 // indirect + github.com/moby/buildkit v0.12.5 // indirect github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae // indirect github.com/morikuni/aec v1.0.0 // indirect github.com/mtibben/percent v0.2.1 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/opencontainers/image-spec v1.1.0-rc2 // indirect + github.com/opencontainers/image-spec v1.1.0-rc3 // indirect github.com/pelletier/go-toml/v2 v2.0.8 // indirect github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 // indirect github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect @@ -179,13 +179,12 @@ require ( github.com/prometheus/procfs v0.10.1 // indirect github.com/rakyll/statik v0.1.7 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect - github.com/regen-network/cosmos-proto v0.3.1 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/rs/cors v1.9.0 // indirect github.com/rs/zerolog v1.30.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect - github.com/sirupsen/logrus v1.9.0 // indirect + github.com/sirupsen/logrus v1.9.3 // indirect github.com/spf13/afero v1.9.5 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/viper v1.16.0 // indirect @@ -198,9 +197,10 @@ require ( github.com/zondax/ledger-go v0.14.1 // indirect go.etcd.io/bbolt v1.3.7 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3 // indirect - go.opentelemetry.io/otel v1.11.0 // indirect - go.opentelemetry.io/otel/trace v1.11.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.0 // indirect + go.opentelemetry.io/otel v1.20.0 // indirect + go.opentelemetry.io/otel/metric v1.20.0 // indirect + go.opentelemetry.io/otel/trace v1.20.0 // indirect go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.8.0 // indirect go.uber.org/zap v1.23.0 // indirect @@ -216,7 +216,7 @@ require ( golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/api v0.126.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 // indirect + google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index 602939e4..524ccdbd 100644 --- a/go.sum +++ b/go.sum @@ -36,8 +36,8 @@ cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w9 cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= -cloud.google.com/go v0.110.6 h1:8uYAkj3YHTP/1iwReuHPxLSbdcyc+dSBbzFMrVwDR6Q= -cloud.google.com/go v0.110.6/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= +cloud.google.com/go v0.110.7 h1:rJyC7nWRg2jWGZ4wSJ5nY65GTdYJkg0cd/uXb+ACI6o= +cloud.google.com/go v0.110.7/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= @@ -254,8 +254,8 @@ github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF0 github.com/Masterminds/sprig v2.15.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= -github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= -github.com/Microsoft/go-winio v0.6.0/go.mod h1:cTAf44im0RAYeL23bpB+fzCyDH2MJiz2BO69KH/soAE= +github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= +github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= @@ -420,12 +420,13 @@ github.com/cometbft/cometbft-db v0.8.0/go.mod h1:6ASCP4pfhmrCBpfk01/9E1SI29nD3Hf github.com/confio/ics23/go v0.9.0 h1:cWs+wdbS2KRPZezoaaj+qBleXgUk5WOQFMP3CQFGTr4= github.com/confio/ics23/go v0.9.0/go.mod h1:4LPZ2NYqnYIVRklaozjNR1FScgDJ2s5Xrp+e/mYVRak= github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= -github.com/containerd/containerd v1.6.8 h1:h4dOFDwzHmqFEP754PgfgTeVXFnLiRc6kiqC7tplDJs= -github.com/containerd/containerd v1.6.8/go.mod h1:By6p5KqPK0/7/CgO/A6t/Gz+CUYUu2zf1hUaaymVXB0= -github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= +github.com/containerd/containerd v1.7.2 h1:UF2gdONnxO8I6byZXDi5sXWiWvlW3D/sci7dTQimEJo= +github.com/containerd/containerd v1.7.2/go.mod h1:afcz74+K10M/+cjGHIVQrCt3RAQhUSCAjJ9iMYhhkuI= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= -github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY= -github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= +github.com/containerd/continuity v0.4.1 h1:wQnVrjIyQ8vhU2sgOiL5T07jo+ouqc2bnKsv5/EqGhU= +github.com/containerd/continuity v0.4.1/go.mod h1:F6PTNCKepoxEaXLQp3wDAjygEnImnZ/7o4JzpodfroQ= +github.com/containerd/typeurl/v2 v2.1.1 h1:3Q4Pt7i8nYwy2KmQWIw2+1hTvwTE/6w9FqcttATPO/4= +github.com/containerd/typeurl/v2 v2.1.1/go.mod h1:IDp2JFvbwZ31H8dQbEIY7sDl2L3o3HZj1hsSQlywkQ0= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= @@ -510,8 +511,8 @@ github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m3 github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v20.10.7+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.17+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v20.10.19+incompatible h1:lzEmjivyNHFHMNAFLXORMBXyGIhw/UP4DvJwvyKYq64= -github.com/docker/docker v20.10.19+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v24.0.0-rc.2.0.20230718135204-8e51b8b59cb8+incompatible h1:qMc+sk+l2GSLokgRA1uuKgkUVQ/vhAm4LYHC5rtSMq0= +github.com/docker/docker v24.0.0-rc.2.0.20230718135204-8e51b8b59cb8+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= @@ -525,8 +526,8 @@ github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:Htrtb github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= -github.com/dvsekhvalnov/jose2go v1.5.1-0.20231206184617-48ba0b76bc88 h1:y87odSHhV8WSSnjuFYC+K2V6LpZtEVcjmVWxtUkXZiQ= -github.com/dvsekhvalnov/jose2go v1.5.1-0.20231206184617-48ba0b76bc88/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= +github.com/dvsekhvalnov/jose2go v1.6.0 h1:Y9gnSnP4qEI0+/uQkHvFXeD2PLPJeXEL+ySMEA2EjTY= +github.com/dvsekhvalnov/jose2go v1.6.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= @@ -559,8 +560,8 @@ github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGE github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= -github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk= +github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIga8MAO/xbKdcVsGI= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= @@ -614,8 +615,8 @@ github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KE github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY= +github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= @@ -673,8 +674,8 @@ github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2V github.com/golang-sql/sqlexp v0.0.0-20170517235910-f1bb20e5a188/go.mod h1:vXjM/+wXQnTPR4KqTKDgJukSZ6amVRtWMPEjE6sQoK8= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= -github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= +github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= +github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -747,8 +748,9 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= @@ -788,8 +790,9 @@ github.com/google/uuid v0.0.0-20161128191214-064e2069ce9c/go.mod h1:TIyPZe4Mgqvf github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= +github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= @@ -996,8 +999,8 @@ github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47e github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= -github.com/klauspost/compress v1.16.5 h1:IFV2oUNUzZaz+XyusxpLzpzS8Pt5rh0Z16For/djlyI= -github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.17.2 h1:RlWWUY/Dr4fL8qk9YG7DTZ7PDgME2V4csBXA8L/ixi4= +github.com/klauspost/compress v1.17.2/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE= github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -1118,8 +1121,8 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/moby/buildkit v0.10.4 h1:FvC+buO8isGpUFZ1abdSLdGHZVqg9sqI4BbFL8tlzP4= -github.com/moby/buildkit v0.10.4/go.mod h1:Yajz9vt1Zw5q9Pp4pdb3TCSUXJBIroIQGQ3TTs/sLug= +github.com/moby/buildkit v0.12.5 h1:RNHH1l3HDhYyZafr5EgstEu8aGNCwyfvMtrQDtjH9T0= +github.com/moby/buildkit v0.12.5/go.mod h1:YGwjA2loqyiYfZeEo8FtI7z4x5XponAaIWsWcSjWwso= github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= github.com/moby/term v0.0.0-20201216013528-df9cb8a40635/go.mod h1:FBS0z0QWA44HXygs7VXDUOGoN/1TV3RuWkLO04am3wc= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= @@ -1202,11 +1205,12 @@ github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWEr github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= -github.com/opencontainers/image-spec v1.1.0-rc2/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ= +github.com/opencontainers/image-spec v1.1.0-rc3 h1:fzg1mXZFj8YdPeNkRXMg+zb88BFV0Ys52cJydRwBkb8= +github.com/opencontainers/image-spec v1.1.0-rc3/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8= github.com/opencontainers/runc v1.1.2/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= -github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b+d8w= github.com/opencontainers/runc v1.1.3/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= +github.com/opencontainers/runc v1.1.7 h1:y2EZDS8sNng4Ksf0GUYNhKbTShZJPJg1FiXJNH/uoCk= +github.com/opencontainers/runc v1.1.7/go.mod h1:CbUumNnWCuTGFukNXahoo/RFBZvDAgRh/smNYNOhA50= github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= @@ -1331,8 +1335,6 @@ github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqn github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/regen-network/cosmos-proto v0.3.1 h1:rV7iM4SSFAagvy8RiyhiACbWEGotmqzywPxOvwMdxcg= -github.com/regen-network/cosmos-proto v0.3.1/go.mod h1:jO0sVX6a1B36nmE8C9xBFXpNwWejXC7QqCOnH3O0+YM= github.com/regen-network/protobuf v1.3.3-alpha.regen.1 h1:OHEc+q5iIAXpqiqFKeLpu5NwTIkVXUs48vFMwzqpqY4= github.com/regen-network/protobuf v1.3.3-alpha.regen.1/go.mod h1:2DjTFR1HhMQhiWC5sZ4OhQ3+NtdbZ6oBDKQwq5Ou+FI= github.com/remyoudompheng/go-dbus v0.0.0-20121104212943-b7232d34b1d5/go.mod h1:+u151txRmLpwxBmpYn9z3d1sdJdjRPQpsXuYeY9jNls= @@ -1384,8 +1386,8 @@ github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6Mwd github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= -github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/sivchari/containedctx v1.0.2/go.mod h1:PwZOeqm4/DLoJOqMSIJs3aKqXRX4YO+uXww087KZ7Bw= github.com/sivchari/nosnakecase v1.5.0/go.mod h1:CwDzrzPea40/GB6uynrNLiorAlgFRvRbFSgJx2Gs+QY= github.com/sivchari/tenv v1.6.0/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg= @@ -1569,12 +1571,14 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3 h1:syAz40OyelLZo42+3U68Phisvrx4qh+4wpdZw7eUUdY= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3/go.mod h1:Dts42MGkzZne2yCru741+bFiTMWkIj/LLRizad7b9tw= -go.opentelemetry.io/otel v1.11.0 h1:kfToEGMDq6TrVrJ9Vht84Y8y9enykSZzDDZglV0kIEk= -go.opentelemetry.io/otel v1.11.0/go.mod h1:H2KtuEphyMvlhZ+F7tg9GRhAOe60moNx61Ex+WmiKkk= -go.opentelemetry.io/otel/trace v1.11.0 h1:20U/Vj42SX+mASlXLmSGBg6jpI1jQtv682lZtTAOVFI= -go.opentelemetry.io/otel/trace v1.11.0/go.mod h1:nyYjis9jy0gytE9LXGU+/m1sHTKbRY0fX0hulNNDP1U= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.0 h1:PzIubN4/sjByhDRHLviCjJuweBXWFZWhghjg7cS28+M= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.0/go.mod h1:Ct6zzQEuGK3WpJs2n4dn+wfJYzd/+hNnxMRTWjGn30M= +go.opentelemetry.io/otel v1.20.0 h1:vsb/ggIY+hUjD/zCAQHpzTmndPqv/ml2ArbsbfBYTAc= +go.opentelemetry.io/otel v1.20.0/go.mod h1:oUIGj3D77RwJdM6PPZImDpSZGDvkD9fhesHny69JFrs= +go.opentelemetry.io/otel/metric v1.20.0 h1:ZlrO8Hu9+GAhnepmRGhSU7/VkpjrNowxRN9GyKR4wzA= +go.opentelemetry.io/otel/metric v1.20.0/go.mod h1:90DRw3nfK4D7Sm/75yQ00gTJxtkBxX+wu6YaNymbpVM= +go.opentelemetry.io/otel/trace v1.20.0 h1:+yxVAPZPbQhbC3OfAkeIVTky6iTFpcr4SiY9om7mXSQ= +go.opentelemetry.io/otel/trace v1.20.0/go.mod h1:HJSK7F/hA5RlzpZ0zKDCHCDHm556LCDtKaAo6JmBFUU= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -2273,8 +2277,8 @@ google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqw google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 h1:L6iMMGrtzgHsWofoFcihmDEMYeDR9KN/ThbPWGrh++g= -google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= +google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d h1:VBu5YqKPv6XiJ199exd8Br+Aetz+o08F+PLMnwJQHAY= +google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4= google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d h1:DoPTO70H+bcDXcd39vOqb2viZxgqeBeSGtZ55yZU4/Q= google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk= google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4= @@ -2324,8 +2328,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.58.3 h1:BjnpXut1btbtgN/6sp+brB2Kbm2LjNXnidYujAVbSoQ= -google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= +google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk= +google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 h1:M1YKkFIboKNieVO5DLUEVzQfGwJD30Nv2jfUgzb5UcE= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= diff --git a/x/keyshare/keeper/msg_server_general_key_share.go b/x/keyshare/keeper/msg_server_general_key_share.go index 731d73ee..3cdb8f18 100644 --- a/x/keyshare/keeper/msg_server_general_key_share.go +++ b/x/keyshare/keeper/msg_server_general_key_share.go @@ -145,10 +145,17 @@ func (k msgServer) CreateGeneralKeyShare(goCtx context.Context, msg *types.MsgCr stateGeneralKeyShares = append(stateGeneralKeyShares, eachGeneralKeyShare) } + // Get the active public key for aggregating + activePubKey, found := k.GetActivePubKey(ctx) + + if !found { + return nil, types.ErrPubKeyNotFound + } + expectedThreshold := sdk.NewDecFromInt( sdk.NewInt(types.KeyAggregationThresholdNumerator)).Quo( sdk.NewDecFromInt(sdk.NewInt(types.KeyAggregationThresholdDenominator))).MulInt64( - int64(len(validatorList))).Ceil().TruncateInt64() + int64(activePubKey.NumberOfValidators)).Ceil().TruncateInt64() // Emit KeyShare Submitted Event ctx.EventManager().EmitEvent( @@ -197,13 +204,6 @@ func (k msgServer) CreateGeneralKeyShare(goCtx context.Context, msg *types.MsgCr } } - // Get the active public key for aggregating - activePubKey, found := k.pepKeeper.GetActivePubKey(ctx) - - if !found { - return nil, types.ErrPubKeyNotFound - } - // Parse & append all the keyshare for aggregation var listOfShares []distIBE.ExtractedKey var listOfCommitment []distIBE.Commitment