diff --git a/Makefile b/Makefile index 0224ebc5..f7fc6405 100644 --- a/Makefile +++ b/Makefile @@ -27,6 +27,8 @@ copy-exchange-client: .PHONY: copy-exchange-client copy-chain-types: + cp ../injective-core/injective-chain/types/*.go chain/types + cp ../injective-core/injective-chain/crypto/ethsecp256k1/*.go chain/crypto/ethsecp256k1 cp ../injective-core/injective-chain/modules/auction/types/*.go chain/auction/types rm -rf chain/auction/types/*test.go rm -rf chain/auction/types/*gw.go cp ../injective-core/injective-chain/modules/exchange/types/*.go chain/exchange/types @@ -36,6 +38,7 @@ copy-chain-types: cp ../injective-core/injective-chain/modules/ocr/types/*.go chain/ocr/types rm -rf chain/ocr/types/*test.go rm -rf chain/ocr/types/*gw.go cp ../injective-core/injective-chain/modules/oracle/types/*.go chain/oracle/types + cp -r ../injective-core/injective-chain/modules/oracle/bandchain chain/oracle rm -rf chain/oracle/types/*test.go rm -rf chain/oracle/types/*gw.go cp ../injective-core/injective-chain/modules/peggy/types/*.go chain/peggy/types rm -rf chain/peggy/types/*test.go rm -rf chain/peggy/types/*gw.go diff --git a/bandchain/oracle/types/error.go b/bandchain/oracle/types/error.go deleted file mode 100644 index 7d3e6ffe..00000000 --- a/bandchain/oracle/types/error.go +++ /dev/null @@ -1,59 +0,0 @@ -package types - -import ( - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -var ( - ErrOwasmCompilation = sdkerrors.Register(ModuleName, 1, "owasm compilation failed") - ErrBadWasmExecution = sdkerrors.Register(ModuleName, 2, "bad wasm execution") - ErrDataSourceNotFound = sdkerrors.Register(ModuleName, 3, "data source not found") - ErrOracleScriptNotFound = sdkerrors.Register(ModuleName, 4, "oracle script not found") - ErrRequestNotFound = sdkerrors.Register(ModuleName, 5, "request not found") - ErrRawRequestNotFound = sdkerrors.Register(ModuleName, 6, "raw request not found") - ErrReporterNotFound = sdkerrors.Register(ModuleName, 7, "reporter not found") - ErrResultNotFound = sdkerrors.Register(ModuleName, 8, "result not found") - ErrReporterAlreadyExists = sdkerrors.Register(ModuleName, 9, "reporter already exists") - ErrValidatorNotRequested = sdkerrors.Register(ModuleName, 10, "validator not requested") - ErrValidatorAlreadyReported = sdkerrors.Register(ModuleName, 11, "validator already reported") - ErrInvalidReportSize = sdkerrors.Register(ModuleName, 12, "invalid report size") - ErrReporterNotAuthorized = sdkerrors.Register(ModuleName, 13, "reporter not authorized") - ErrEditorNotAuthorized = sdkerrors.Register(ModuleName, 14, "editor not authorized") - ErrValidatorAlreadyActive = sdkerrors.Register(ModuleName, 16, "validator already active") - ErrTooSoonToActivate = sdkerrors.Register(ModuleName, 17, "too soon to activate") - ErrTooLongName = sdkerrors.Register(ModuleName, 18, "too long name") - ErrTooLongDescription = sdkerrors.Register(ModuleName, 19, "too long description") - ErrEmptyExecutable = sdkerrors.Register(ModuleName, 20, "empty executable") - ErrEmptyWasmCode = sdkerrors.Register(ModuleName, 21, "empty wasm code") - ErrTooLargeExecutable = sdkerrors.Register(ModuleName, 22, "too large executable") - ErrTooLargeWasmCode = sdkerrors.Register(ModuleName, 23, "too large wasm code") - ErrInvalidMinCount = sdkerrors.Register(ModuleName, 24, "invalid min count") - ErrInvalidAskCount = sdkerrors.Register(ModuleName, 25, "invalid ask count") - ErrTooLargeCalldata = sdkerrors.Register(ModuleName, 26, "too large calldata") - ErrTooLongClientID = sdkerrors.Register(ModuleName, 27, "too long client id") - ErrEmptyRawRequests = sdkerrors.Register(ModuleName, 28, "empty raw requests") - ErrEmptyReport = sdkerrors.Register(ModuleName, 29, "empty report") - ErrDuplicateExternalID = sdkerrors.Register(ModuleName, 30, "duplicate external id") - ErrTooLongSchema = sdkerrors.Register(ModuleName, 31, "too long schema") - ErrTooLongURL = sdkerrors.Register(ModuleName, 32, "too long url") - ErrTooLargeRawReportData = sdkerrors.Register(ModuleName, 33, "too large raw report data") - ErrInsufficientValidators = sdkerrors.Register(ModuleName, 34, "insufficient available validators") - ErrCreateWithDoNotModify = sdkerrors.Register(ModuleName, 35, "cannot create with [do-not-modify] content") - ErrSelfReferenceAsReporter = sdkerrors.Register(ModuleName, 36, "cannot reference self as reporter") - ErrOBIDecode = sdkerrors.Register(ModuleName, 37, "obi decode failed") - ErrUncompressionFailed = sdkerrors.Register(ModuleName, 38, "uncompression failed") - ErrRequestAlreadyExpired = sdkerrors.Register(ModuleName, 39, "request already expired") - ErrBadDrbgInitialization = sdkerrors.Register(ModuleName, 40, "bad drbg initialization") - ErrMaxOracleChannels = sdkerrors.Register(ModuleName, 41, "max oracle channels") - ErrInvalidVersion = sdkerrors.Register(ModuleName, 42, "invalid ICS20 version") - ErrNotEnoughFee = sdkerrors.Register(ModuleName, 43, "not enough fee") - ErrInvalidOwasmGas = sdkerrors.Register(ModuleName, 44, "invalid owasm gas") - ErrIBCRequestDisabled = sdkerrors.Register(ModuleName, 45, "sending oracle request via IBC is disabled") - ErrInvalidRequestKey = sdkerrors.Register(ModuleName, 46, "invalid request key") - ErrTooLongRequestKey = sdkerrors.Register(ModuleName, 47, "too long request key") -) - -// WrapMaxError wraps an error message with additional info of the current and max values. -func WrapMaxError(err error, got int, max int) error { - return sdkerrors.Wrapf(err, "got: %d, max: %d", got, max) -} diff --git a/chain/auction/types/auction.pb.go b/chain/auction/types/auction.pb.go index 108a23d3..d0d2e780 100644 --- a/chain/auction/types/auction.pb.go +++ b/chain/auction/types/auction.pb.go @@ -7,8 +7,8 @@ import ( fmt "fmt" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" @@ -234,7 +234,8 @@ type EventAuctionStart struct { Round uint64 `protobuf:"varint,1,opt,name=round,proto3" json:"round,omitempty"` // ending_timestamp describes auction end time EndingTimestamp int64 `protobuf:"varint,2,opt,name=ending_timestamp,json=endingTimestamp,proto3" json:"ending_timestamp,omitempty"` - // new_basket describes auction module balance at the time of new auction start + // new_basket describes auction module balance at the time of new auction + // start NewBasket github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,3,rep,name=new_basket,json=newBasket,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"new_basket"` } diff --git a/chain/auction/types/codec.go b/chain/auction/types/codec.go index 8cedd739..c5299e0b 100644 --- a/chain/auction/types/codec.go +++ b/chain/auction/types/codec.go @@ -6,17 +6,20 @@ import ( cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" + authzcdc "github.com/cosmos/cosmos-sdk/x/authz/codec" ) // RegisterLegacyAminoCodec registers the necessary x/auction interfaces and concrete types // on the provided LegacyAmino codec. These types are used for Amino JSON serialization. func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgBid{}, "auction/MsgBid", nil) + cdc.RegisterConcrete(&MsgUpdateParams{}, "auction/MsgUpdateParams", nil) } func RegisterInterfaces(registry types.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgBid{}, + &MsgUpdateParams{}, ) msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) @@ -37,5 +40,7 @@ var ( func init() { RegisterLegacyAminoCodec(amino) cryptocodec.RegisterCrypto(amino) + + RegisterLegacyAminoCodec(authzcdc.Amino) amino.Seal() } diff --git a/chain/auction/types/errors.go b/chain/auction/types/errors.go index fc1b311a..c8e7ba2e 100644 --- a/chain/auction/types/errors.go +++ b/chain/auction/types/errors.go @@ -1,8 +1,8 @@ package types -import sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +import "cosmossdk.io/errors" var ( - ErrBidInvalid = sdkerrors.Register(ModuleName, 1, "invalid bid denom") - ErrBidRound = sdkerrors.Register(ModuleName, 2, "invalid bid round") + ErrBidInvalid = errors.Register(ModuleName, 1, "invalid bid denom") + ErrBidRound = errors.Register(ModuleName, 2, "invalid bid round") ) diff --git a/chain/auction/types/genesis.pb.go b/chain/auction/types/genesis.pb.go index 9295842d..d1452e2a 100644 --- a/chain/auction/types/genesis.pb.go +++ b/chain/auction/types/genesis.pb.go @@ -5,8 +5,8 @@ package types import ( fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" diff --git a/chain/auction/types/key.go b/chain/auction/types/key.go index f06c9281..3c949674 100644 --- a/chain/auction/types/key.go +++ b/chain/auction/types/key.go @@ -11,4 +11,5 @@ var ( BidsKey = []byte{0x01} AuctionRoundKey = []byte{0x03} KeyEndingTimeStamp = []byte{0x04} + ParamsKey = []byte{0x10} ) diff --git a/chain/auction/types/msgs.go b/chain/auction/types/msgs.go index d27d4db4..987533e0 100644 --- a/chain/auction/types/msgs.go +++ b/chain/auction/types/msgs.go @@ -1,20 +1,58 @@ package types import ( + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" chaintypes "github.com/InjectiveLabs/sdk-go/chain/types" ) -const TypeMsgBid = "bid" +const ( + RouterKey = ModuleName -const RouterKey = ModuleName + TypeMsgBid = "bid" + TypeMsgUpdateParams = "updateParams" +) var ( _ sdk.Msg = &MsgBid{} + _ sdk.Msg = &MsgUpdateParams{} ) +// Route implements the sdk.Msg interface. It should return the name of the module +func (msg MsgUpdateParams) Route() string { return RouterKey } + +// Type implements the sdk.Msg interface. It should return the action. +func (msg MsgUpdateParams) Type() string { return TypeMsgUpdateParams } + +// ValidateBasic implements the sdk.Msg interface. It runs stateless checks on the message +func (msg MsgUpdateParams) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Authority); err != nil { + return errors.Wrap(err, "invalid authority address") + } + + if err := msg.Params.Validate(); err != nil { + return err + } + + return nil +} + +// GetSignBytes implements the sdk.Msg interface. It encodes the message for signing +func (msg *MsgUpdateParams) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) +} + +// GetSigners implements the sdk.Msg interface. It defines whose signature is required +func (msg MsgUpdateParams) GetSigners() []sdk.AccAddress { + sender, err := sdk.AccAddressFromBech32(msg.Authority) + if err != nil { + panic(err) + } + return []sdk.AccAddress{sender} +} + // Route implements the sdk.Msg interface. It should return the name of the module func (msg MsgBid) Route() string { return RouterKey } @@ -24,19 +62,19 @@ func (msg MsgBid) Type() string { return TypeMsgBid } // ValidateBasic implements the sdk.Msg interface. It runs stateless checks on the message func (msg MsgBid) ValidateBasic() error { if msg.Sender == "" { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if !msg.BidAmount.IsValid() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, msg.BidAmount.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.BidAmount.String()) } if !msg.BidAmount.IsPositive() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, msg.BidAmount.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.BidAmount.String()) } if msg.BidAmount.Denom != chaintypes.InjectiveCoin { - return sdkerrors.Wrap(ErrBidInvalid, msg.BidAmount.Denom) + return errors.Wrap(ErrBidInvalid, msg.BidAmount.Denom) } return nil diff --git a/chain/auction/types/query.pb.go b/chain/auction/types/query.pb.go index e9e2b6be..ec9d8b68 100644 --- a/chain/auction/types/query.pb.go +++ b/chain/auction/types/query.pb.go @@ -8,9 +8,9 @@ import ( fmt "fmt" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" @@ -31,7 +31,8 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -// QueryAuctionParamsRequest is the request type for the Query/AuctionParams RPC method. +// QueryAuctionParamsRequest is the request type for the Query/AuctionParams RPC +// method. type QueryAuctionParamsRequest struct { } @@ -68,7 +69,8 @@ func (m *QueryAuctionParamsRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryAuctionParamsRequest proto.InternalMessageInfo -// QueryAuctionParamsRequest is the response type for the Query/AuctionParams RPC method. +// QueryAuctionParamsRequest is the response type for the Query/AuctionParams +// RPC method. type QueryAuctionParamsResponse struct { Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` } @@ -113,7 +115,8 @@ func (m *QueryAuctionParamsResponse) GetParams() Params { return Params{} } -// QueryCurrentAuctionBasketRequest is the request type for the Query/CurrentAuctionBasket RPC method. +// QueryCurrentAuctionBasketRequest is the request type for the +// Query/CurrentAuctionBasket RPC method. type QueryCurrentAuctionBasketRequest struct { } @@ -150,7 +153,8 @@ func (m *QueryCurrentAuctionBasketRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryCurrentAuctionBasketRequest proto.InternalMessageInfo -// QueryCurrentAuctionBasketResponse is the response type for the Query/CurrentAuctionBasket RPC method. +// QueryCurrentAuctionBasketResponse is the response type for the +// Query/CurrentAuctionBasket RPC method. type QueryCurrentAuctionBasketResponse struct { // amount describes the amount put on auction Amount github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,1,rep,name=amount,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"amount"` @@ -225,7 +229,8 @@ func (m *QueryCurrentAuctionBasketResponse) GetHighestBidder() string { return "" } -// QueryModuleStateRequest is the request type for the Query/AuctionModuleState RPC method. +// QueryModuleStateRequest is the request type for the Query/AuctionModuleState +// RPC method. type QueryModuleStateRequest struct { } @@ -262,7 +267,8 @@ func (m *QueryModuleStateRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryModuleStateRequest proto.InternalMessageInfo -// QueryModuleStateResponse is the response type for the Query/AuctionModuleState RPC method. +// QueryModuleStateResponse is the response type for the +// Query/AuctionModuleState RPC method. type QueryModuleStateResponse struct { State *GenesisState `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` } diff --git a/chain/auction/types/tx.pb.go b/chain/auction/types/tx.pb.go index d75181e4..57d3be57 100644 --- a/chain/auction/types/tx.pb.go +++ b/chain/auction/types/tx.pb.go @@ -6,10 +6,12 @@ package types import ( context "context" fmt "fmt" + _ "github.com/cosmos/cosmos-proto" types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/gogoproto/gogoproto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -107,9 +109,103 @@ func (m *MsgBidResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgBidResponse proto.InternalMessageInfo +type MsgUpdateParams struct { + // authority is the address of the governance account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // params defines the ocr parameters to update. + // + // NOTE: All parameters must be supplied. + Params Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params"` +} + +func (m *MsgUpdateParams) Reset() { *m = MsgUpdateParams{} } +func (m *MsgUpdateParams) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParams) ProtoMessage() {} +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return fileDescriptor_0943fd5f0d415547, []int{2} +} +func (m *MsgUpdateParams) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParams.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParams) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParams.Merge(m, src) +} +func (m *MsgUpdateParams) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParams) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParams.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParams proto.InternalMessageInfo + +func (m *MsgUpdateParams) GetAuthority() string { + if m != nil { + return m.Authority + } + return "" +} + +func (m *MsgUpdateParams) GetParams() Params { + if m != nil { + return m.Params + } + return Params{} +} + +type MsgUpdateParamsResponse struct { +} + +func (m *MsgUpdateParamsResponse) Reset() { *m = MsgUpdateParamsResponse{} } +func (m *MsgUpdateParamsResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParamsResponse) ProtoMessage() {} +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0943fd5f0d415547, []int{3} +} +func (m *MsgUpdateParamsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParamsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParamsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParamsResponse.Merge(m, src) +} +func (m *MsgUpdateParamsResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParamsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgBid)(nil), "injective.auction.v1beta1.MsgBid") proto.RegisterType((*MsgBidResponse)(nil), "injective.auction.v1beta1.MsgBidResponse") + proto.RegisterType((*MsgUpdateParams)(nil), "injective.auction.v1beta1.MsgUpdateParams") + proto.RegisterType((*MsgUpdateParamsResponse)(nil), "injective.auction.v1beta1.MsgUpdateParamsResponse") } func init() { @@ -117,28 +213,37 @@ func init() { } var fileDescriptor_0943fd5f0d415547 = []byte{ - // 327 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x91, 0xb1, 0x4e, 0x02, 0x31, - 0x1c, 0xc6, 0xaf, 0x82, 0x44, 0x6a, 0x62, 0xcc, 0x85, 0x18, 0x60, 0x28, 0xc8, 0x84, 0x83, 0x6d, - 0xc0, 0xcd, 0xc1, 0x44, 0x9c, 0x4c, 0x64, 0x39, 0x37, 0x16, 0x73, 0xbd, 0x36, 0xa5, 0xc6, 0xeb, - 0x9f, 0x5c, 0x7b, 0x44, 0x37, 0x47, 0x47, 0x1f, 0x81, 0xc7, 0x61, 0x64, 0x74, 0x32, 0x06, 0x16, - 0x1f, 0xc3, 0x40, 0xe1, 0xe2, 0x62, 0xdc, 0xee, 0xcb, 0xfd, 0xbe, 0x5f, 0xbe, 0xb6, 0xb8, 0xa3, - 0xcd, 0xa3, 0x4c, 0x9c, 0x9e, 0x4a, 0x16, 0xe7, 0x89, 0xd3, 0x60, 0xd8, 0xb4, 0xc7, 0xa5, 0x8b, - 0x7b, 0xcc, 0x3d, 0xd3, 0x49, 0x06, 0x0e, 0xc2, 0x46, 0xc1, 0xd0, 0x2d, 0x43, 0xb7, 0x4c, 0xb3, - 0xa6, 0x40, 0xc1, 0x86, 0x62, 0xeb, 0x2f, 0x5f, 0x68, 0x92, 0x04, 0x6c, 0x0a, 0x96, 0xf1, 0xd8, - 0xca, 0x42, 0x97, 0x80, 0x36, 0xfe, 0x7f, 0xe7, 0x15, 0xe1, 0xca, 0xd0, 0xaa, 0x81, 0x16, 0xe1, - 0x09, 0xae, 0x58, 0x69, 0x84, 0xcc, 0xea, 0xa8, 0x8d, 0xba, 0xd5, 0x68, 0x9b, 0xc2, 0x2b, 0x8c, - 0xb9, 0x16, 0x0f, 0x71, 0x0a, 0xb9, 0x71, 0xf5, 0xbd, 0x36, 0xea, 0x1e, 0xf6, 0x1b, 0xd4, 0x7b, - 0xe9, 0xda, 0xbb, 0x9b, 0x40, 0x6f, 0x40, 0x9b, 0x41, 0x79, 0xfe, 0xd9, 0x0a, 0xa2, 0x2a, 0xd7, - 0xe2, 0x7a, 0xd3, 0x08, 0x6b, 0x78, 0x3f, 0x83, 0xdc, 0x88, 0x7a, 0xa9, 0x8d, 0xba, 0xe5, 0xc8, - 0x87, 0xcb, 0x83, 0xb7, 0x59, 0x2b, 0xf8, 0x9e, 0xb5, 0x82, 0xce, 0x31, 0x3e, 0xf2, 0x0b, 0x22, - 0x69, 0x27, 0x60, 0xac, 0xec, 0x8f, 0x70, 0x69, 0x68, 0x55, 0x78, 0x8f, 0x4b, 0xeb, 0x5d, 0xa7, - 0xf4, 0xcf, 0x43, 0x53, 0x5f, 0x6c, 0x9e, 0xfd, 0x8b, 0xec, 0xdc, 0x03, 0x35, 0x5f, 0x12, 0xb4, - 0x58, 0x12, 0xf4, 0xb5, 0x24, 0xe8, 0x7d, 0x45, 0x82, 0xc5, 0x8a, 0x04, 0x1f, 0x2b, 0x12, 0x8c, - 0x86, 0x4a, 0xbb, 0x71, 0xce, 0x69, 0x02, 0x29, 0xbb, 0xdd, 0xe9, 0xee, 0x62, 0x6e, 0x59, 0x21, - 0x3f, 0x4f, 0x20, 0x93, 0xbf, 0xe3, 0x38, 0xd6, 0x86, 0xa5, 0x20, 0xf2, 0x27, 0x69, 0x8b, 0x57, - 0x73, 0x2f, 0x13, 0x69, 0x79, 0x65, 0x73, 0xc1, 0x17, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x43, - 0xae, 0xff, 0x5c, 0xd7, 0x01, 0x00, 0x00, + // 472 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0x31, 0x6f, 0x13, 0x31, + 0x14, 0xc7, 0xcf, 0xa4, 0x44, 0x8a, 0x41, 0x05, 0x1d, 0x11, 0x4d, 0x32, 0x5c, 0xc2, 0x2d, 0x84, + 0x4a, 0x3d, 0x2b, 0x41, 0x62, 0xe8, 0x00, 0x6a, 0x98, 0x90, 0x88, 0x84, 0xae, 0x62, 0x61, 0xa9, + 0x7c, 0x67, 0xcb, 0x31, 0xe2, 0xec, 0x93, 0xed, 0x8b, 0xe8, 0xca, 0x84, 0xc4, 0xc2, 0xcc, 0xd4, + 0x8f, 0xc0, 0xc0, 0x87, 0xa8, 0x98, 0x2a, 0x26, 0x26, 0x84, 0x92, 0x01, 0x3e, 0x06, 0xba, 0xb3, + 0xef, 0x5a, 0x90, 0x1a, 0x3a, 0xdd, 0x3d, 0xbd, 0xff, 0xfb, 0xff, 0x7f, 0xcf, 0x36, 0x0c, 0xb9, + 0x78, 0x4d, 0x53, 0xc3, 0x97, 0x14, 0xe1, 0x22, 0x35, 0x5c, 0x0a, 0xb4, 0x9c, 0x24, 0xd4, 0xe0, + 0x09, 0x32, 0x6f, 0xa3, 0x5c, 0x49, 0x23, 0xfd, 0x7e, 0xa3, 0x89, 0x9c, 0x26, 0x72, 0x9a, 0x41, + 0x97, 0x49, 0x26, 0x2b, 0x15, 0x2a, 0xff, 0xec, 0xc0, 0x20, 0x48, 0xa5, 0xce, 0xa4, 0x46, 0x09, + 0xd6, 0xb4, 0xb1, 0x4b, 0x25, 0x17, 0xae, 0xbf, 0xe3, 0xfa, 0x99, 0x66, 0x68, 0x39, 0x29, 0x3f, + 0xae, 0xd1, 0xb7, 0x8d, 0x23, 0xeb, 0x68, 0x0b, 0xd7, 0xba, 0x7f, 0x39, 0x68, 0x0d, 0x55, 0x09, + 0xc3, 0x0f, 0x00, 0xb6, 0xe7, 0x9a, 0xcd, 0x38, 0xf1, 0xef, 0xc2, 0xb6, 0xa6, 0x82, 0x50, 0xd5, + 0x03, 0x23, 0x30, 0xee, 0xc4, 0xae, 0xf2, 0x1f, 0x43, 0x98, 0x70, 0x72, 0x84, 0x33, 0x59, 0x08, + 0xd3, 0xbb, 0x36, 0x02, 0xe3, 0x1b, 0xd3, 0x7e, 0xe4, 0xe2, 0x4a, 0xe8, 0x7a, 0xbf, 0xe8, 0xa9, + 0xe4, 0x62, 0xb6, 0x75, 0xfa, 0x63, 0xe8, 0xc5, 0x9d, 0x84, 0x93, 0x83, 0x6a, 0xc2, 0xef, 0xc2, + 0xeb, 0x4a, 0x16, 0x82, 0xf4, 0x5a, 0x23, 0x30, 0xde, 0x8a, 0x6d, 0xb1, 0x7f, 0xe7, 0xfd, 0xc9, + 0xd0, 0xfb, 0x7d, 0x32, 0xf4, 0xde, 0xfd, 0xfa, 0xbc, 0xeb, 0xa2, 0xc2, 0xdb, 0x70, 0xdb, 0xc2, + 0xc4, 0x54, 0xe7, 0x52, 0x68, 0x1a, 0x7e, 0x02, 0xf0, 0xd6, 0x5c, 0xb3, 0x97, 0x39, 0xc1, 0x86, + 0xbe, 0xc0, 0x0a, 0x67, 0xda, 0x7f, 0x04, 0x3b, 0xb8, 0x30, 0x0b, 0xa9, 0xb8, 0x39, 0xb6, 0xac, + 0xb3, 0xde, 0xb7, 0x2f, 0x7b, 0x5d, 0x87, 0x74, 0x40, 0x88, 0xa2, 0x5a, 0x1f, 0x1a, 0xc5, 0x05, + 0x8b, 0xcf, 0xa5, 0xfe, 0x13, 0xd8, 0xce, 0x2b, 0x07, 0xb7, 0xc4, 0xbd, 0xe8, 0xd2, 0xab, 0x8a, + 0x6c, 0x94, 0x5b, 0xc6, 0x8d, 0xed, 0x6f, 0x97, 0xac, 0xe7, 0x86, 0x61, 0x1f, 0xee, 0xfc, 0xc3, + 0x56, 0x73, 0x4f, 0xbf, 0x02, 0xd8, 0x9a, 0x6b, 0xe6, 0x1f, 0xc2, 0x56, 0x79, 0xb6, 0x9b, 0xa2, + 0xec, 0xc6, 0x83, 0x07, 0xff, 0x95, 0xd4, 0xe6, 0xbe, 0x80, 0x37, 0xff, 0x3a, 0x90, 0xdd, 0xcd, + 0xa3, 0x17, 0xb5, 0x83, 0xe9, 0xd5, 0xb5, 0x75, 0xde, 0x8c, 0x9d, 0xae, 0x02, 0x70, 0xb6, 0x0a, + 0xc0, 0xcf, 0x55, 0x00, 0x3e, 0xae, 0x03, 0xef, 0x6c, 0x1d, 0x78, 0xdf, 0xd7, 0x81, 0xf7, 0x6a, + 0xce, 0xb8, 0x59, 0x14, 0x49, 0x94, 0xca, 0x0c, 0x3d, 0xab, 0x7d, 0x9f, 0xe3, 0x44, 0xa3, 0x26, + 0x65, 0x2f, 0x95, 0x8a, 0x5e, 0x2c, 0x17, 0x98, 0x0b, 0x94, 0x49, 0x52, 0xbc, 0xa1, 0xba, 0x79, + 0x9d, 0xe6, 0x38, 0xa7, 0x3a, 0x69, 0x57, 0x8f, 0xf2, 0xe1, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x7c, 0x0f, 0x27, 0xbc, 0x68, 0x03, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -155,6 +260,7 @@ const _ = grpc.SupportPackageIsVersion4 type MsgClient interface { // Bid defines a method for placing a bid for an auction Bid(ctx context.Context, in *MsgBid, opts ...grpc.CallOption) (*MsgBidResponse, error) + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) } type msgClient struct { @@ -174,10 +280,20 @@ func (c *msgClient) Bid(ctx context.Context, in *MsgBid, opts ...grpc.CallOption return out, nil } +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, "/injective.auction.v1beta1.Msg/UpdateParams", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { // Bid defines a method for placing a bid for an auction Bid(context.Context, *MsgBid) (*MsgBidResponse, error) + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -187,6 +303,9 @@ type UnimplementedMsgServer struct { func (*UnimplementedMsgServer) Bid(ctx context.Context, req *MsgBid) (*MsgBidResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Bid not implemented") } +func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -210,6 +329,24 @@ func _Msg_Bid_Handler(srv interface{}, ctx context.Context, dec func(interface{} return interceptor(ctx, in, info, handler) } +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.auction.v1beta1.Msg/UpdateParams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "injective.auction.v1beta1.Msg", HandlerType: (*MsgServer)(nil), @@ -218,6 +355,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "Bid", Handler: _Msg_Bid_Handler, }, + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "injective/auction/v1beta1/tx.proto", @@ -291,6 +432,69 @@ func (m *MsgBidResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -329,6 +533,30 @@ func (m *MsgBidResponse) Size() (n int) { return n } +func (m *MsgUpdateParams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Params.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -519,6 +747,171 @@ func (m *MsgBidResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/crypto/ethsecp256k1/ethsecp256k1.go b/chain/crypto/ethsecp256k1/ethsecp256k1.go index d4fbb51f..eebeb6b9 100644 --- a/chain/crypto/ethsecp256k1/ethsecp256k1.go +++ b/chain/crypto/ethsecp256k1/ethsecp256k1.go @@ -9,11 +9,12 @@ import ( ethcrypto "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/crypto/secp256k1" + "cosmossdk.io/errors" "github.com/cosmos/cosmos-sdk/codec" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - tmcrypto "github.com/tendermint/tendermint/crypto" + tmcrypto "github.com/cometbft/cometbft/crypto" ) const ( @@ -135,7 +136,9 @@ var ( func (pubKey PubKey) Address() tmcrypto.Address { pubk, err := ethcrypto.DecompressPubkey(pubKey.Key) if err != nil { - panic(err) + if pubk, err = ethcrypto.UnmarshalPubkey(pubKey.Key); err != nil { + panic(err) + } } return tmcrypto.Address(ethcrypto.PubkeyToAddress(*pubk).Bytes()) @@ -169,7 +172,7 @@ func (pubKey PubKey) MarshalAmino() ([]byte, error) { // UnmarshalAmino overrides Amino binary marshalling. func (pubKey *PubKey) UnmarshalAmino(bz []byte) error { if len(bz) != PubKeySize { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidPubKey, "invalid pubkey size, expected %d, got %d", PubKeySize, len(bz)) + return errors.Wrapf(sdkerrors.ErrInvalidPubKey, "invalid pubkey size, expected %d, got %d", PubKeySize, len(bz)) } pubKey.Key = bz @@ -191,7 +194,7 @@ func (pubKey *PubKey) UnmarshalAminoJSON(bz []byte) error { // VerifySignature verifies that the ECDSA public key created a given signature over // the provided message. It will calculate the Keccak256 hash of the message // prior to verification. -func (pubKey PubKey) VerifySignature(msg []byte, sig []byte) bool { +func (pubKey PubKey) VerifySignature(msg, sig []byte) bool { if len(sig) == 65 { // remove recovery ID if contained in the signature sig = sig[:len(sig)-1] diff --git a/chain/crypto/ethsecp256k1/keys.pb.go b/chain/crypto/ethsecp256k1/keys.pb.go index 945007eb..c445cb5b 100644 --- a/chain/crypto/ethsecp256k1/keys.pb.go +++ b/chain/crypto/ethsecp256k1/keys.pb.go @@ -5,8 +5,8 @@ package ethsecp256k1 import ( fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" @@ -314,10 +314,7 @@ func (m *PubKey) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthKeys - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthKeys } if (iNdEx + skippy) > l { @@ -401,10 +398,7 @@ func (m *PrivKey) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthKeys - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthKeys } if (iNdEx + skippy) > l { diff --git a/chain/crypto/hd/algorithm.go b/chain/crypto/hd/algorithm.go index f3827463..672991dc 100644 --- a/chain/crypto/hd/algorithm.go +++ b/chain/crypto/hd/algorithm.go @@ -1,16 +1,17 @@ package hd import ( + "github.com/btcsuite/btcd/btcutil/hdkeychain" "github.com/btcsuite/btcd/chaincfg" - "github.com/btcsuite/btcutil/hdkeychain" "github.com/cosmos/cosmos-sdk/crypto/hd" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" ethaccounts "github.com/ethereum/go-ethereum/accounts" ethcrypto "github.com/ethereum/go-ethereum/crypto" "github.com/tyler-smith/go-bip39" - "github.com/InjectiveLabs/sdk-go/chain/crypto/ethsecp256k1" "github.com/cosmos/cosmos-sdk/crypto/keyring" + + "github.com/InjectiveLabs/sdk-go/chain/crypto/ethsecp256k1" ) const ( @@ -71,8 +72,10 @@ func (s ethSecp256k1Algo) Derive() hd.DeriveFn { } key := masterKey + // todo: Child method incompatible, see + // https://pkg.go.dev/github.com/btcsuite/btcd/btcutil/hdkeychain@v1.1.2#ExtendedKey.Derive:~:text=the%20given%20index.-,IMPORTANT,-%3A%20if%20you%20were for _, n := range hdpath { - key, err = key.Child(n) + key, err = key.Derive(n) if err != nil { return nil, err } diff --git a/chain/erc20bridge/client/cli/query.go b/chain/erc20bridge/client/cli/query.go deleted file mode 100644 index 31985b8d..00000000 --- a/chain/erc20bridge/client/cli/query.go +++ /dev/null @@ -1,89 +0,0 @@ -package cli - -import ( - "context" - - "github.com/InjectiveLabs/sdk-go/chain/erc20bridge/types" - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/spf13/cobra" -) - -// GetQueryCmd returns the parent command for all modules/bank CLi query commands. -func GetQueryCmd() *cobra.Command { - cmd := &cobra.Command{ - Use: types.ModuleName, - Short: "Querying commands for the erc20bridge module", - DisableFlagParsing: true, - SuggestionsMinimumDistance: 2, - RunE: client.ValidateCmd, - } - - cmd.AddCommand( - GetBridgesCmd(), - GetHubParamsCmd(), - ) - return cmd -} - -// GetBridgesCmd queries a bridges registered -func GetBridgesCmd() *cobra.Command { - cmd := &cobra.Command{ - Use: "bridges", - Short: "Gets bridges registered", - Long: "Gets bridges registered.", - Args: cobra.ExactArgs(0), - RunE: func(cmd *cobra.Command, args []string) error { - clientCtx := client.GetClientContextFromCmd(cmd) - clientCtx, err := client.GetClientQueryContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - req := &types.QueryBridgesRequest{} - - res, err := queryClient.Bridges(context.Background(), req) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - return cmd -} - -// GetHubParamsCmd queries hub info -func GetHubParamsCmd() *cobra.Command { - cmd := &cobra.Command{ - Use: "hubparams", - Short: "Gets hub info.", - Long: "Gets hub info.", - Args: cobra.ExactArgs(0), - RunE: func(cmd *cobra.Command, args []string) error { - clientCtx := client.GetClientContextFromCmd(cmd) - clientCtx, err := client.GetClientQueryContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - req := &types.QueryHubParamsRequest{} - - res, err := queryClient.HubParams(context.Background(), req) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - return cmd -} diff --git a/chain/erc20bridge/types/codec.go b/chain/erc20bridge/types/codec.go deleted file mode 100644 index 396b908b..00000000 --- a/chain/erc20bridge/types/codec.go +++ /dev/null @@ -1,38 +0,0 @@ -package types - -import ( - "github.com/cosmos/cosmos-sdk/codec" - codectypes "github.com/cosmos/cosmos-sdk/codec/types" - sdk "github.com/cosmos/cosmos-sdk/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" -) - -var ( - // ModuleCdc references the global erc20bridge module codec. Note, the codec should - // ONLY be used in certain instances of tests and for JSON encoding. - // - // The actual codec used for serialization should be provided to modules/erc20bridge and - // defined at the application level. - ModuleCdc = codec.NewProtoCodec(codectypes.NewInterfaceRegistry()) -) - -// RegisterLegacyAminoCodec registers concrete types on the LegacyAmino codec -func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { - cdc.RegisterConcrete(TokenMapping{}, "cosmos-sdk/TokenMapping", nil) - cdc.RegisterConcrete(&RegisterTokenMappingProposal{}, "cosmos-sdk/RegisterTokenMappingProposal", nil) - cdc.RegisterConcrete(&ResetHubProposal{}, "cosmos-sdk/ResetHubProposal", nil) -} - -// RegisterInterfaces register implementations -func RegisterInterfaces(registry codectypes.InterfaceRegistry) { - registry.RegisterImplementations( - (*sdk.Msg)(nil), - &MsgERC20BridgeMint{}, - &MsgInitHub{}, - ) - registry.RegisterImplementations( - (*govtypes.Content)(nil), - &RegisterTokenMappingProposal{}, - &ResetHubProposal{}, - ) -} diff --git a/chain/erc20bridge/types/errors.go b/chain/erc20bridge/types/errors.go deleted file mode 100644 index dff8324a..00000000 --- a/chain/erc20bridge/types/errors.go +++ /dev/null @@ -1,16 +0,0 @@ -package types - -import ( - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -// errors -var ( - ErrInvalidErc20Address = sdkerrors.Register(ModuleName, 1, "invalid erc20 address") - ErrUnmatchingCosmosDenom = sdkerrors.Register(ModuleName, 2, "unmatching cosmos denom") - ErrNotAllowedBridge = sdkerrors.Register(ModuleName, 3, "not allowed bridge") - ErrInternalEthMinting = sdkerrors.Register(ModuleName, 4, "internal ethereum minting error") - ErrInitHubABI = sdkerrors.Register(ModuleName, 5, "init hub abi error") - ErrWritingEthTxPayload = sdkerrors.Register(ModuleName, 6, "writing ethereum tx payload error") - ErrHubAlreadySet = sdkerrors.Register(ModuleName, 7, "hub already set") -) diff --git a/chain/erc20bridge/types/keys.go b/chain/erc20bridge/types/keys.go deleted file mode 100644 index 34dd8648..00000000 --- a/chain/erc20bridge/types/keys.go +++ /dev/null @@ -1,26 +0,0 @@ -package types - -// constants -const ( - // module name - ModuleName = "erc20bridge" - - // StoreKey to be used when creating the KVStore - StoreKey = ModuleName - - // RouterKey to be used for message routing - RouterKey = ModuleName - - // events - EventTypeTemplateCreation = "template_creation" - EventTypeBurn = "burn" - - AttributeKeyAddress = "address" - AttributeKeyProposedCosmosCoin = "propsed_cosmos_coin" - AttributeKeyContractAddress = "burn_contract_address" - AttributeKeyBurnEthAddress = "burn_eth_address" - AttributeKeyRecipientCosmosAddress = "recipient_cosmos_address" - AttributeKeyAmount = "amount" - - TypeMsgMint = "mint_erc20" -) diff --git a/chain/erc20bridge/types/msg_inithub.go b/chain/erc20bridge/types/msg_inithub.go deleted file mode 100644 index 03520bcc..00000000 --- a/chain/erc20bridge/types/msg_inithub.go +++ /dev/null @@ -1,38 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" -) - -var ( - _ sdk.Msg = &MsgInitHub{} -) - -// NewMsgInitHub returns init hub msg instance -func NewMsgInitHub(hub string, proposer sdk.AccAddress) *MsgInitHub { - return &MsgInitHub{ - HubAddress: hub, - Proposer: proposer, - } -} - -// Route should return the name of the module -func (msg MsgInitHub) Route() string { return RouterKey } - -// Type should return the action -func (msg MsgInitHub) Type() string { return "inithub" } - -// ValidateBasic runs stateless checks on the message -func (msg MsgInitHub) ValidateBasic() error { - return nil -} - -// GetSignBytes encodes the message for signing -func (msg *MsgInitHub) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) -} - -// GetSigners defines whose signature is required -func (msg MsgInitHub) GetSigners() []sdk.AccAddress { - return []sdk.AccAddress{msg.Proposer} -} diff --git a/chain/erc20bridge/types/msg_mint.go b/chain/erc20bridge/types/msg_mint.go deleted file mode 100644 index b90afed4..00000000 --- a/chain/erc20bridge/types/msg_mint.go +++ /dev/null @@ -1,60 +0,0 @@ -package types - -import ( - "errors" - "fmt" - - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/ethereum/go-ethereum/common" -) - -var ( - _ sdk.Msg = &MsgERC20BridgeMint{} -) - -// NewMsgERC20BridgeMint returns init hub msg instance -func NewMsgERC20BridgeMint(mapping string, amount string, address string, proposer sdk.AccAddress) *MsgERC20BridgeMint { - return &MsgERC20BridgeMint{ - MappingId: mapping, - Amount: amount, - Address: address, - Proposer: proposer, - } -} - -// Route should return the name of the module -func (msg MsgERC20BridgeMint) Route() string { return RouterKey } - -// Type should return the action -func (msg MsgERC20BridgeMint) Type() string { return TypeMsgMint } - -// ValidateBasic runs stateless checks on the message -func (msg MsgERC20BridgeMint) ValidateBasic() error { - coins, err := sdk.ParseCoinsNormalized(msg.Amount) - if err != nil { - return err - } - if len(coins) > 1 || coins.Empty() { - return fmt.Errorf("invalid coins field: %s", coins.String()) - } - if msg.Proposer.Empty() { - return errors.New("empty proposer") - } - if msg.MappingId == "" { - return errors.New("empty mapping id") - } - if !common.IsHexAddress(msg.Address) { - return errors.New("invalid eth address") - } - return nil -} - -// GetSignBytes encodes the message for signing -func (msg *MsgERC20BridgeMint) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) -} - -// GetSigners defines whose signature is required -func (msg MsgERC20BridgeMint) GetSigners() []sdk.AccAddress { - return []sdk.AccAddress{msg.Proposer} -} diff --git a/chain/erc20bridge/types/params.go b/chain/erc20bridge/types/params.go deleted file mode 100644 index 0136cbc8..00000000 --- a/chain/erc20bridge/types/params.go +++ /dev/null @@ -1,49 +0,0 @@ -package types - -import ( - fmt "fmt" - - paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" - "github.com/ethereum/go-ethereum/common" -) - -// Parameter store key -var ( - ParamStoreKeyHubParams = []byte("hubparams") - // DefaultGasLimit is gas limit we use for erc20bridge internal ethereum transactions - DefaultGasLimit = uint64(100_000_000) // 100M -) - -// ParamKeyTable - Key declaration for parameters -func ParamKeyTable() paramtypes.KeyTable { - return paramtypes.NewKeyTable( - paramtypes.NewParamSetPair(ParamStoreKeyHubParams, HubParams{}, validateHubParams), - ) -} - -// NewParams creates a new Params object -func NewParams(hp HubParams) Params { - return Params{ - HubParams: hp, - } -} - -func validateHubParams(i interface{}) error { - v, ok := i.(HubParams) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - - if len(v.HubAddress) != common.AddressLength { - return fmt.Errorf("invalid hub address: %s", v.HubAddress) - } - - return nil -} - -// ParamSetPairs returns the parameter set pairs. -func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { - return paramtypes.ParamSetPairs{ - paramtypes.NewParamSetPair(ParamStoreKeyHubParams, &p.HubParams, validateHubParams), - } -} diff --git a/chain/erc20bridge/types/params.pb.go b/chain/erc20bridge/types/params.pb.go deleted file mode 100644 index e3ee414c..00000000 --- a/chain/erc20bridge/types/params.pb.go +++ /dev/null @@ -1,502 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: injective/erc20bridge/params.proto - -package types - -import ( - fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -type HubParams struct { - HubAddress string `protobuf:"bytes,1,opt,name=hub_address,json=hubAddress,proto3" json:"hub_address,omitempty" yaml:"hub_address"` -} - -func (m *HubParams) Reset() { *m = HubParams{} } -func (m *HubParams) String() string { return proto.CompactTextString(m) } -func (*HubParams) ProtoMessage() {} -func (*HubParams) Descriptor() ([]byte, []int) { - return fileDescriptor_3b0ff8e9e8aae87d, []int{0} -} -func (m *HubParams) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *HubParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_HubParams.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *HubParams) XXX_Merge(src proto.Message) { - xxx_messageInfo_HubParams.Merge(m, src) -} -func (m *HubParams) XXX_Size() int { - return m.Size() -} -func (m *HubParams) XXX_DiscardUnknown() { - xxx_messageInfo_HubParams.DiscardUnknown(m) -} - -var xxx_messageInfo_HubParams proto.InternalMessageInfo - -func (m *HubParams) GetHubAddress() string { - if m != nil { - return m.HubAddress - } - return "" -} - -type Params struct { - HubParams HubParams `protobuf:"bytes,1,opt,name=hub_params,json=hubParams,proto3" json:"hub_params"` -} - -func (m *Params) Reset() { *m = Params{} } -func (m *Params) String() string { return proto.CompactTextString(m) } -func (*Params) ProtoMessage() {} -func (*Params) Descriptor() ([]byte, []int) { - return fileDescriptor_3b0ff8e9e8aae87d, []int{1} -} -func (m *Params) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Params) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Params.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Params) XXX_Merge(src proto.Message) { - xxx_messageInfo_Params.Merge(m, src) -} -func (m *Params) XXX_Size() int { - return m.Size() -} -func (m *Params) XXX_DiscardUnknown() { - xxx_messageInfo_Params.DiscardUnknown(m) -} - -var xxx_messageInfo_Params proto.InternalMessageInfo - -func (m *Params) GetHubParams() HubParams { - if m != nil { - return m.HubParams - } - return HubParams{} -} - -func init() { - proto.RegisterType((*HubParams)(nil), "injective.erc20bridge.v1beta1.HubParams") - proto.RegisterType((*Params)(nil), "injective.erc20bridge.v1beta1.Params") -} - -func init() { - proto.RegisterFile("injective/erc20bridge/params.proto", fileDescriptor_3b0ff8e9e8aae87d) -} - -var fileDescriptor_3b0ff8e9e8aae87d = []byte{ - // 259 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0xca, 0xcc, 0xcb, 0x4a, - 0x4d, 0x2e, 0xc9, 0x2c, 0x4b, 0xd5, 0x4f, 0x2d, 0x4a, 0x36, 0x32, 0x48, 0x2a, 0xca, 0x4c, 0x49, - 0x4f, 0xd5, 0x2f, 0x48, 0x2c, 0x4a, 0xcc, 0x2d, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, - 0x85, 0xab, 0xd1, 0x43, 0x52, 0xa3, 0x57, 0x66, 0x98, 0x94, 0x5a, 0x92, 0x68, 0x28, 0x25, 0x92, - 0x9e, 0x9f, 0x9e, 0x0f, 0x56, 0xa9, 0x0f, 0x62, 0x41, 0x34, 0x29, 0xb9, 0x70, 0x71, 0x7a, 0x94, - 0x26, 0x05, 0x80, 0xcd, 0x11, 0x32, 0xe7, 0xe2, 0xce, 0x28, 0x4d, 0x8a, 0x4f, 0x4c, 0x49, 0x29, - 0x4a, 0x2d, 0x2e, 0x96, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x74, 0x12, 0xfb, 0x74, 0x4f, 0x5e, 0xa8, - 0x32, 0x31, 0x37, 0xc7, 0x4a, 0x09, 0x49, 0x52, 0x29, 0x88, 0x2b, 0xa3, 0x34, 0xc9, 0x11, 0xca, - 0x09, 0xe7, 0x62, 0x83, 0x1a, 0xe1, 0xcb, 0x05, 0x12, 0x8f, 0x87, 0x38, 0x0c, 0x6c, 0x02, 0xb7, - 0x91, 0x86, 0x1e, 0x5e, 0x97, 0xe9, 0xc1, 0x1d, 0xe0, 0xc4, 0x72, 0xe2, 0x9e, 0x3c, 0x43, 0x10, - 0x67, 0x06, 0x5c, 0x20, 0xfb, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, 0x3c, 0x92, - 0x63, 0x9c, 0xf0, 0x58, 0x8e, 0xe1, 0xc2, 0x63, 0x39, 0x86, 0x1b, 0x8f, 0xe5, 0x18, 0xa2, 0x02, - 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x3d, 0x61, 0xc6, 0xfb, 0x24, - 0x26, 0x15, 0xeb, 0xc3, 0x2d, 0xd3, 0x4d, 0xce, 0x2f, 0x4a, 0x45, 0xe6, 0x66, 0x24, 0x66, 0xe6, - 0xe9, 0xe7, 0xe6, 0xa7, 0x94, 0xe6, 0xa4, 0x16, 0xa3, 0x84, 0x63, 0x49, 0x65, 0x41, 0x6a, 0x71, - 0x12, 0x1b, 0x38, 0x48, 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xf5, 0x12, 0x1e, 0x76, 0x6d, - 0x01, 0x00, 0x00, -} - -func (m *HubParams) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *HubParams) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *HubParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.HubAddress) > 0 { - i -= len(m.HubAddress) - copy(dAtA[i:], m.HubAddress) - i = encodeVarintParams(dAtA, i, uint64(len(m.HubAddress))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *Params) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *Params) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.HubParams.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintParams(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} - -func encodeVarintParams(dAtA []byte, offset int, v uint64) int { - offset -= sovParams(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *HubParams) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.HubAddress) - if l > 0 { - n += 1 + l + sovParams(uint64(l)) - } - return n -} - -func (m *Params) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = m.HubParams.Size() - n += 1 + l + sovParams(uint64(l)) - return n -} - -func sovParams(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozParams(x uint64) (n int) { - return sovParams(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *HubParams) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: HubParams: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: HubParams: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field HubAddress", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthParams - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthParams - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.HubAddress = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipParams(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthParams - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthParams - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *Params) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Params: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Params: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field HubParams", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthParams - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthParams - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.HubParams.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipParams(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthParams - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthParams - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipParams(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowParams - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowParams - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowParams - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthParams - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupParams - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthParams - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthParams = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowParams = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupParams = fmt.Errorf("proto: unexpected end of group") -) diff --git a/chain/erc20bridge/types/proposal.go b/chain/erc20bridge/types/proposal.go deleted file mode 100644 index f7bf1ed3..00000000 --- a/chain/erc20bridge/types/proposal.go +++ /dev/null @@ -1,79 +0,0 @@ -package types - -import ( - fmt "fmt" - - gov "github.com/cosmos/cosmos-sdk/x/gov/types" - "github.com/ethereum/go-ethereum/common" -) - -// constants -const ( - ProposalTypeRegisterTokenMapping string = "RegisterTokenMapping" - ProposalTypeResetHub string = "ResetHub" -) - -func init() { - gov.RegisterProposalType(ProposalTypeRegisterTokenMapping) - gov.RegisterProposalType(ProposalTypeResetHub) - gov.RegisterProposalTypeCodec(&RegisterTokenMappingProposal{}, "cosmos-sdk/RegisterTokenMappingProposal") - gov.RegisterProposalTypeCodec(&ResetHubProposal{}, "cosmos-sdk/ResetHubProposal") -} - -// NewTokenMapping returns an instance of TokenMapping -func NewTokenMapping(name string, erc20Address string, cosmosDenom string, enabled bool) TokenMapping { - return TokenMapping{ - Name: name, - Erc20Address: erc20Address, - CosmosDenom: cosmosDenom, - Enabled: true, - } -} - -// NewRegisterTokenMappingProposal returns new instance of TokenMappingProposal -func NewRegisterTokenMappingProposal(title, description string, mapping TokenMapping) gov.Content { - return &RegisterTokenMappingProposal{title, description, mapping} -} - -// Implements Proposal Interface -var _ gov.Content = &RegisterTokenMappingProposal{} - -// ProposalRoute returns router key for this proposal -func (sup *RegisterTokenMappingProposal) ProposalRoute() string { return RouterKey } - -// ProposalType returns proposal type for this proposal -func (sup *RegisterTokenMappingProposal) ProposalType() string { - return ProposalTypeRegisterTokenMapping -} - -// ValidateBasic returns ValidateBasic result for this proposal -func (sup *RegisterTokenMappingProposal) ValidateBasic() error { - if err := sup.Mapping.ValidateBasic(); err != nil { - return err - } - return gov.ValidateAbstract(sup) -} - -// NewResetHubProposal returns new instance of ResetHubProposal -func NewResetHubProposal(title, description string, hub string) gov.Content { - return &ResetHubProposal{title, description, hub} -} - -// Implements Proposal Interface -var _ gov.Content = &ResetHubProposal{} - -// ProposalRoute returns router key for this proposal -func (rh *ResetHubProposal) ProposalRoute() string { return RouterKey } - -// ProposalType returns proposal type for this proposal -func (rh *ResetHubProposal) ProposalType() string { - return ProposalTypeResetHub -} - -// ValidateBasic returns ValidateBasic result for this proposal -func (rh *ResetHubProposal) ValidateBasic() error { - if !common.IsHexAddress(rh.HubAddress) { - return fmt.Errorf("invalid hub address: %s", rh.HubAddress) - } - return gov.ValidateAbstract(rh) -} diff --git a/chain/erc20bridge/types/proposal.pb.go b/chain/erc20bridge/types/proposal.pb.go deleted file mode 100644 index 9f3edbf8..00000000 --- a/chain/erc20bridge/types/proposal.pb.go +++ /dev/null @@ -1,1132 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: injective/erc20bridge/v1beta1/proposal.proto - -package types - -import ( - fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -// TokenMapping defines a mapping for cosmos denom and erc20 address. -type TokenMapping struct { - // bridge name - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // address of ERC20 contract token - Erc20Address string `protobuf:"bytes,2,opt,name=erc20_address,json=erc20Address,proto3" json:"erc20_address,omitempty"` - // cosmos-native denominator to mapped to ERC20 - CosmosDenom string `protobuf:"bytes,3,opt,name=cosmos_denom,json=cosmosDenom,proto3" json:"cosmos_denom,omitempty"` - // shows token mapping bridge enable status - Enabled bool `protobuf:"varint,4,opt,name=enabled,proto3" json:"enabled,omitempty"` -} - -func (m *TokenMapping) Reset() { *m = TokenMapping{} } -func (m *TokenMapping) String() string { return proto.CompactTextString(m) } -func (*TokenMapping) ProtoMessage() {} -func (*TokenMapping) Descriptor() ([]byte, []int) { - return fileDescriptor_2bc2852485bbfde3, []int{0} -} -func (m *TokenMapping) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TokenMapping) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TokenMapping.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *TokenMapping) XXX_Merge(src proto.Message) { - xxx_messageInfo_TokenMapping.Merge(m, src) -} -func (m *TokenMapping) XXX_Size() int { - return m.Size() -} -func (m *TokenMapping) XXX_DiscardUnknown() { - xxx_messageInfo_TokenMapping.DiscardUnknown(m) -} - -var xxx_messageInfo_TokenMapping proto.InternalMessageInfo - -func (m *TokenMapping) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -func (m *TokenMapping) GetErc20Address() string { - if m != nil { - return m.Erc20Address - } - return "" -} - -func (m *TokenMapping) GetCosmosDenom() string { - if m != nil { - return m.CosmosDenom - } - return "" -} - -func (m *TokenMapping) GetEnabled() bool { - if m != nil { - return m.Enabled - } - return false -} - -// RegisterTokenMappingProposal is a gov Content type to register a token mapping -type RegisterTokenMappingProposal struct { - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - Mapping TokenMapping `protobuf:"bytes,3,opt,name=mapping,proto3" json:"mapping"` -} - -func (m *RegisterTokenMappingProposal) Reset() { *m = RegisterTokenMappingProposal{} } -func (m *RegisterTokenMappingProposal) String() string { return proto.CompactTextString(m) } -func (*RegisterTokenMappingProposal) ProtoMessage() {} -func (*RegisterTokenMappingProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_2bc2852485bbfde3, []int{1} -} -func (m *RegisterTokenMappingProposal) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *RegisterTokenMappingProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_RegisterTokenMappingProposal.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *RegisterTokenMappingProposal) XXX_Merge(src proto.Message) { - xxx_messageInfo_RegisterTokenMappingProposal.Merge(m, src) -} -func (m *RegisterTokenMappingProposal) XXX_Size() int { - return m.Size() -} -func (m *RegisterTokenMappingProposal) XXX_DiscardUnknown() { - xxx_messageInfo_RegisterTokenMappingProposal.DiscardUnknown(m) -} - -var xxx_messageInfo_RegisterTokenMappingProposal proto.InternalMessageInfo - -func (m *RegisterTokenMappingProposal) GetTitle() string { - if m != nil { - return m.Title - } - return "" -} - -func (m *RegisterTokenMappingProposal) GetDescription() string { - if m != nil { - return m.Description - } - return "" -} - -func (m *RegisterTokenMappingProposal) GetMapping() TokenMapping { - if m != nil { - return m.Mapping - } - return TokenMapping{} -} - -// ResetHubProposal is a gov Content type to reset hub -// when reset hub, all the bridges from previous version are derivated -type ResetHubProposal struct { - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - HubAddress string `protobuf:"bytes,3,opt,name=hub_address,json=hubAddress,proto3" json:"hub_address,omitempty" yaml:"hub_address"` -} - -func (m *ResetHubProposal) Reset() { *m = ResetHubProposal{} } -func (m *ResetHubProposal) String() string { return proto.CompactTextString(m) } -func (*ResetHubProposal) ProtoMessage() {} -func (*ResetHubProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_2bc2852485bbfde3, []int{2} -} -func (m *ResetHubProposal) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ResetHubProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ResetHubProposal.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *ResetHubProposal) XXX_Merge(src proto.Message) { - xxx_messageInfo_ResetHubProposal.Merge(m, src) -} -func (m *ResetHubProposal) XXX_Size() int { - return m.Size() -} -func (m *ResetHubProposal) XXX_DiscardUnknown() { - xxx_messageInfo_ResetHubProposal.DiscardUnknown(m) -} - -var xxx_messageInfo_ResetHubProposal proto.InternalMessageInfo - -func (m *ResetHubProposal) GetTitle() string { - if m != nil { - return m.Title - } - return "" -} - -func (m *ResetHubProposal) GetDescription() string { - if m != nil { - return m.Description - } - return "" -} - -func (m *ResetHubProposal) GetHubAddress() string { - if m != nil { - return m.HubAddress - } - return "" -} - -func init() { - proto.RegisterType((*TokenMapping)(nil), "injective.erc20bridge.v1beta1.TokenMapping") - proto.RegisterType((*RegisterTokenMappingProposal)(nil), "injective.erc20bridge.v1beta1.RegisterTokenMappingProposal") - proto.RegisterType((*ResetHubProposal)(nil), "injective.erc20bridge.v1beta1.ResetHubProposal") -} - -func init() { - proto.RegisterFile("injective/erc20bridge/v1beta1/proposal.proto", fileDescriptor_2bc2852485bbfde3) -} - -var fileDescriptor_2bc2852485bbfde3 = []byte{ - // 405 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x92, 0xb1, 0xae, 0xd3, 0x30, - 0x14, 0x86, 0x63, 0x08, 0x5c, 0x70, 0x8a, 0x84, 0xac, 0x2b, 0x14, 0x21, 0x48, 0x4b, 0x58, 0xae, - 0x04, 0x24, 0xdc, 0xcb, 0x80, 0xd4, 0x8d, 0x8a, 0x01, 0x04, 0x48, 0x10, 0x31, 0xb1, 0x54, 0x76, - 0x72, 0x94, 0x98, 0x26, 0x76, 0x64, 0x3b, 0x95, 0xfa, 0x08, 0x30, 0xf1, 0x08, 0xac, 0xbc, 0x49, - 0xc7, 0x8e, 0x4c, 0x15, 0x6a, 0x17, 0x66, 0x9e, 0x00, 0xd5, 0x49, 0xaa, 0xb0, 0xb0, 0xdc, 0xcd, - 0xe7, 0x3f, 0x7f, 0x4e, 0xbe, 0xf3, 0xeb, 0xe0, 0xc7, 0x5c, 0x7c, 0x86, 0xd4, 0xf0, 0x25, 0xc4, - 0xa0, 0xd2, 0x8b, 0xa7, 0x4c, 0xf1, 0x2c, 0x87, 0x78, 0x79, 0xce, 0xc0, 0xd0, 0xf3, 0xb8, 0x56, - 0xb2, 0x96, 0x9a, 0x96, 0x51, 0xad, 0xa4, 0x91, 0xe4, 0xfe, 0xd1, 0x1d, 0x0d, 0xdc, 0x51, 0xe7, - 0xbe, 0x7b, 0x9a, 0xcb, 0x5c, 0x5a, 0x67, 0x7c, 0x78, 0xb5, 0x1f, 0x85, 0x5f, 0x11, 0x1e, 0x7d, - 0x94, 0x0b, 0x10, 0xef, 0x68, 0x5d, 0x73, 0x91, 0x13, 0x82, 0x5d, 0x41, 0x2b, 0xf0, 0xd1, 0x04, - 0x9d, 0xdd, 0x4c, 0xec, 0x9b, 0x3c, 0xc4, 0xb7, 0xec, 0xc4, 0x39, 0xcd, 0x32, 0x05, 0x5a, 0xfb, - 0x57, 0x6c, 0x73, 0x64, 0xc5, 0x17, 0xad, 0x46, 0x1e, 0xe0, 0x51, 0x2a, 0x75, 0x25, 0xf5, 0x3c, - 0x03, 0x21, 0x2b, 0xff, 0xaa, 0xf5, 0x78, 0xad, 0xf6, 0xf2, 0x20, 0x11, 0x1f, 0x9f, 0x80, 0xa0, - 0xac, 0x84, 0xcc, 0x77, 0x27, 0xe8, 0xec, 0x46, 0xd2, 0x97, 0x53, 0xf7, 0xf7, 0xf7, 0x31, 0x0a, - 0x7f, 0x20, 0x7c, 0x2f, 0x81, 0x9c, 0x6b, 0x03, 0x6a, 0x08, 0xf5, 0xbe, 0x5b, 0x94, 0x9c, 0xe2, - 0x6b, 0x86, 0x9b, 0xb2, 0xa7, 0x6b, 0x0b, 0x32, 0xc1, 0x5e, 0x06, 0x3a, 0x55, 0xbc, 0x36, 0x5c, - 0x8a, 0x0e, 0x6e, 0x28, 0x91, 0x37, 0xf8, 0xa4, 0x6a, 0x47, 0x59, 0x2c, 0xef, 0xe2, 0x51, 0xf4, - 0xdf, 0xb0, 0xa2, 0xe1, 0xdf, 0x67, 0xee, 0x7a, 0x3b, 0x76, 0x92, 0x7e, 0x42, 0xc7, 0xfa, 0x05, - 0xe1, 0xdb, 0x09, 0x68, 0x30, 0xaf, 0x1a, 0x76, 0x69, 0xbe, 0xe7, 0xd8, 0x2b, 0x1a, 0x76, 0x8c, - 0xd7, 0x46, 0x37, 0xbb, 0xf3, 0x67, 0x3b, 0x26, 0x2b, 0x5a, 0x95, 0xd3, 0x70, 0xd0, 0x0c, 0x13, - 0x5c, 0x34, 0xac, 0x0b, 0xbd, 0x65, 0x99, 0x2d, 0xd6, 0xbb, 0x00, 0x6d, 0x76, 0x01, 0xfa, 0xb5, - 0x0b, 0xd0, 0xb7, 0x7d, 0xe0, 0x6c, 0xf6, 0x81, 0xf3, 0x73, 0x1f, 0x38, 0x9f, 0x3e, 0xe4, 0xdc, - 0x14, 0x0d, 0x8b, 0x52, 0x59, 0xc5, 0xaf, 0xfb, 0x8d, 0xdf, 0x52, 0xa6, 0xe3, 0xe3, 0xfe, 0x4f, - 0x52, 0xa9, 0x60, 0x58, 0x16, 0x94, 0x8b, 0xb8, 0x92, 0x59, 0x53, 0x82, 0xfe, 0xe7, 0xee, 0xcc, - 0xaa, 0x06, 0xcd, 0xae, 0xdb, 0xc3, 0x79, 0xf6, 0x37, 0x00, 0x00, 0xff, 0xff, 0x31, 0x56, 0x5f, - 0x78, 0x9d, 0x02, 0x00, 0x00, -} - -func (this *TokenMapping) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - that1, ok := that.(*TokenMapping) - if !ok { - that2, ok := that.(TokenMapping) - if ok { - that1 = &that2 - } else { - return false - } - } - if that1 == nil { - return this == nil - } else if this == nil { - return false - } - if this.Name != that1.Name { - return false - } - if this.Erc20Address != that1.Erc20Address { - return false - } - if this.CosmosDenom != that1.CosmosDenom { - return false - } - if this.Enabled != that1.Enabled { - return false - } - return true -} -func (this *RegisterTokenMappingProposal) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - that1, ok := that.(*RegisterTokenMappingProposal) - if !ok { - that2, ok := that.(RegisterTokenMappingProposal) - if ok { - that1 = &that2 - } else { - return false - } - } - if that1 == nil { - return this == nil - } else if this == nil { - return false - } - if this.Title != that1.Title { - return false - } - if this.Description != that1.Description { - return false - } - if !this.Mapping.Equal(&that1.Mapping) { - return false - } - return true -} -func (this *ResetHubProposal) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - that1, ok := that.(*ResetHubProposal) - if !ok { - that2, ok := that.(ResetHubProposal) - if ok { - that1 = &that2 - } else { - return false - } - } - if that1 == nil { - return this == nil - } else if this == nil { - return false - } - if this.Title != that1.Title { - return false - } - if this.Description != that1.Description { - return false - } - if this.HubAddress != that1.HubAddress { - return false - } - return true -} -func (m *TokenMapping) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *TokenMapping) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TokenMapping) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Enabled { - i-- - if m.Enabled { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x20 - } - if len(m.CosmosDenom) > 0 { - i -= len(m.CosmosDenom) - copy(dAtA[i:], m.CosmosDenom) - i = encodeVarintProposal(dAtA, i, uint64(len(m.CosmosDenom))) - i-- - dAtA[i] = 0x1a - } - if len(m.Erc20Address) > 0 { - i -= len(m.Erc20Address) - copy(dAtA[i:], m.Erc20Address) - i = encodeVarintProposal(dAtA, i, uint64(len(m.Erc20Address))) - i-- - dAtA[i] = 0x12 - } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = encodeVarintProposal(dAtA, i, uint64(len(m.Name))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *RegisterTokenMappingProposal) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *RegisterTokenMappingProposal) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *RegisterTokenMappingProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.Mapping.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintProposal(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = encodeVarintProposal(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x12 - } - if len(m.Title) > 0 { - i -= len(m.Title) - copy(dAtA[i:], m.Title) - i = encodeVarintProposal(dAtA, i, uint64(len(m.Title))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ResetHubProposal) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ResetHubProposal) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *ResetHubProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.HubAddress) > 0 { - i -= len(m.HubAddress) - copy(dAtA[i:], m.HubAddress) - i = encodeVarintProposal(dAtA, i, uint64(len(m.HubAddress))) - i-- - dAtA[i] = 0x1a - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = encodeVarintProposal(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x12 - } - if len(m.Title) > 0 { - i -= len(m.Title) - copy(dAtA[i:], m.Title) - i = encodeVarintProposal(dAtA, i, uint64(len(m.Title))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintProposal(dAtA []byte, offset int, v uint64) int { - offset -= sovProposal(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *TokenMapping) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Name) - if l > 0 { - n += 1 + l + sovProposal(uint64(l)) - } - l = len(m.Erc20Address) - if l > 0 { - n += 1 + l + sovProposal(uint64(l)) - } - l = len(m.CosmosDenom) - if l > 0 { - n += 1 + l + sovProposal(uint64(l)) - } - if m.Enabled { - n += 2 - } - return n -} - -func (m *RegisterTokenMappingProposal) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Title) - if l > 0 { - n += 1 + l + sovProposal(uint64(l)) - } - l = len(m.Description) - if l > 0 { - n += 1 + l + sovProposal(uint64(l)) - } - l = m.Mapping.Size() - n += 1 + l + sovProposal(uint64(l)) - return n -} - -func (m *ResetHubProposal) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Title) - if l > 0 { - n += 1 + l + sovProposal(uint64(l)) - } - l = len(m.Description) - if l > 0 { - n += 1 + l + sovProposal(uint64(l)) - } - l = len(m.HubAddress) - if l > 0 { - n += 1 + l + sovProposal(uint64(l)) - } - return n -} - -func sovProposal(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozProposal(x uint64) (n int) { - return sovProposal(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *TokenMapping) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProposal - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: TokenMapping: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: TokenMapping: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProposal - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProposal - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProposal - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Name = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Erc20Address", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProposal - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProposal - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProposal - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Erc20Address = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CosmosDenom", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProposal - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProposal - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProposal - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.CosmosDenom = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Enabled", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProposal - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Enabled = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := skipProposal(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthProposal - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthProposal - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *RegisterTokenMappingProposal) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProposal - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: RegisterTokenMappingProposal: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: RegisterTokenMappingProposal: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Title", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProposal - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProposal - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProposal - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Title = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProposal - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProposal - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProposal - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Description = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Mapping", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProposal - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthProposal - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthProposal - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Mapping.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProposal(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthProposal - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthProposal - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ResetHubProposal) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProposal - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ResetHubProposal: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ResetHubProposal: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Title", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProposal - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProposal - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProposal - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Title = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProposal - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProposal - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProposal - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Description = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field HubAddress", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProposal - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProposal - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProposal - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.HubAddress = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProposal(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthProposal - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthProposal - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipProposal(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowProposal - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowProposal - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowProposal - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthProposal - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupProposal - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthProposal - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthProposal = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowProposal = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupProposal = fmt.Errorf("proto: unexpected end of group") -) diff --git a/chain/erc20bridge/types/query.pb.go b/chain/erc20bridge/types/query.pb.go deleted file mode 100644 index b012ac65..00000000 --- a/chain/erc20bridge/types/query.pb.go +++ /dev/null @@ -1,896 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: injective/erc20bridge/query.proto - -package types - -import ( - context "context" - fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" - _ "google.golang.org/genproto/googleapis/api/annotations" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -// QueryBridgesRequest is the request type for the Query/Storage RPC method. -type QueryBridgesRequest struct { -} - -func (m *QueryBridgesRequest) Reset() { *m = QueryBridgesRequest{} } -func (m *QueryBridgesRequest) String() string { return proto.CompactTextString(m) } -func (*QueryBridgesRequest) ProtoMessage() {} -func (*QueryBridgesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_53a294784115eb11, []int{0} -} -func (m *QueryBridgesRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryBridgesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryBridgesRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryBridgesRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryBridgesRequest.Merge(m, src) -} -func (m *QueryBridgesRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryBridgesRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryBridgesRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryBridgesRequest proto.InternalMessageInfo - -// QueryBridgesResponse is the response type for the Query/Storage RPC -// method. -type QueryBridgesResponse struct { - Data []TokenMapping `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` -} - -func (m *QueryBridgesResponse) Reset() { *m = QueryBridgesResponse{} } -func (m *QueryBridgesResponse) String() string { return proto.CompactTextString(m) } -func (*QueryBridgesResponse) ProtoMessage() {} -func (*QueryBridgesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_53a294784115eb11, []int{1} -} -func (m *QueryBridgesResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryBridgesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryBridgesResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryBridgesResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryBridgesResponse.Merge(m, src) -} -func (m *QueryBridgesResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryBridgesResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryBridgesResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryBridgesResponse proto.InternalMessageInfo - -func (m *QueryBridgesResponse) GetData() []TokenMapping { - if m != nil { - return m.Data - } - return nil -} - -// QueryHubParamsRequest is the request type for the Query/Storage RPC method. -type QueryHubParamsRequest struct { -} - -func (m *QueryHubParamsRequest) Reset() { *m = QueryHubParamsRequest{} } -func (m *QueryHubParamsRequest) String() string { return proto.CompactTextString(m) } -func (*QueryHubParamsRequest) ProtoMessage() {} -func (*QueryHubParamsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_53a294784115eb11, []int{2} -} -func (m *QueryHubParamsRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryHubParamsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryHubParamsRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryHubParamsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryHubParamsRequest.Merge(m, src) -} -func (m *QueryHubParamsRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryHubParamsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryHubParamsRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryHubParamsRequest proto.InternalMessageInfo - -// QueryHubParamsResponse is the response type for the Query/Storage RPC -// method. -type QueryHubParamsResponse struct { - Data HubParams `protobuf:"bytes,1,opt,name=data,proto3" json:"data"` -} - -func (m *QueryHubParamsResponse) Reset() { *m = QueryHubParamsResponse{} } -func (m *QueryHubParamsResponse) String() string { return proto.CompactTextString(m) } -func (*QueryHubParamsResponse) ProtoMessage() {} -func (*QueryHubParamsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_53a294784115eb11, []int{3} -} -func (m *QueryHubParamsResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryHubParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryHubParamsResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryHubParamsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryHubParamsResponse.Merge(m, src) -} -func (m *QueryHubParamsResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryHubParamsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryHubParamsResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryHubParamsResponse proto.InternalMessageInfo - -func (m *QueryHubParamsResponse) GetData() HubParams { - if m != nil { - return m.Data - } - return HubParams{} -} - -func init() { - proto.RegisterType((*QueryBridgesRequest)(nil), "injective.erc20bridge.v1beta1.QueryBridgesRequest") - proto.RegisterType((*QueryBridgesResponse)(nil), "injective.erc20bridge.v1beta1.QueryBridgesResponse") - proto.RegisterType((*QueryHubParamsRequest)(nil), "injective.erc20bridge.v1beta1.QueryHubParamsRequest") - proto.RegisterType((*QueryHubParamsResponse)(nil), "injective.erc20bridge.v1beta1.QueryHubParamsResponse") -} - -func init() { proto.RegisterFile("injective/erc20bridge/query.proto", fileDescriptor_53a294784115eb11) } - -var fileDescriptor_53a294784115eb11 = []byte{ - // 408 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0xcc, 0xcc, 0xcb, 0x4a, - 0x4d, 0x2e, 0xc9, 0x2c, 0x4b, 0xd5, 0x4f, 0x2d, 0x4a, 0x36, 0x32, 0x48, 0x2a, 0xca, 0x4c, 0x49, - 0x4f, 0xd5, 0x2f, 0x2c, 0x4d, 0x2d, 0xaa, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0x85, - 0x2b, 0xd1, 0x43, 0x52, 0xa2, 0x57, 0x66, 0x98, 0x94, 0x5a, 0x92, 0x68, 0x28, 0xa5, 0x82, 0xdd, - 0x84, 0x82, 0xa2, 0xfc, 0x82, 0xfc, 0xe2, 0xc4, 0x1c, 0x88, 0x21, 0x52, 0x4a, 0x38, 0x54, 0x25, - 0x16, 0x25, 0xe6, 0x16, 0x43, 0xd5, 0xc8, 0xa4, 0xe7, 0xe7, 0xa7, 0xe7, 0xa4, 0xea, 0x27, 0x16, - 0x64, 0xea, 0x27, 0xe6, 0xe5, 0xe5, 0x97, 0x24, 0x96, 0x64, 0xe6, 0xe7, 0xc1, 0x64, 0x45, 0xd2, - 0xf3, 0xd3, 0xf3, 0xc1, 0x4c, 0x7d, 0x10, 0x0b, 0x22, 0xaa, 0x24, 0xca, 0x25, 0x1c, 0x08, 0x72, - 0xab, 0x13, 0xd8, 0xbc, 0xe2, 0xa0, 0xd4, 0xc2, 0xd2, 0xd4, 0xe2, 0x12, 0xa5, 0x58, 0x2e, 0x11, - 0x54, 0xe1, 0xe2, 0x82, 0xfc, 0xbc, 0xe2, 0x54, 0x21, 0x57, 0x2e, 0x96, 0x94, 0xc4, 0x92, 0x44, - 0x09, 0x46, 0x05, 0x66, 0x0d, 0x6e, 0x23, 0x6d, 0x3d, 0xbc, 0x5e, 0xd3, 0x0b, 0xc9, 0xcf, 0x4e, - 0xcd, 0xf3, 0x4d, 0x2c, 0x28, 0xc8, 0xcc, 0x4b, 0x77, 0x62, 0x39, 0x71, 0x4f, 0x9e, 0x21, 0x08, - 0xac, 0x5d, 0x49, 0x9c, 0x4b, 0x14, 0x6c, 0xbc, 0x47, 0x69, 0x52, 0x00, 0xd8, 0x07, 0x30, 0x7b, - 0x63, 0xb8, 0xc4, 0xd0, 0x25, 0xa0, 0x36, 0x3b, 0xc1, 0x6d, 0x66, 0xd4, 0xe0, 0x36, 0xd2, 0x20, - 0x60, 0x33, 0x5c, 0x3f, 0xb2, 0xb5, 0x46, 0x37, 0x99, 0xb8, 0x58, 0xc1, 0xc6, 0x0b, 0x2d, 0x62, - 0xe4, 0x62, 0x87, 0xfa, 0x4d, 0xc8, 0x88, 0x80, 0x59, 0x58, 0xc2, 0x47, 0xca, 0x98, 0x24, 0x3d, - 0x10, 0x2f, 0x28, 0xe9, 0x35, 0x5d, 0x7e, 0x32, 0x99, 0x49, 0x43, 0x48, 0x4d, 0x1f, 0x7b, 0x64, - 0x42, 0x35, 0xeb, 0x27, 0x41, 0x1d, 0xb6, 0x8a, 0x91, 0x8b, 0x13, 0xee, 0x11, 0x21, 0x13, 0x62, - 0xac, 0x44, 0x0f, 0x50, 0x29, 0x53, 0x12, 0x75, 0x41, 0x9d, 0x6a, 0x00, 0x76, 0xaa, 0x96, 0x90, - 0x06, 0x01, 0xa7, 0x66, 0x94, 0x26, 0x41, 0x92, 0xa0, 0x53, 0xf6, 0x89, 0x47, 0x72, 0x8c, 0x17, - 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, 0x85, 0xc7, 0x72, 0x0c, - 0x37, 0x1e, 0xcb, 0x31, 0x44, 0x05, 0xa6, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, - 0xea, 0x7b, 0xc2, 0x4c, 0xf3, 0x49, 0x4c, 0x2a, 0x46, 0x98, 0xad, 0x9b, 0x9c, 0x5f, 0x94, 0x8a, - 0xcc, 0xcd, 0x48, 0xcc, 0xcc, 0xd3, 0xcf, 0xcd, 0x4f, 0x29, 0xcd, 0x49, 0x2d, 0x46, 0xb1, 0xb8, - 0xa4, 0xb2, 0x20, 0xb5, 0x38, 0x89, 0x0d, 0x9c, 0x78, 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, - 0x84, 0x33, 0xc5, 0x03, 0x7e, 0x03, 0x00, 0x00, -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConn - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 - -// QueryClient is the client API for Query service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type QueryClient interface { - // Retrieves registered bridges - Bridges(ctx context.Context, in *QueryBridgesRequest, opts ...grpc.CallOption) (*QueryBridgesResponse, error) - // Retrieves hub params - HubParams(ctx context.Context, in *QueryHubParamsRequest, opts ...grpc.CallOption) (*QueryHubParamsResponse, error) -} - -type queryClient struct { - cc grpc1.ClientConn -} - -func NewQueryClient(cc grpc1.ClientConn) QueryClient { - return &queryClient{cc} -} - -func (c *queryClient) Bridges(ctx context.Context, in *QueryBridgesRequest, opts ...grpc.CallOption) (*QueryBridgesResponse, error) { - out := new(QueryBridgesResponse) - err := c.cc.Invoke(ctx, "/injective.erc20bridge.v1beta1.Query/Bridges", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) HubParams(ctx context.Context, in *QueryHubParamsRequest, opts ...grpc.CallOption) (*QueryHubParamsResponse, error) { - out := new(QueryHubParamsResponse) - err := c.cc.Invoke(ctx, "/injective.erc20bridge.v1beta1.Query/HubParams", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// QueryServer is the server API for Query service. -type QueryServer interface { - // Retrieves registered bridges - Bridges(context.Context, *QueryBridgesRequest) (*QueryBridgesResponse, error) - // Retrieves hub params - HubParams(context.Context, *QueryHubParamsRequest) (*QueryHubParamsResponse, error) -} - -// UnimplementedQueryServer can be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} - -func (*UnimplementedQueryServer) Bridges(ctx context.Context, req *QueryBridgesRequest) (*QueryBridgesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Bridges not implemented") -} -func (*UnimplementedQueryServer) HubParams(ctx context.Context, req *QueryHubParamsRequest) (*QueryHubParamsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method HubParams not implemented") -} - -func RegisterQueryServer(s grpc1.Server, srv QueryServer) { - s.RegisterService(&_Query_serviceDesc, srv) -} - -func _Query_Bridges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryBridgesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).Bridges(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/injective.erc20bridge.v1beta1.Query/Bridges", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).Bridges(ctx, req.(*QueryBridgesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_HubParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryHubParamsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).HubParams(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/injective.erc20bridge.v1beta1.Query/HubParams", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).HubParams(ctx, req.(*QueryHubParamsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _Query_serviceDesc = grpc.ServiceDesc{ - ServiceName: "injective.erc20bridge.v1beta1.Query", - HandlerType: (*QueryServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Bridges", - Handler: _Query_Bridges_Handler, - }, - { - MethodName: "HubParams", - Handler: _Query_HubParams_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "injective/erc20bridge/query.proto", -} - -func (m *QueryBridgesRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryBridgesRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryBridgesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *QueryBridgesResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryBridgesResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryBridgesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Data) > 0 { - for iNdEx := len(m.Data) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Data[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *QueryHubParamsRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryHubParamsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryHubParamsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *QueryHubParamsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryHubParamsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryHubParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.Data.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} - -func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { - offset -= sovQuery(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *QueryBridgesRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *QueryBridgesResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.Data) > 0 { - for _, e := range m.Data { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - return n -} - -func (m *QueryHubParamsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *QueryHubParamsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = m.Data.Size() - n += 1 + l + sovQuery(uint64(l)) - return n -} - -func sovQuery(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozQuery(x uint64) (n int) { - return sovQuery(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *QueryBridgesRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryBridgesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryBridgesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryBridgesResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryBridgesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryBridgesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Data = append(m.Data, TokenMapping{}) - if err := m.Data[len(m.Data)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryHubParamsRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryHubParamsRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryHubParamsRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryHubParamsResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryHubParamsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryHubParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Data.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipQuery(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowQuery - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowQuery - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowQuery - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthQuery - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupQuery - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthQuery - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthQuery = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowQuery = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupQuery = fmt.Errorf("proto: unexpected end of group") -) diff --git a/chain/erc20bridge/types/query.pb.gw.go b/chain/erc20bridge/types/query.pb.gw.go deleted file mode 100644 index e9882907..00000000 --- a/chain/erc20bridge/types/query.pb.gw.go +++ /dev/null @@ -1,210 +0,0 @@ -// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. -// source: injective/erc20bridge/query.proto - -/* -Package types is a reverse proxy. - -It translates gRPC into RESTful JSON APIs. -*/ -package types - -import ( - "context" - "io" - "net/http" - - "github.com/golang/protobuf/descriptor" - "github.com/golang/protobuf/proto" - "github.com/grpc-ecosystem/grpc-gateway/runtime" - "github.com/grpc-ecosystem/grpc-gateway/utilities" - "google.golang.org/grpc" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/grpclog" - "google.golang.org/grpc/status" -) - -// Suppress "imported and not used" errors -var _ codes.Code -var _ io.Reader -var _ status.Status -var _ = runtime.String -var _ = utilities.NewDoubleArray -var _ = descriptor.ForMessage - -func request_Query_Bridges_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryBridgesRequest - var metadata runtime.ServerMetadata - - msg, err := client.Bridges(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_Bridges_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryBridgesRequest - var metadata runtime.ServerMetadata - - msg, err := server.Bridges(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Query_HubParams_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryHubParamsRequest - var metadata runtime.ServerMetadata - - msg, err := client.HubParams(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_HubParams_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryHubParamsRequest - var metadata runtime.ServerMetadata - - msg, err := server.HubParams(ctx, &protoReq) - return msg, metadata, err - -} - -// RegisterQueryHandlerServer registers the http handlers for service Query to "mux". -// UnaryRPC :call QueryServer directly. -// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. -// Note that using this registration option will cause many gRPC library features (such as grpc.SendHeader, etc) to stop working. Consider using RegisterQueryHandlerFromEndpoint instead. -func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, server QueryServer) error { - - mux.Handle("GET", pattern_Query_Bridges_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Query_Bridges_0(rctx, inboundMarshaler, server, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Query_Bridges_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_HubParams_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Query_HubParams_0(rctx, inboundMarshaler, server, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Query_HubParams_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -// RegisterQueryHandlerFromEndpoint is same as RegisterQueryHandler but -// automatically dials to "endpoint" and closes the connection when "ctx" gets done. -func RegisterQueryHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) - if err != nil { - return err - } - defer func() { - if err != nil { - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - return - } - go func() { - <-ctx.Done() - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - }() - }() - - return RegisterQueryHandler(ctx, mux, conn) -} - -// RegisterQueryHandler registers the http handlers for service Query to "mux". -// The handlers forward requests to the grpc endpoint over "conn". -func RegisterQueryHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { - return RegisterQueryHandlerClient(ctx, mux, NewQueryClient(conn)) -} - -// RegisterQueryHandlerClient registers the http handlers for service Query -// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "QueryClient". -// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "QueryClient" -// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in -// "QueryClient" to call the correct interceptors. -func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, client QueryClient) error { - - mux.Handle("GET", pattern_Query_Bridges_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Query_Bridges_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Query_Bridges_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_HubParams_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Query_HubParams_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Query_HubParams_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -var ( - pattern_Query_Bridges_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"injective", "erc20bridge", "v1beta1", "bridges"}, "", runtime.AssumeColonVerbOpt(true))) - - pattern_Query_HubParams_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"injective", "erc20bridge", "v1beta1", "hubparams"}, "", runtime.AssumeColonVerbOpt(true))) -) - -var ( - forward_Query_Bridges_0 = runtime.ForwardResponseMessage - - forward_Query_HubParams_0 = runtime.ForwardResponseMessage -) diff --git a/chain/erc20bridge/types/token_mapping.go b/chain/erc20bridge/types/token_mapping.go deleted file mode 100644 index d514d2f1..00000000 --- a/chain/erc20bridge/types/token_mapping.go +++ /dev/null @@ -1,21 +0,0 @@ -package types - -import ( - fmt "fmt" - - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/ethereum/go-ethereum/common" -) - -// ValidateBasic does basic validation of a TokenMapping -func (v TokenMapping) ValidateBasic() error { - if err := sdk.ValidateDenom(v.CosmosDenom); err != nil { - return fmt.Errorf("invalid cosmos denom: %s: %s", v.CosmosDenom, err.Error()) - } - - if !common.IsHexAddress(v.Erc20Address) { - return fmt.Errorf("invalid child address: %s", v.Erc20Address) - } - - return nil -} diff --git a/chain/erc20bridge/types/tx.pb.go b/chain/erc20bridge/types/tx.pb.go deleted file mode 100644 index 5c919e44..00000000 --- a/chain/erc20bridge/types/tx.pb.go +++ /dev/null @@ -1,718 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: injective/erc20bridge/tx.proto - -package types - -import ( - fmt "fmt" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -// MsgInitHub describes a message to init ERC20 parent contract inside bridge keeper -type MsgInitHub struct { - HubAddress string `protobuf:"bytes,1,opt,name=hub_address,json=hubAddress,proto3" json:"hub_address,omitempty" yaml:"hub_address"` - Proposer github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,2,opt,name=proposer,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"proposer,omitempty" yaml:"proposer"` -} - -func (m *MsgInitHub) Reset() { *m = MsgInitHub{} } -func (m *MsgInitHub) String() string { return proto.CompactTextString(m) } -func (*MsgInitHub) ProtoMessage() {} -func (*MsgInitHub) Descriptor() ([]byte, []int) { - return fileDescriptor_f3d69c0f4664bc25, []int{0} -} -func (m *MsgInitHub) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgInitHub) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgInitHub.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *MsgInitHub) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgInitHub.Merge(m, src) -} -func (m *MsgInitHub) XXX_Size() int { - return m.Size() -} -func (m *MsgInitHub) XXX_DiscardUnknown() { - xxx_messageInfo_MsgInitHub.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgInitHub proto.InternalMessageInfo - -func (m *MsgInitHub) GetHubAddress() string { - if m != nil { - return m.HubAddress - } - return "" -} - -func (m *MsgInitHub) GetProposer() github_com_cosmos_cosmos_sdk_types.AccAddress { - if m != nil { - return m.Proposer - } - return nil -} - -type MsgERC20BridgeMint struct { - // ID of token mapping registered on bridge - MappingId string `protobuf:"bytes,1,opt,name=mapping_id,json=mappingId,proto3" json:"mapping_id,omitempty"` - // amount of token to mint - Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` - // iEVM address to receive ERC20 token - Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty" yaml:"address"` - // cosmos address - Proposer github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,4,opt,name=proposer,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"proposer,omitempty" yaml:"proposer"` -} - -func (m *MsgERC20BridgeMint) Reset() { *m = MsgERC20BridgeMint{} } -func (m *MsgERC20BridgeMint) String() string { return proto.CompactTextString(m) } -func (*MsgERC20BridgeMint) ProtoMessage() {} -func (*MsgERC20BridgeMint) Descriptor() ([]byte, []int) { - return fileDescriptor_f3d69c0f4664bc25, []int{1} -} -func (m *MsgERC20BridgeMint) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgERC20BridgeMint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgERC20BridgeMint.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *MsgERC20BridgeMint) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgERC20BridgeMint.Merge(m, src) -} -func (m *MsgERC20BridgeMint) XXX_Size() int { - return m.Size() -} -func (m *MsgERC20BridgeMint) XXX_DiscardUnknown() { - xxx_messageInfo_MsgERC20BridgeMint.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgERC20BridgeMint proto.InternalMessageInfo - -func (m *MsgERC20BridgeMint) GetMappingId() string { - if m != nil { - return m.MappingId - } - return "" -} - -func (m *MsgERC20BridgeMint) GetAmount() string { - if m != nil { - return m.Amount - } - return "" -} - -func (m *MsgERC20BridgeMint) GetAddress() string { - if m != nil { - return m.Address - } - return "" -} - -func (m *MsgERC20BridgeMint) GetProposer() github_com_cosmos_cosmos_sdk_types.AccAddress { - if m != nil { - return m.Proposer - } - return nil -} - -func init() { - proto.RegisterType((*MsgInitHub)(nil), "injective.erc20bridge.v1beta1.MsgInitHub") - proto.RegisterType((*MsgERC20BridgeMint)(nil), "injective.erc20bridge.v1beta1.MsgERC20BridgeMint") -} - -func init() { proto.RegisterFile("injective/erc20bridge/tx.proto", fileDescriptor_f3d69c0f4664bc25) } - -var fileDescriptor_f3d69c0f4664bc25 = []byte{ - // 367 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x92, 0xcf, 0x4a, 0xeb, 0x40, - 0x14, 0xc6, 0x3b, 0xf7, 0x5e, 0x7a, 0xed, 0x28, 0x0a, 0x83, 0x94, 0x22, 0x34, 0x29, 0x59, 0x75, - 0x61, 0x93, 0xb6, 0x2e, 0x04, 0x77, 0x8d, 0x0a, 0x16, 0xec, 0xc2, 0x2c, 0xdd, 0xd4, 0x4c, 0x32, - 0x24, 0x63, 0x9b, 0x4c, 0x98, 0x99, 0x14, 0xfb, 0x16, 0xbe, 0x85, 0xaf, 0xe2, 0xb2, 0x4b, 0x41, - 0x08, 0xd2, 0xbe, 0x41, 0x97, 0xae, 0xa4, 0xf9, 0x47, 0xfa, 0x00, 0xae, 0x66, 0xce, 0x7c, 0xe7, - 0x1c, 0xbe, 0x1f, 0xdf, 0x40, 0x85, 0x86, 0xcf, 0xc4, 0x91, 0x74, 0x41, 0x0c, 0xc2, 0x9d, 0x61, - 0x1f, 0x73, 0xea, 0x7a, 0xc4, 0x90, 0x2f, 0x7a, 0xc4, 0x99, 0x64, 0xa8, 0x5d, 0xea, 0x7a, 0x45, - 0xd7, 0x17, 0x03, 0x4c, 0xa4, 0x3d, 0x38, 0x3b, 0xf5, 0x98, 0xc7, 0xd2, 0x4e, 0x63, 0x77, 0xcb, - 0x86, 0xb4, 0x37, 0x00, 0xe1, 0x44, 0x78, 0xe3, 0x90, 0xca, 0xbb, 0x18, 0xa3, 0x4b, 0x78, 0xe8, - 0xc7, 0x78, 0x6a, 0xbb, 0x2e, 0x27, 0x42, 0xb4, 0x40, 0x07, 0x74, 0x1b, 0x66, 0x73, 0x9b, 0xa8, - 0x68, 0x69, 0x07, 0xf3, 0x2b, 0xad, 0x22, 0x6a, 0x16, 0xf4, 0x63, 0x3c, 0xca, 0x0a, 0xf4, 0x04, - 0x0f, 0x22, 0xce, 0x22, 0x26, 0x08, 0x6f, 0xfd, 0xe9, 0x80, 0xee, 0x91, 0x79, 0xb3, 0x4d, 0xd4, - 0x93, 0x6c, 0xaa, 0x50, 0xb4, 0xef, 0x44, 0xed, 0x79, 0x54, 0xfa, 0x31, 0xd6, 0x1d, 0x16, 0x18, - 0x0e, 0x13, 0x01, 0x13, 0xf9, 0xd1, 0x13, 0xee, 0xcc, 0x90, 0xcb, 0x88, 0x08, 0x7d, 0xe4, 0x38, - 0xf9, 0x5e, 0xab, 0xdc, 0xaa, 0x7d, 0x02, 0x88, 0x26, 0xc2, 0xbb, 0xb5, 0xae, 0x87, 0x7d, 0x33, - 0x45, 0x9b, 0xd0, 0x50, 0xa2, 0x36, 0x84, 0x81, 0x1d, 0x45, 0x34, 0xf4, 0xa6, 0xd4, 0xcd, 0x0c, - 0x5b, 0x8d, 0xfc, 0x65, 0xec, 0xa2, 0x26, 0xac, 0xdb, 0x01, 0x8b, 0x43, 0x99, 0xba, 0x6a, 0x58, - 0x79, 0x85, 0xce, 0xe1, 0xff, 0x02, 0xf2, 0x6f, 0x0a, 0x89, 0xb6, 0x89, 0x7a, 0x9c, 0xd9, 0x2d, - 0x01, 0x8b, 0x96, 0x3d, 0xba, 0x7f, 0xbf, 0x41, 0x67, 0xce, 0xde, 0xd7, 0x0a, 0x58, 0xad, 0x15, - 0xf0, 0xb5, 0x56, 0xc0, 0xeb, 0x46, 0xa9, 0xad, 0x36, 0x4a, 0xed, 0x63, 0xa3, 0xd4, 0x1e, 0x1f, - 0x2a, 0x2b, 0xc7, 0x45, 0xc2, 0xf7, 0x36, 0x16, 0x46, 0x99, 0x77, 0xcf, 0x61, 0x9c, 0x54, 0x4b, - 0xdf, 0xa6, 0xa1, 0x11, 0x30, 0x37, 0x9e, 0x13, 0xb1, 0xff, 0x59, 0x76, 0x0e, 0x70, 0x3d, 0xcd, - 0xfe, 0xe2, 0x27, 0x00, 0x00, 0xff, 0xff, 0x61, 0x6a, 0x65, 0x85, 0x52, 0x02, 0x00, 0x00, -} - -func (m *MsgInitHub) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *MsgInitHub) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgInitHub) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Proposer) > 0 { - i -= len(m.Proposer) - copy(dAtA[i:], m.Proposer) - i = encodeVarintTx(dAtA, i, uint64(len(m.Proposer))) - i-- - dAtA[i] = 0x12 - } - if len(m.HubAddress) > 0 { - i -= len(m.HubAddress) - copy(dAtA[i:], m.HubAddress) - i = encodeVarintTx(dAtA, i, uint64(len(m.HubAddress))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *MsgERC20BridgeMint) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *MsgERC20BridgeMint) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgERC20BridgeMint) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Proposer) > 0 { - i -= len(m.Proposer) - copy(dAtA[i:], m.Proposer) - i = encodeVarintTx(dAtA, i, uint64(len(m.Proposer))) - i-- - dAtA[i] = 0x22 - } - if len(m.Address) > 0 { - i -= len(m.Address) - copy(dAtA[i:], m.Address) - i = encodeVarintTx(dAtA, i, uint64(len(m.Address))) - i-- - dAtA[i] = 0x1a - } - if len(m.Amount) > 0 { - i -= len(m.Amount) - copy(dAtA[i:], m.Amount) - i = encodeVarintTx(dAtA, i, uint64(len(m.Amount))) - i-- - dAtA[i] = 0x12 - } - if len(m.MappingId) > 0 { - i -= len(m.MappingId) - copy(dAtA[i:], m.MappingId) - i = encodeVarintTx(dAtA, i, uint64(len(m.MappingId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintTx(dAtA []byte, offset int, v uint64) int { - offset -= sovTx(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *MsgInitHub) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.HubAddress) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Proposer) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgERC20BridgeMint) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.MappingId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Amount) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Address) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Proposer) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func sovTx(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozTx(x uint64) (n int) { - return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *MsgInitHub) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgInitHub: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgInitHub: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field HubAddress", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.HubAddress = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Proposer", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Proposer = append(m.Proposer[:0], dAtA[iNdEx:postIndex]...) - if m.Proposer == nil { - m.Proposer = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgERC20BridgeMint) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgERC20BridgeMint: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgERC20BridgeMint: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MappingId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.MappingId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Amount = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Address = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Proposer", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Proposer = append(m.Proposer[:0], dAtA[iNdEx:postIndex]...) - if m.Proposer == nil { - m.Proposer = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipTx(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowTx - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowTx - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowTx - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthTx - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupTx - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthTx - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthTx = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowTx = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupTx = fmt.Errorf("proto: unexpected end of group") -) diff --git a/chain/evm/client/cli/query.go b/chain/evm/client/cli/query.go deleted file mode 100644 index 5110bd37..00000000 --- a/chain/evm/client/cli/query.go +++ /dev/null @@ -1,198 +0,0 @@ -package cli - -import ( - "math/big" - "strings" - - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/common" - "github.com/spf13/cobra" - - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" - - "github.com/InjectiveLabs/sdk-go/chain/evm/types" - "github.com/InjectiveLabs/sdk-go/ethereum/rpc" - "github.com/InjectiveLabs/sdk-go/wrappers" -) - -// GetQueryCmd returns the parent command for all x/bank CLi query commands. -func GetQueryCmd() *cobra.Command { - cmd := &cobra.Command{ - Use: types.ModuleName, - Short: "Querying commands for the evm module", - DisableFlagParsing: true, - SuggestionsMinimumDistance: 2, - RunE: client.ValidateCmd, - } - - cmd.AddCommand( - GetStorageCmd(), - GetCodeCmd(), - GetErc20Balance(), - GetAccount(), - ) - return cmd -} - -// GetStorageCmd queries a key in an accounts storage -func GetStorageCmd() *cobra.Command { - cmd := &cobra.Command{ - Use: "storage [address] [key]", - Short: "Gets storage for an account with a given key and height", - Long: "Gets storage for an account with a given key and height. If the height is not provided, it will use the latest height from context.", - Args: cobra.ExactArgs(2), - RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientQueryContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - address, err := accountToHex(args[0]) - if err != nil { - return err - } - - key := formatKeyToHash(args[1]) - - req := &types.QueryStorageRequest{ - Address: address, - Key: key, - } - - res, err := queryClient.Storage(rpc.ContextWithHeight(clientCtx.Height), req) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - return cmd -} - -// GetCodeCmd queries the code field of a given address -func GetCodeCmd() *cobra.Command { - cmd := &cobra.Command{ - Use: "code [address]", - Short: "Gets code from an account", - Long: "Gets code from an account. If the height is not provided, it will use the latest height from context.", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientQueryContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - address, err := accountToHex(args[0]) - if err != nil { - return err - } - - req := &types.QueryCodeRequest{ - Address: address, - } - - res, err := queryClient.Code(rpc.ContextWithHeight(clientCtx.Height), req) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - return cmd -} - -// GetErc20Balance queries the erc20 balance of an address -func GetErc20Balance() *cobra.Command { - cmd := &cobra.Command{ - Use: "erc20balance [contract] [address]", - Short: "Gets erc20 balance of an account", - Long: "Gets erc20 balance of an account.", - Args: cobra.ExactArgs(2), - RunE: func(cmd *cobra.Command, args []string) error { - clientCtx := client.GetClientContextFromCmd(cmd) - clientCtx, err := client.GetClientQueryContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - contract := args[0] - address := args[1] - - erc20ABI, err := abi.JSON(strings.NewReader(wrappers.ERC20ABI)) - if err != nil { - return err - } - input, err := erc20ABI.Pack("balanceOf", common.HexToAddress(address)) - if err != nil { - return err - } - - req := &types.QueryStaticCallRequest{ - Address: contract, - Input: input, - } - - res, err := queryClient.StaticCall(rpc.ContextWithHeight(clientCtx.Height), req) - if err != nil { - return err - } - ret := big.NewInt(0) - err = erc20ABI.UnpackIntoInterface(&ret, "balanceOf", res.Data) - if err != nil { - return err - } - - return clientCtx.PrintString(ret.String()) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - return cmd -} - -// GetAccount queries the account by address -func GetAccount() *cobra.Command { - cmd := &cobra.Command{ - Use: "account [address]", - Short: "Get an account by address", - Long: "Get an account by address", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) error { - clientCtx := client.GetClientContextFromCmd(cmd) - clientCtx, err := client.GetClientQueryContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - address := args[0] - - req := &types.QueryAccountRequest{ - Address: address, - } - - res, err := queryClient.Account(rpc.ContextWithHeight(clientCtx.Height), req) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - return cmd -} diff --git a/chain/evm/client/cli/utils.go b/chain/evm/client/cli/utils.go deleted file mode 100644 index 6114246c..00000000 --- a/chain/evm/client/cli/utils.go +++ /dev/null @@ -1,63 +0,0 @@ -package cli - -import ( - "fmt" - "strings" - - "github.com/pkg/errors" - - "github.com/ethereum/go-ethereum/common" - - sdk "github.com/cosmos/cosmos-sdk/types" -) - -func accountToHex(addr string) (string, error) { - if strings.HasPrefix(addr, sdk.GetConfig().GetBech32AccountAddrPrefix()) { - // Check to see if address is Cosmos bech32 formatted - toAddr, err := sdk.AccAddressFromBech32(addr) - if err != nil { - return "", errors.Wrap(err, "must provide a valid Bech32 address") - } - ethAddr := common.BytesToAddress(toAddr.Bytes()) - return ethAddr.Hex(), nil - } - - if !strings.HasPrefix(addr, "0x") { - addr = "0x" + addr - } - - valid := common.IsHexAddress(addr) - if !valid { - return "", fmt.Errorf("%s is not a valid Ethereum or Cosmos address", addr) - } - - ethAddr := common.HexToAddress(addr) - - return ethAddr.Hex(), nil -} - -func formatKeyToHash(key string) string { - if !strings.HasPrefix(key, "0x") { - key = "0x" + key - } - - ethkey := common.HexToHash(key) - - return ethkey.Hex() -} - -func cosmosAddressFromArg(addr string) (sdk.AccAddress, error) { - if strings.HasPrefix(addr, sdk.GetConfig().GetBech32AccountAddrPrefix()) { - // Check to see if address is Cosmos bech32 formatted - toAddr, err := sdk.AccAddressFromBech32(addr) - if err != nil { - return nil, errors.Wrap(err, "invalid bech32 formatted address") - } - return toAddr, nil - } - - // Strip 0x prefix if exists - addr = strings.TrimPrefix(addr, "0x") - - return sdk.AccAddressFromHex(addr) -} diff --git a/chain/evm/types/codec.go b/chain/evm/types/codec.go deleted file mode 100644 index b811249d..00000000 --- a/chain/evm/types/codec.go +++ /dev/null @@ -1,29 +0,0 @@ -package types - -import ( - "github.com/cosmos/cosmos-sdk/codec" - codectypes "github.com/cosmos/cosmos-sdk/codec/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -type ( - ExtensionOptionsEthereumTxI interface{} -) - -// RegisterInterfaces registers the client interfaces to protobuf Any. -func RegisterInterfaces(registry codectypes.InterfaceRegistry) { - registry.RegisterImplementations( - (*sdk.Msg)(nil), - &MsgEthereumTx{}, - ) - - registry.RegisterInterface("injective.evm.v1beta1.ExtensionOptionsEthereumTx", (*ExtensionOptionsEthereumTxI)(nil)) - registry.RegisterImplementations( - (*ExtensionOptionsEthereumTxI)(nil), - &ExtensionOptionsEthereumTx{}, - ) -} - -var ( - ModuleCdc = codec.NewProtoCodec(codectypes.NewInterfaceRegistry()) -) diff --git a/chain/evm/types/errors.go b/chain/evm/types/errors.go deleted file mode 100644 index a35971d6..00000000 --- a/chain/evm/types/errors.go +++ /dev/null @@ -1,45 +0,0 @@ -package types - -import ( - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -// NOTE: We can't use 1 since that error code is reserved for internal errors. - -var ( - // ErrInvalidState returns an error resulting from an invalid Storage State. - ErrInvalidState = sdkerrors.Register(ModuleName, 2, "invalid storage state") - - // ErrChainConfigNotFound returns an error if the chain config cannot be found on the store. - ErrChainConfigNotFound = sdkerrors.Register(ModuleName, 3, "chain configuration not found") - - // ErrInvalidChainConfig returns an error resulting from an invalid ChainConfig. - ErrInvalidChainConfig = sdkerrors.Register(ModuleName, 4, "invalid chain configuration") - - // ErrZeroAddress returns an error resulting from an zero (empty) ethereum Address. - ErrZeroAddress = sdkerrors.Register(ModuleName, 5, "invalid zero address") - - // ErrEmptyHash returns an error resulting from an empty ethereum Hash. - ErrEmptyHash = sdkerrors.Register(ModuleName, 6, "empty hash") - - // ErrBloomNotFound returns an error if the block bloom cannot be found on the store. - ErrBloomNotFound = sdkerrors.Register(ModuleName, 7, "block bloom not found") - - // ErrInvalidValue returns an error resulting from an invalid value. - ErrInvalidValue = sdkerrors.Register(ModuleName, 8, "invalid value") - - // ErrInvalidChainID returns an error resulting from an invalid chain ID. - ErrInvalidChainID = sdkerrors.Register(ModuleName, 9, "invalid chain ID") - - // ErrVMExecution returns an error resulting from an error in EVM execution. - ErrVMExecution = sdkerrors.Register(ModuleName, 10, "error while executing evm transaction") - - // ErrTxReceiptNotFound returns an error if the transaction receipt could not be found - ErrTxReceiptNotFound = sdkerrors.Register(ModuleName, 11, "transaction receipt not found") - - // ErrCreateDisabled returns an error if the EnableCreate parameter is false. - ErrCreateDisabled = sdkerrors.Register(ModuleName, 12, "EVM Create operation is disabled") - - // ErrCallDisabled returns an error if the EnableCall parameter is false. - ErrCallDisabled = sdkerrors.Register(ModuleName, 13, "EVM Call operation is disabled") -) diff --git a/chain/evm/types/events.go b/chain/evm/types/events.go deleted file mode 100644 index 982a7c2a..00000000 --- a/chain/evm/types/events.go +++ /dev/null @@ -1,11 +0,0 @@ -package types - -// Evm module events -const ( - EventTypeEthereumTx = TypeMsgEthereumTx - - AttributeKeyContractAddress = "contract" - AttributeKeyRecipient = "recipient" - AttributeKeyTxHash = "txHash" - AttributeValueCategory = ModuleName -) diff --git a/chain/evm/types/evm.pb.go b/chain/evm/types/evm.pb.go deleted file mode 100644 index 71c36e4e..00000000 --- a/chain/evm/types/evm.pb.go +++ /dev/null @@ -1,3924 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: injective/evm/v1beta1/evm.proto - -package types - -import ( - fmt "fmt" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -// Params defines the EVM module parameters -type Params struct { - // evm_denom represents the token denomination used to run the EVM state - // transitions. - EvmDenom string `protobuf:"bytes,1,opt,name=evm_denom,json=evmDenom,proto3" json:"evm_denom,omitempty" yaml:"evm_denom"` - // enable_create toggles state transitions that use the vm.Create function - EnableCreate bool `protobuf:"varint,2,opt,name=enable_create,json=enableCreate,proto3" json:"enable_create,omitempty" yaml:"enable_create"` - // enable_call toggles state transitions that use the vm.Call function - EnableCall bool `protobuf:"varint,3,opt,name=enable_call,json=enableCall,proto3" json:"enable_call,omitempty" yaml:"enable_call"` - // extra_eips defines the additional EIPs for the vm.Config - ExtraEIPs []int64 `protobuf:"varint,4,rep,packed,name=extra_eips,json=extraEips,proto3" json:"extra_eips,omitempty" yaml:"extra_eips"` -} - -func (m *Params) Reset() { *m = Params{} } -func (*Params) ProtoMessage() {} -func (*Params) Descriptor() ([]byte, []int) { - return fileDescriptor_5dd0cebaeafb1bee, []int{0} -} -func (m *Params) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Params) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Params.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Params) XXX_Merge(src proto.Message) { - xxx_messageInfo_Params.Merge(m, src) -} -func (m *Params) XXX_Size() int { - return m.Size() -} -func (m *Params) XXX_DiscardUnknown() { - xxx_messageInfo_Params.DiscardUnknown(m) -} - -var xxx_messageInfo_Params proto.InternalMessageInfo - -func (m *Params) GetEvmDenom() string { - if m != nil { - return m.EvmDenom - } - return "" -} - -func (m *Params) GetEnableCreate() bool { - if m != nil { - return m.EnableCreate - } - return false -} - -func (m *Params) GetEnableCall() bool { - if m != nil { - return m.EnableCall - } - return false -} - -func (m *Params) GetExtraEIPs() []int64 { - if m != nil { - return m.ExtraEIPs - } - return nil -} - -// ChainConfig defines the Ethereum ChainConfig parameters using sdk.Int values -// instead of big.Int. -// -// NOTE 1: Since empty/uninitialized Ints (i.e with a nil big.Int value) are -// parsed to zero, we need to manually specify that negative Int values will be -// considered as nil. See getBlockValue for reference. -// -// NOTE 2: This type is not a configurable Param since the SDK does not allow -// for validation against a previous stored parameter values or the current -// block height (retrieved from context). If you want to update the config -// values, use an software upgrade procedure. -type ChainConfig struct { - // Homestead switch block (< 0 no fork, 0 = already homestead) - HomesteadBlock github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,1,opt,name=homestead_block,json=homesteadBlock,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"homestead_block" yaml:"homestead_block"` - // TheDAO hard-fork switch block (< 0 no fork) - DAOForkBlock github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,2,opt,name=dao_fork_block,json=daoForkBlock,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"dao_fork_block" yaml:"dao_fork_block"` - // Whether the nodes supports or opposes the DAO hard-fork - DAOForkSupport bool `protobuf:"varint,3,opt,name=dao_fork_support,json=daoForkSupport,proto3" json:"dao_fork_support,omitempty" yaml:"dao_fork_support"` - // EIP150 implements the Gas price changes - // (https://github.com/ethereum/EIPs/issues/150) EIP150 HF block (< 0 no fork) - EIP150Block github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,4,opt,name=eip150_block,json=eip150Block,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"eip150_block" yaml:"eip150_block"` - // EIP150 HF hash (needed for header only clients as only gas pricing changed) - EIP150Hash string `protobuf:"bytes,5,opt,name=eip150_hash,json=eip150Hash,proto3" json:"eip150_hash,omitempty" yaml:"byzantium_block"` - // EIP155Block HF block - EIP155Block github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,6,opt,name=eip155_block,json=eip155Block,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"eip155_block" yaml:"eip155_block"` - // EIP158 HF block - EIP158Block github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,7,opt,name=eip158_block,json=eip158Block,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"eip158_block" yaml:"eip158_block"` - // Byzantium switch block (< 0 no fork, 0 = already on byzantium) - ByzantiumBlock github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,8,opt,name=byzantium_block,json=byzantiumBlock,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"byzantium_block" yaml:"byzantium_block"` - // Constantinople switch block (< 0 no fork, 0 = already activated) - ConstantinopleBlock github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,9,opt,name=constantinople_block,json=constantinopleBlock,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"constantinople_block" yaml:"constantinople_block"` - // Petersburg switch block (< 0 same as Constantinople) - PetersburgBlock github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,10,opt,name=petersburg_block,json=petersburgBlock,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"petersburg_block" yaml:"petersburg_block"` - // Istanbul switch block (< 0 no fork, 0 = already on istanbul) - IstanbulBlock github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,11,opt,name=istanbul_block,json=istanbulBlock,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"istanbul_block" yaml:"istanbul_block"` - // Eip-2384 (bomb delay) switch block (< 0 no fork, 0 = already activated) - MuirGlacierBlock github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,12,opt,name=muir_glacier_block,json=muirGlacierBlock,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"muir_glacier_block" yaml:"muir_glacier_block"` - // YOLO v2: https://github.com/ethereum/EIPs/pull/2657 (Ephemeral testnet) - YoloV2Block github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,13,opt,name=yolo_v2_block,json=yoloV2Block,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"yolo_v2_block" yaml:"yolo_v2_block"` - // EWASM switch block (< 0 no fork, 0 = already activated) - EWASMBlock github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,14,opt,name=ewasm_block,json=ewasmBlock,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"ewasm_block" yaml:"ewasm_block"` -} - -func (m *ChainConfig) Reset() { *m = ChainConfig{} } -func (m *ChainConfig) String() string { return proto.CompactTextString(m) } -func (*ChainConfig) ProtoMessage() {} -func (*ChainConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_5dd0cebaeafb1bee, []int{1} -} -func (m *ChainConfig) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ChainConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ChainConfig.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *ChainConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_ChainConfig.Merge(m, src) -} -func (m *ChainConfig) XXX_Size() int { - return m.Size() -} -func (m *ChainConfig) XXX_DiscardUnknown() { - xxx_messageInfo_ChainConfig.DiscardUnknown(m) -} - -var xxx_messageInfo_ChainConfig proto.InternalMessageInfo - -func (m *ChainConfig) GetDAOForkSupport() bool { - if m != nil { - return m.DAOForkSupport - } - return false -} - -func (m *ChainConfig) GetEIP150Hash() string { - if m != nil { - return m.EIP150Hash - } - return "" -} - -// State represents a single Storage key value pair item. -type State struct { - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` -} - -func (m *State) Reset() { *m = State{} } -func (m *State) String() string { return proto.CompactTextString(m) } -func (*State) ProtoMessage() {} -func (*State) Descriptor() ([]byte, []int) { - return fileDescriptor_5dd0cebaeafb1bee, []int{2} -} -func (m *State) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *State) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_State.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *State) XXX_Merge(src proto.Message) { - xxx_messageInfo_State.Merge(m, src) -} -func (m *State) XXX_Size() int { - return m.Size() -} -func (m *State) XXX_DiscardUnknown() { - xxx_messageInfo_State.DiscardUnknown(m) -} - -var xxx_messageInfo_State proto.InternalMessageInfo - -func (m *State) GetKey() string { - if m != nil { - return m.Key - } - return "" -} - -func (m *State) GetValue() string { - if m != nil { - return m.Value - } - return "" -} - -// TransactionLogs define the logs generated from a transaction execution -// with a given hash. It it used for import/export data as transactions are not -// persisted on blockchain state after an upgrade. -type TransactionLogs struct { - Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` - Logs []*Log `protobuf:"bytes,2,rep,name=logs,proto3" json:"logs,omitempty"` -} - -func (m *TransactionLogs) Reset() { *m = TransactionLogs{} } -func (m *TransactionLogs) String() string { return proto.CompactTextString(m) } -func (*TransactionLogs) ProtoMessage() {} -func (*TransactionLogs) Descriptor() ([]byte, []int) { - return fileDescriptor_5dd0cebaeafb1bee, []int{3} -} -func (m *TransactionLogs) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TransactionLogs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TransactionLogs.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *TransactionLogs) XXX_Merge(src proto.Message) { - xxx_messageInfo_TransactionLogs.Merge(m, src) -} -func (m *TransactionLogs) XXX_Size() int { - return m.Size() -} -func (m *TransactionLogs) XXX_DiscardUnknown() { - xxx_messageInfo_TransactionLogs.DiscardUnknown(m) -} - -var xxx_messageInfo_TransactionLogs proto.InternalMessageInfo - -func (m *TransactionLogs) GetHash() string { - if m != nil { - return m.Hash - } - return "" -} - -func (m *TransactionLogs) GetLogs() []*Log { - if m != nil { - return m.Logs - } - return nil -} - -// Log represents an protobuf compatible Ethereum Log that defines a contract -// log event. These events are generated by the LOG opcode and stored/indexed by -// the node. -type Log struct { - // address of the contract that generated the event - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - // list of topics provided by the contract. - Topics []string `protobuf:"bytes,2,rep,name=topics,proto3" json:"topics,omitempty"` - // supplied by the contract, usually ABI-encoded - Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` - // block in which the transaction was included - BlockNumber uint64 `protobuf:"varint,4,opt,name=block_number,json=blockNumber,proto3" json:"blockNumber"` - // hash of the transaction - TxHash string `protobuf:"bytes,5,opt,name=tx_hash,json=txHash,proto3" json:"transactionHash"` - // index of the transaction in the block - TxIndex uint64 `protobuf:"varint,6,opt,name=tx_index,json=txIndex,proto3" json:"transactionIndex"` - // hash of the block in which the transaction was included - BlockHash string `protobuf:"bytes,7,opt,name=block_hash,json=blockHash,proto3" json:"blockHash"` - // index of the log in the block - Index uint64 `protobuf:"varint,8,opt,name=index,proto3" json:"logIndex"` - // The Removed field is true if this log was reverted due to a chain - // reorganisation. You must pay attention to this field if you receive logs - // through a filter query. - Removed bool `protobuf:"varint,9,opt,name=removed,proto3" json:"removed,omitempty"` -} - -func (m *Log) Reset() { *m = Log{} } -func (m *Log) String() string { return proto.CompactTextString(m) } -func (*Log) ProtoMessage() {} -func (*Log) Descriptor() ([]byte, []int) { - return fileDescriptor_5dd0cebaeafb1bee, []int{4} -} -func (m *Log) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Log) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Log.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Log) XXX_Merge(src proto.Message) { - xxx_messageInfo_Log.Merge(m, src) -} -func (m *Log) XXX_Size() int { - return m.Size() -} -func (m *Log) XXX_DiscardUnknown() { - xxx_messageInfo_Log.DiscardUnknown(m) -} - -var xxx_messageInfo_Log proto.InternalMessageInfo - -func (m *Log) GetAddress() string { - if m != nil { - return m.Address - } - return "" -} - -func (m *Log) GetTopics() []string { - if m != nil { - return m.Topics - } - return nil -} - -func (m *Log) GetData() []byte { - if m != nil { - return m.Data - } - return nil -} - -func (m *Log) GetBlockNumber() uint64 { - if m != nil { - return m.BlockNumber - } - return 0 -} - -func (m *Log) GetTxHash() string { - if m != nil { - return m.TxHash - } - return "" -} - -func (m *Log) GetTxIndex() uint64 { - if m != nil { - return m.TxIndex - } - return 0 -} - -func (m *Log) GetBlockHash() string { - if m != nil { - return m.BlockHash - } - return "" -} - -func (m *Log) GetIndex() uint64 { - if m != nil { - return m.Index - } - return 0 -} - -func (m *Log) GetRemoved() bool { - if m != nil { - return m.Removed - } - return false -} - -// TxReceipt defines the receipt type stored in KV for each EVM transaction. -type TxReceipt struct { - Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` - From []byte `protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"` - Data *TxData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` - Result *TxResult `protobuf:"bytes,4,opt,name=result,proto3" json:"result,omitempty"` - Index uint64 `protobuf:"varint,5,opt,name=index,proto3" json:"index,omitempty"` - BlockHeight uint64 `protobuf:"varint,6,opt,name=blockHeight,proto3" json:"blockHeight,omitempty"` - BlockHash []byte `protobuf:"bytes,7,opt,name=blockHash,proto3" json:"blockHash,omitempty"` -} - -func (m *TxReceipt) Reset() { *m = TxReceipt{} } -func (m *TxReceipt) String() string { return proto.CompactTextString(m) } -func (*TxReceipt) ProtoMessage() {} -func (*TxReceipt) Descriptor() ([]byte, []int) { - return fileDescriptor_5dd0cebaeafb1bee, []int{5} -} -func (m *TxReceipt) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TxReceipt) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TxReceipt.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *TxReceipt) XXX_Merge(src proto.Message) { - xxx_messageInfo_TxReceipt.Merge(m, src) -} -func (m *TxReceipt) XXX_Size() int { - return m.Size() -} -func (m *TxReceipt) XXX_DiscardUnknown() { - xxx_messageInfo_TxReceipt.DiscardUnknown(m) -} - -var xxx_messageInfo_TxReceipt proto.InternalMessageInfo - -// TxResult stores results of Tx execution. -type TxResult struct { - // contract_address contains the ethereum address of the created contract (if - // any). If the state transition is an evm.Call, the contract address will be - // empty. - ContractAddress string `protobuf:"bytes,1,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty" yaml:"contract_address"` - // bloom represents the bloom filter bytes - Bloom []byte `protobuf:"bytes,2,opt,name=bloom,proto3" json:"bloom,omitempty"` - // tx_logs contains the transaction hash and the proto-compatible ethereum - // logs. - TxLogs TransactionLogs `protobuf:"bytes,3,opt,name=tx_logs,json=txLogs,proto3" json:"tx_logs" yaml:"tx_logs"` - // ret defines the bytes from the execution. - Ret []byte `protobuf:"bytes,4,opt,name=ret,proto3" json:"ret,omitempty"` - // reverted flag is set to true when the call has been reverted - Reverted bool `protobuf:"varint,5,opt,name=reverted,proto3" json:"reverted,omitempty"` - // gas_used notes the amount of gas consumed while execution - GasUsed uint64 `protobuf:"varint,6,opt,name=gas_used,json=gasUsed,proto3" json:"gas_used,omitempty"` -} - -func (m *TxResult) Reset() { *m = TxResult{} } -func (m *TxResult) String() string { return proto.CompactTextString(m) } -func (*TxResult) ProtoMessage() {} -func (*TxResult) Descriptor() ([]byte, []int) { - return fileDescriptor_5dd0cebaeafb1bee, []int{6} -} -func (m *TxResult) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TxResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TxResult.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *TxResult) XXX_Merge(src proto.Message) { - xxx_messageInfo_TxResult.Merge(m, src) -} -func (m *TxResult) XXX_Size() int { - return m.Size() -} -func (m *TxResult) XXX_DiscardUnknown() { - xxx_messageInfo_TxResult.DiscardUnknown(m) -} - -var xxx_messageInfo_TxResult proto.InternalMessageInfo - -// TxData implements the Ethereum transaction data structure. It is used -// solely as intended in Ethereum abiding by the protocol. -type TxData struct { - AccountNonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"` - Price []byte `protobuf:"bytes,2,opt,name=price,proto3" json:"gasPrice"` - GasLimit uint64 `protobuf:"varint,3,opt,name=gas,proto3" json:"gas,omitempty"` - Recipient []byte `protobuf:"bytes,4,opt,name=to,proto3" json:"to,omitempty"` - Amount []byte `protobuf:"bytes,5,opt,name=value,proto3" json:"value,omitempty"` - Payload []byte `protobuf:"bytes,6,opt,name=input,proto3" json:"input,omitempty"` - // signature values - V []byte `protobuf:"bytes,7,opt,name=v,proto3" json:"v,omitempty"` - R []byte `protobuf:"bytes,8,opt,name=r,proto3" json:"r,omitempty"` - S []byte `protobuf:"bytes,9,opt,name=s,proto3" json:"s,omitempty"` - // hash defines the tx data hash, which is only used when marshaling to JSON. - Hash string `protobuf:"bytes,10,opt,name=hash,proto3" json:"hash,omitempty" rlp:"-"` -} - -func (m *TxData) Reset() { *m = TxData{} } -func (m *TxData) String() string { return proto.CompactTextString(m) } -func (*TxData) ProtoMessage() {} -func (*TxData) Descriptor() ([]byte, []int) { - return fileDescriptor_5dd0cebaeafb1bee, []int{7} -} -func (m *TxData) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TxData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TxData.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *TxData) XXX_Merge(src proto.Message) { - xxx_messageInfo_TxData.Merge(m, src) -} -func (m *TxData) XXX_Size() int { - return m.Size() -} -func (m *TxData) XXX_DiscardUnknown() { - xxx_messageInfo_TxData.DiscardUnknown(m) -} - -var xxx_messageInfo_TxData proto.InternalMessageInfo - -type BytesList struct { - Bytes [][]byte `protobuf:"bytes,1,rep,name=bytes,proto3" json:"bytes,omitempty"` -} - -func (m *BytesList) Reset() { *m = BytesList{} } -func (m *BytesList) String() string { return proto.CompactTextString(m) } -func (*BytesList) ProtoMessage() {} -func (*BytesList) Descriptor() ([]byte, []int) { - return fileDescriptor_5dd0cebaeafb1bee, []int{8} -} -func (m *BytesList) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *BytesList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_BytesList.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *BytesList) XXX_Merge(src proto.Message) { - xxx_messageInfo_BytesList.Merge(m, src) -} -func (m *BytesList) XXX_Size() int { - return m.Size() -} -func (m *BytesList) XXX_DiscardUnknown() { - xxx_messageInfo_BytesList.DiscardUnknown(m) -} - -var xxx_messageInfo_BytesList proto.InternalMessageInfo - -func init() { - proto.RegisterType((*Params)(nil), "injective.evm.v1beta1.Params") - proto.RegisterType((*ChainConfig)(nil), "injective.evm.v1beta1.ChainConfig") - proto.RegisterType((*State)(nil), "injective.evm.v1beta1.State") - proto.RegisterType((*TransactionLogs)(nil), "injective.evm.v1beta1.TransactionLogs") - proto.RegisterType((*Log)(nil), "injective.evm.v1beta1.Log") - proto.RegisterType((*TxReceipt)(nil), "injective.evm.v1beta1.TxReceipt") - proto.RegisterType((*TxResult)(nil), "injective.evm.v1beta1.TxResult") - proto.RegisterType((*TxData)(nil), "injective.evm.v1beta1.TxData") - proto.RegisterType((*BytesList)(nil), "injective.evm.v1beta1.BytesList") -} - -func init() { proto.RegisterFile("injective/evm/v1beta1/evm.proto", fileDescriptor_5dd0cebaeafb1bee) } - -var fileDescriptor_5dd0cebaeafb1bee = []byte{ - // 1450 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x57, 0x3b, 0x6f, 0x1b, 0xc7, - 0x16, 0x16, 0x1f, 0xa2, 0xc8, 0xe1, 0x8a, 0xe2, 0x1d, 0xcb, 0xba, 0xb4, 0x7d, 0xad, 0xd5, 0xdd, - 0xc2, 0x57, 0x85, 0x25, 0x5a, 0xba, 0x10, 0x6c, 0x08, 0x48, 0xa1, 0xb5, 0x65, 0x9b, 0x88, 0xec, - 0x08, 0x63, 0x39, 0x02, 0xd2, 0x10, 0xc3, 0xdd, 0xf1, 0x6a, 0xad, 0xdd, 0x9d, 0xcd, 0xce, 0x90, - 0x26, 0x03, 0x04, 0x48, 0x99, 0xd2, 0x65, 0xca, 0xb4, 0xf9, 0x23, 0x81, 0x91, 0xca, 0x65, 0x90, - 0x62, 0x11, 0xd0, 0x9d, 0x4a, 0xb6, 0x49, 0x11, 0xcc, 0x63, 0xf9, 0x90, 0xe5, 0x82, 0x70, 0xc5, - 0x39, 0x67, 0xce, 0x7c, 0xdf, 0x9c, 0xe7, 0x2c, 0x81, 0xe9, 0x47, 0xaf, 0x89, 0xc3, 0xfd, 0x1e, - 0x69, 0x92, 0x5e, 0xd8, 0xec, 0xed, 0x74, 0x08, 0xc7, 0x3b, 0x62, 0xbd, 0x1d, 0x27, 0x94, 0x53, - 0x78, 0x7d, 0x6c, 0xb0, 0x2d, 0x94, 0xda, 0xe0, 0xe6, 0xaa, 0x47, 0x3d, 0x2a, 0x2d, 0x9a, 0x62, - 0xa5, 0x8c, 0xad, 0xbf, 0x73, 0xa0, 0x74, 0x8c, 0x13, 0x1c, 0x32, 0xb8, 0x03, 0x2a, 0xa4, 0x17, - 0xb6, 0x5d, 0x12, 0xd1, 0xb0, 0x91, 0xdb, 0xc8, 0x6d, 0x56, 0xec, 0xd5, 0x51, 0x6a, 0xd6, 0x07, - 0x38, 0x0c, 0xf6, 0xad, 0xf1, 0x96, 0x85, 0xca, 0xa4, 0x17, 0x3e, 0x12, 0x4b, 0xf8, 0x05, 0x58, - 0x26, 0x11, 0xee, 0x04, 0xa4, 0xed, 0x24, 0x04, 0x73, 0xd2, 0xc8, 0x6f, 0xe4, 0x36, 0xcb, 0x76, - 0x63, 0x94, 0x9a, 0xab, 0xfa, 0xd8, 0xf4, 0xb6, 0x85, 0x0c, 0x25, 0x3f, 0x94, 0x22, 0xbc, 0x0f, - 0xaa, 0xd9, 0x3e, 0x0e, 0x82, 0x46, 0x41, 0x1e, 0x5e, 0x1b, 0xa5, 0x26, 0x9c, 0x3d, 0x8c, 0x83, - 0xc0, 0x42, 0x40, 0x1f, 0xc5, 0x41, 0x00, 0x0f, 0x00, 0x20, 0x7d, 0x9e, 0xe0, 0x36, 0xf1, 0x63, - 0xd6, 0x28, 0x6e, 0x14, 0x36, 0x0b, 0xb6, 0x35, 0x4c, 0xcd, 0xca, 0xa1, 0xd0, 0x1e, 0xb6, 0x8e, - 0xd9, 0x28, 0x35, 0xff, 0xa5, 0x41, 0xc6, 0x86, 0x16, 0xaa, 0x48, 0xe1, 0xd0, 0x8f, 0xd9, 0x7e, - 0xf1, 0xa7, 0x9f, 0xcd, 0x05, 0xeb, 0x57, 0x03, 0x54, 0x1f, 0x9e, 0x61, 0x3f, 0x7a, 0x48, 0xa3, - 0x57, 0xbe, 0x07, 0xbf, 0x05, 0x2b, 0x67, 0x34, 0x24, 0x8c, 0x13, 0xec, 0xb6, 0x3b, 0x01, 0x75, - 0xce, 0x75, 0x24, 0x9e, 0xbe, 0x4b, 0xcd, 0x85, 0x3f, 0x52, 0xf3, 0x8e, 0xe7, 0xf3, 0xb3, 0x6e, - 0x67, 0xdb, 0xa1, 0x61, 0xd3, 0xa1, 0x2c, 0xa4, 0x4c, 0xff, 0x6c, 0x31, 0xf7, 0xbc, 0xc9, 0x07, - 0x31, 0x61, 0xdb, 0xad, 0x88, 0x8f, 0x52, 0x73, 0x4d, 0xd1, 0x5f, 0x82, 0xb3, 0x50, 0x6d, 0xac, - 0xb1, 0x85, 0x02, 0x7e, 0x0f, 0x6a, 0x2e, 0xa6, 0xed, 0x57, 0x34, 0x39, 0xd7, 0x8c, 0x79, 0xc9, - 0x78, 0x3a, 0x1f, 0xe3, 0x30, 0x35, 0x8d, 0x47, 0x07, 0x5f, 0x3d, 0xa6, 0xc9, 0xb9, 0xc4, 0x1d, - 0xa5, 0xe6, 0x75, 0x75, 0x83, 0x59, 0x74, 0x0b, 0x19, 0x2e, 0xa6, 0x63, 0x33, 0x78, 0x0a, 0xea, - 0x63, 0x03, 0xd6, 0x8d, 0x63, 0x9a, 0x70, 0x9d, 0x88, 0xad, 0x61, 0x6a, 0xd6, 0x34, 0xe4, 0x0b, - 0xb5, 0x33, 0x4a, 0xcd, 0x7f, 0x5f, 0x02, 0xd5, 0x67, 0x2c, 0x54, 0xd3, 0xb0, 0xda, 0x14, 0xbe, - 0x01, 0x06, 0xf1, 0xe3, 0x9d, 0xbd, 0x7b, 0xda, 0xab, 0xa2, 0xf4, 0xea, 0x64, 0x6e, 0xaf, 0xaa, - 0x87, 0xad, 0xe3, 0x9d, 0xbd, 0x7b, 0x99, 0x53, 0xd7, 0x74, 0x56, 0xa7, 0xa0, 0x2d, 0x54, 0x55, - 0xa2, 0xf2, 0xa8, 0x05, 0xb4, 0xd8, 0x3e, 0xc3, 0xec, 0xac, 0xb1, 0x28, 0x79, 0x37, 0x87, 0xa9, - 0x09, 0x14, 0xd2, 0x53, 0xcc, 0xce, 0x26, 0xf9, 0xe9, 0x0c, 0xbe, 0xc3, 0x11, 0xf7, 0xbb, 0x61, - 0x86, 0x05, 0xd4, 0x61, 0x61, 0x35, 0xf6, 0x61, 0x4f, 0xfb, 0x50, 0xfa, 0x2c, 0x1f, 0xf6, 0xae, - 0xf2, 0x61, 0x6f, 0xd6, 0x07, 0x65, 0x33, 0x26, 0x7e, 0xa0, 0x89, 0x97, 0x3e, 0x8b, 0xf8, 0xc1, - 0x55, 0xc4, 0x0f, 0x66, 0x89, 0x95, 0x8d, 0x68, 0x80, 0x4b, 0x11, 0x69, 0x94, 0x3f, 0xaf, 0x01, - 0x3e, 0x0a, 0x70, 0x6d, 0xac, 0x51, 0x94, 0x3f, 0xe4, 0xc0, 0xaa, 0x43, 0x23, 0xc6, 0x85, 0x32, - 0xa2, 0x71, 0x40, 0x34, 0x71, 0x45, 0x12, 0x3f, 0x9b, 0x9b, 0xf8, 0x96, 0x22, 0xbe, 0x0a, 0xd3, - 0x42, 0xd7, 0x66, 0xd5, 0xea, 0x0a, 0x1c, 0xd4, 0x63, 0xc2, 0x49, 0xc2, 0x3a, 0xdd, 0xc4, 0xd3, - 0xec, 0x40, 0xb2, 0xb7, 0xe6, 0x66, 0xd7, 0x0d, 0x72, 0x19, 0xcf, 0x42, 0x2b, 0x13, 0x95, 0x62, - 0x8d, 0x40, 0xcd, 0x17, 0x57, 0xe9, 0x74, 0x03, 0xcd, 0x59, 0x95, 0x9c, 0x4f, 0xe6, 0xe6, 0xd4, - 0x9d, 0x3e, 0x8b, 0x66, 0xa1, 0xe5, 0x4c, 0xa1, 0xf8, 0x06, 0x00, 0x86, 0x5d, 0x3f, 0x69, 0x7b, - 0x01, 0x76, 0x7c, 0x92, 0x68, 0x4e, 0x43, 0x72, 0x7e, 0x39, 0x37, 0xe7, 0x0d, 0xc5, 0xf9, 0x31, - 0xa2, 0x85, 0xea, 0x42, 0xf9, 0x44, 0xe9, 0x14, 0xf5, 0x6b, 0xb0, 0x3c, 0xa0, 0x01, 0x6d, 0xf7, - 0x76, 0x35, 0xeb, 0xb2, 0x64, 0x7d, 0x3c, 0x37, 0xab, 0x7e, 0x56, 0x66, 0xc0, 0x2c, 0x54, 0x15, - 0xf2, 0xd7, 0xbb, 0x8a, 0x8b, 0x81, 0x2a, 0x79, 0x83, 0x59, 0x56, 0xbe, 0x35, 0xc9, 0x84, 0xe6, - 0x6e, 0x1d, 0x70, 0x78, 0x7a, 0xf0, 0xe2, 0x59, 0xd6, 0x39, 0xd9, 0x8b, 0x34, 0x01, 0x16, 0x93, - 0x42, 0x48, 0xd2, 0xc2, 0x6a, 0x82, 0xc5, 0x17, 0x5c, 0xbc, 0x69, 0x75, 0x50, 0x38, 0x27, 0x03, - 0xf5, 0x6a, 0x20, 0xb1, 0x84, 0xab, 0x60, 0xb1, 0x87, 0x83, 0xae, 0x7a, 0x1c, 0x2b, 0x48, 0x09, - 0xd6, 0x4b, 0xb0, 0x72, 0x92, 0xe0, 0x88, 0x61, 0x87, 0xfb, 0x34, 0x3a, 0xa2, 0x1e, 0x83, 0x10, - 0x14, 0xe5, 0xc4, 0x52, 0x67, 0xe5, 0x1a, 0x6e, 0x83, 0x62, 0x40, 0x3d, 0xd6, 0xc8, 0x6f, 0x14, - 0x36, 0xab, 0xbb, 0x37, 0xb7, 0xaf, 0x7c, 0xdb, 0xb7, 0x8f, 0xa8, 0x87, 0xa4, 0x9d, 0xf5, 0x5b, - 0x1e, 0x14, 0x8e, 0xa8, 0x07, 0x1b, 0x60, 0x09, 0xbb, 0x6e, 0x42, 0x18, 0xd3, 0x70, 0x99, 0x08, - 0xd7, 0x40, 0x89, 0xd3, 0xd8, 0x77, 0x14, 0x66, 0x05, 0x69, 0x49, 0xb0, 0xbb, 0x98, 0x63, 0x39, - 0xfc, 0x0d, 0x24, 0xd7, 0x70, 0x17, 0x18, 0xd2, 0xd7, 0x76, 0xd4, 0x0d, 0x3b, 0x24, 0x91, 0x33, - 0xbc, 0x68, 0xaf, 0x5c, 0xa4, 0x66, 0x55, 0xea, 0x9f, 0x4b, 0x35, 0x9a, 0x16, 0xe0, 0x5d, 0xb0, - 0xc4, 0xfb, 0xd3, 0xa3, 0xf7, 0xda, 0x45, 0x6a, 0xae, 0xf0, 0x89, 0xaf, 0x62, 0xb2, 0xa2, 0x12, - 0xef, 0xcb, 0x09, 0xdb, 0x04, 0x65, 0xde, 0x6f, 0xfb, 0x91, 0x4b, 0xfa, 0x72, 0xba, 0x16, 0xed, - 0xd5, 0x8b, 0xd4, 0xac, 0x4f, 0x99, 0xb7, 0xc4, 0x1e, 0x5a, 0xe2, 0x7d, 0xb9, 0x80, 0x77, 0x01, - 0x50, 0x57, 0x92, 0x0c, 0x6a, 0x2e, 0x2e, 0x5f, 0xa4, 0x66, 0x45, 0x6a, 0x25, 0xf6, 0x64, 0x09, - 0x2d, 0xb0, 0xa8, 0xb0, 0xcb, 0x12, 0xdb, 0xb8, 0x48, 0xcd, 0x72, 0x40, 0x3d, 0x85, 0xa9, 0xb6, - 0x44, 0xa8, 0x12, 0x12, 0xd2, 0x1e, 0x71, 0xe5, 0xc4, 0x29, 0xa3, 0x4c, 0xb4, 0xfe, 0xca, 0x81, - 0xca, 0x49, 0x1f, 0x11, 0x87, 0xf8, 0x31, 0x9f, 0x49, 0x8f, 0xa1, 0xd3, 0x03, 0x41, 0xf1, 0x55, - 0x42, 0x43, 0x99, 0x5a, 0x03, 0xc9, 0x35, 0xdc, 0x99, 0x0a, 0x64, 0x75, 0xf7, 0xf6, 0x27, 0x52, - 0x76, 0xd2, 0x7f, 0x84, 0x39, 0xd6, 0x71, 0xbe, 0x0f, 0x4a, 0x09, 0x61, 0xdd, 0x80, 0xcb, 0x08, - 0x57, 0x77, 0xcd, 0x4f, 0x1e, 0x42, 0xd2, 0x0c, 0x69, 0x73, 0x51, 0x5b, 0xca, 0x3f, 0x11, 0xea, - 0x62, 0xe6, 0xd1, 0x06, 0x50, 0x19, 0x79, 0x4a, 0x7c, 0xef, 0x8c, 0xab, 0xb8, 0xa2, 0x69, 0x15, - 0xfc, 0x0f, 0x98, 0x04, 0x49, 0x06, 0xd1, 0x98, 0x8a, 0xda, 0x7e, 0xf1, 0x47, 0xf1, 0x6d, 0xf4, - 0x36, 0x0f, 0xca, 0x19, 0x21, 0x7c, 0x0c, 0xea, 0x0e, 0x8d, 0x78, 0x82, 0x1d, 0xde, 0x9e, 0x29, - 0x2c, 0xfb, 0xd6, 0x64, 0xe6, 0x5d, 0xb6, 0xb0, 0xd0, 0x4a, 0xa6, 0x3a, 0xd0, 0xd5, 0xb7, 0x0a, - 0x16, 0x3b, 0x01, 0x1d, 0x47, 0x4c, 0x09, 0xf0, 0x54, 0xd6, 0x8c, 0x2c, 0x74, 0x15, 0xb5, 0x3b, - 0x9f, 0x0a, 0xc0, 0x6c, 0xcb, 0xd8, 0x6b, 0xa2, 0xad, 0x47, 0xa9, 0x59, 0x53, 0x17, 0xd0, 0x20, - 0x96, 0x28, 0x2f, 0xd9, 0x52, 0x75, 0x50, 0x48, 0x88, 0x8a, 0xaa, 0x81, 0xc4, 0x12, 0xde, 0x04, - 0xe5, 0x84, 0xf4, 0x48, 0xc2, 0x89, 0x2b, 0x83, 0x56, 0x46, 0x63, 0x19, 0xde, 0x00, 0x65, 0x0f, - 0xb3, 0x76, 0x97, 0x11, 0x57, 0x07, 0x6d, 0xc9, 0xc3, 0xec, 0x25, 0x23, 0xae, 0x0e, 0xc9, 0x2f, - 0x79, 0x50, 0x52, 0x89, 0x83, 0x77, 0xc0, 0x62, 0x44, 0x23, 0x87, 0xc8, 0x28, 0x14, 0xed, 0xba, - 0xf8, 0xfe, 0x3a, 0x70, 0x1c, 0xda, 0x8d, 0xf8, 0x73, 0xa1, 0x47, 0x6a, 0x5b, 0x54, 0x60, 0x9c, - 0xf8, 0x8e, 0xea, 0x7e, 0x43, 0x55, 0xa0, 0x87, 0xd9, 0xb1, 0xd0, 0x21, 0xb5, 0x05, 0xd7, 0x41, - 0xc1, 0xc3, 0xca, 0xf5, 0xa2, 0x6d, 0x0c, 0x53, 0xb3, 0xfc, 0x04, 0xb3, 0x23, 0x3f, 0xf4, 0x39, - 0x12, 0x1b, 0xf0, 0x36, 0xc8, 0x73, 0xaa, 0x9c, 0xb0, 0x97, 0xc5, 0x67, 0x2e, 0x22, 0x8e, 0x1f, - 0xfb, 0x24, 0xe2, 0x28, 0xcf, 0x29, 0xdc, 0xc8, 0x06, 0xcc, 0xa2, 0xb4, 0x00, 0xc3, 0xd4, 0x2c, - 0x1d, 0x84, 0xe2, 0x26, 0x7a, 0xd8, 0xc0, 0xff, 0x8a, 0x32, 0x89, 0xbb, 0xaa, 0x14, 0x0c, 0xbb, - 0x3a, 0x4c, 0xcd, 0xa5, 0x63, 0x3c, 0x08, 0x28, 0x76, 0x91, 0xda, 0x81, 0x06, 0xc8, 0xf5, 0x74, - 0x25, 0xe4, 0x7a, 0x42, 0x4a, 0x64, 0xcf, 0x18, 0x28, 0x97, 0x08, 0x89, 0xc9, 0xde, 0x30, 0x50, - 0x8e, 0x41, 0x53, 0xf7, 0x81, 0x7a, 0x20, 0xab, 0xa3, 0xd4, 0x5c, 0x4a, 0x82, 0x78, 0xdf, 0xda, - 0xb2, 0x54, 0x53, 0xe8, 0x58, 0xfd, 0x0f, 0x54, 0xec, 0x01, 0x27, 0xec, 0xc8, 0x67, 0xb2, 0x4e, - 0x3b, 0x42, 0x68, 0xe4, 0x36, 0x0a, 0x32, 0xed, 0x42, 0x50, 0x86, 0xb6, 0xf3, 0x6e, 0xb8, 0x9e, - 0x7b, 0x3f, 0x5c, 0xcf, 0xfd, 0x39, 0x5c, 0xcf, 0xbd, 0xfd, 0xb0, 0xbe, 0xf0, 0xfe, 0xc3, 0xfa, - 0xc2, 0xef, 0x1f, 0xd6, 0x17, 0xbe, 0x69, 0x4d, 0x0d, 0xeb, 0x56, 0x56, 0x0f, 0x47, 0xb8, 0xc3, - 0x9a, 0xe3, 0xea, 0xd8, 0x72, 0x68, 0x42, 0xa6, 0x45, 0xf1, 0x31, 0xdf, 0x0c, 0xa9, 0xdb, 0x0d, - 0x08, 0x93, 0x7f, 0x90, 0xe4, 0x4c, 0xef, 0x94, 0xe4, 0xdf, 0x9d, 0xff, 0xff, 0x13, 0x00, 0x00, - 0xff, 0xff, 0x97, 0x23, 0xde, 0x19, 0x3e, 0x0d, 0x00, 0x00, -} - -func (m *Params) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *Params) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.ExtraEIPs) > 0 { - dAtA2 := make([]byte, len(m.ExtraEIPs)*10) - var j1 int - for _, num1 := range m.ExtraEIPs { - num := uint64(num1) - for num >= 1<<7 { - dAtA2[j1] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j1++ - } - dAtA2[j1] = uint8(num) - j1++ - } - i -= j1 - copy(dAtA[i:], dAtA2[:j1]) - i = encodeVarintEvm(dAtA, i, uint64(j1)) - i-- - dAtA[i] = 0x22 - } - if m.EnableCall { - i-- - if m.EnableCall { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x18 - } - if m.EnableCreate { - i-- - if m.EnableCreate { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x10 - } - if len(m.EvmDenom) > 0 { - i -= len(m.EvmDenom) - copy(dAtA[i:], m.EvmDenom) - i = encodeVarintEvm(dAtA, i, uint64(len(m.EvmDenom))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ChainConfig) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ChainConfig) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *ChainConfig) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size := m.EWASMBlock.Size() - i -= size - if _, err := m.EWASMBlock.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintEvm(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x72 - { - size := m.YoloV2Block.Size() - i -= size - if _, err := m.YoloV2Block.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintEvm(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x6a - { - size := m.MuirGlacierBlock.Size() - i -= size - if _, err := m.MuirGlacierBlock.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintEvm(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x62 - { - size := m.IstanbulBlock.Size() - i -= size - if _, err := m.IstanbulBlock.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintEvm(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x5a - { - size := m.PetersburgBlock.Size() - i -= size - if _, err := m.PetersburgBlock.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintEvm(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x52 - { - size := m.ConstantinopleBlock.Size() - i -= size - if _, err := m.ConstantinopleBlock.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintEvm(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x4a - { - size := m.ByzantiumBlock.Size() - i -= size - if _, err := m.ByzantiumBlock.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintEvm(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x42 - { - size := m.EIP158Block.Size() - i -= size - if _, err := m.EIP158Block.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintEvm(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x3a - { - size := m.EIP155Block.Size() - i -= size - if _, err := m.EIP155Block.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintEvm(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x32 - if len(m.EIP150Hash) > 0 { - i -= len(m.EIP150Hash) - copy(dAtA[i:], m.EIP150Hash) - i = encodeVarintEvm(dAtA, i, uint64(len(m.EIP150Hash))) - i-- - dAtA[i] = 0x2a - } - { - size := m.EIP150Block.Size() - i -= size - if _, err := m.EIP150Block.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintEvm(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x22 - if m.DAOForkSupport { - i-- - if m.DAOForkSupport { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x18 - } - { - size := m.DAOForkBlock.Size() - i -= size - if _, err := m.DAOForkBlock.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintEvm(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - { - size := m.HomesteadBlock.Size() - i -= size - if _, err := m.HomesteadBlock.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintEvm(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} - -func (m *State) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *State) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *State) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Value) > 0 { - i -= len(m.Value) - copy(dAtA[i:], m.Value) - i = encodeVarintEvm(dAtA, i, uint64(len(m.Value))) - i-- - dAtA[i] = 0x12 - } - if len(m.Key) > 0 { - i -= len(m.Key) - copy(dAtA[i:], m.Key) - i = encodeVarintEvm(dAtA, i, uint64(len(m.Key))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *TransactionLogs) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *TransactionLogs) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TransactionLogs) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Logs) > 0 { - for iNdEx := len(m.Logs) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Logs[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintEvm(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - } - if len(m.Hash) > 0 { - i -= len(m.Hash) - copy(dAtA[i:], m.Hash) - i = encodeVarintEvm(dAtA, i, uint64(len(m.Hash))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *Log) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *Log) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Log) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Removed { - i-- - if m.Removed { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x48 - } - if m.Index != 0 { - i = encodeVarintEvm(dAtA, i, uint64(m.Index)) - i-- - dAtA[i] = 0x40 - } - if len(m.BlockHash) > 0 { - i -= len(m.BlockHash) - copy(dAtA[i:], m.BlockHash) - i = encodeVarintEvm(dAtA, i, uint64(len(m.BlockHash))) - i-- - dAtA[i] = 0x3a - } - if m.TxIndex != 0 { - i = encodeVarintEvm(dAtA, i, uint64(m.TxIndex)) - i-- - dAtA[i] = 0x30 - } - if len(m.TxHash) > 0 { - i -= len(m.TxHash) - copy(dAtA[i:], m.TxHash) - i = encodeVarintEvm(dAtA, i, uint64(len(m.TxHash))) - i-- - dAtA[i] = 0x2a - } - if m.BlockNumber != 0 { - i = encodeVarintEvm(dAtA, i, uint64(m.BlockNumber)) - i-- - dAtA[i] = 0x20 - } - if len(m.Data) > 0 { - i -= len(m.Data) - copy(dAtA[i:], m.Data) - i = encodeVarintEvm(dAtA, i, uint64(len(m.Data))) - i-- - dAtA[i] = 0x1a - } - if len(m.Topics) > 0 { - for iNdEx := len(m.Topics) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Topics[iNdEx]) - copy(dAtA[i:], m.Topics[iNdEx]) - i = encodeVarintEvm(dAtA, i, uint64(len(m.Topics[iNdEx]))) - i-- - dAtA[i] = 0x12 - } - } - if len(m.Address) > 0 { - i -= len(m.Address) - copy(dAtA[i:], m.Address) - i = encodeVarintEvm(dAtA, i, uint64(len(m.Address))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *TxReceipt) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *TxReceipt) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TxReceipt) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.BlockHash) > 0 { - i -= len(m.BlockHash) - copy(dAtA[i:], m.BlockHash) - i = encodeVarintEvm(dAtA, i, uint64(len(m.BlockHash))) - i-- - dAtA[i] = 0x3a - } - if m.BlockHeight != 0 { - i = encodeVarintEvm(dAtA, i, uint64(m.BlockHeight)) - i-- - dAtA[i] = 0x30 - } - if m.Index != 0 { - i = encodeVarintEvm(dAtA, i, uint64(m.Index)) - i-- - dAtA[i] = 0x28 - } - if m.Result != nil { - { - size, err := m.Result.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintEvm(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x22 - } - if m.Data != nil { - { - size, err := m.Data.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintEvm(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - } - if len(m.From) > 0 { - i -= len(m.From) - copy(dAtA[i:], m.From) - i = encodeVarintEvm(dAtA, i, uint64(len(m.From))) - i-- - dAtA[i] = 0x12 - } - if len(m.Hash) > 0 { - i -= len(m.Hash) - copy(dAtA[i:], m.Hash) - i = encodeVarintEvm(dAtA, i, uint64(len(m.Hash))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *TxResult) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *TxResult) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TxResult) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.GasUsed != 0 { - i = encodeVarintEvm(dAtA, i, uint64(m.GasUsed)) - i-- - dAtA[i] = 0x30 - } - if m.Reverted { - i-- - if m.Reverted { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x28 - } - if len(m.Ret) > 0 { - i -= len(m.Ret) - copy(dAtA[i:], m.Ret) - i = encodeVarintEvm(dAtA, i, uint64(len(m.Ret))) - i-- - dAtA[i] = 0x22 - } - { - size, err := m.TxLogs.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintEvm(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - if len(m.Bloom) > 0 { - i -= len(m.Bloom) - copy(dAtA[i:], m.Bloom) - i = encodeVarintEvm(dAtA, i, uint64(len(m.Bloom))) - i-- - dAtA[i] = 0x12 - } - if len(m.ContractAddress) > 0 { - i -= len(m.ContractAddress) - copy(dAtA[i:], m.ContractAddress) - i = encodeVarintEvm(dAtA, i, uint64(len(m.ContractAddress))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *TxData) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *TxData) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TxData) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Hash) > 0 { - i -= len(m.Hash) - copy(dAtA[i:], m.Hash) - i = encodeVarintEvm(dAtA, i, uint64(len(m.Hash))) - i-- - dAtA[i] = 0x52 - } - if len(m.S) > 0 { - i -= len(m.S) - copy(dAtA[i:], m.S) - i = encodeVarintEvm(dAtA, i, uint64(len(m.S))) - i-- - dAtA[i] = 0x4a - } - if len(m.R) > 0 { - i -= len(m.R) - copy(dAtA[i:], m.R) - i = encodeVarintEvm(dAtA, i, uint64(len(m.R))) - i-- - dAtA[i] = 0x42 - } - if len(m.V) > 0 { - i -= len(m.V) - copy(dAtA[i:], m.V) - i = encodeVarintEvm(dAtA, i, uint64(len(m.V))) - i-- - dAtA[i] = 0x3a - } - if len(m.Payload) > 0 { - i -= len(m.Payload) - copy(dAtA[i:], m.Payload) - i = encodeVarintEvm(dAtA, i, uint64(len(m.Payload))) - i-- - dAtA[i] = 0x32 - } - if len(m.Amount) > 0 { - i -= len(m.Amount) - copy(dAtA[i:], m.Amount) - i = encodeVarintEvm(dAtA, i, uint64(len(m.Amount))) - i-- - dAtA[i] = 0x2a - } - if len(m.Recipient) > 0 { - i -= len(m.Recipient) - copy(dAtA[i:], m.Recipient) - i = encodeVarintEvm(dAtA, i, uint64(len(m.Recipient))) - i-- - dAtA[i] = 0x22 - } - if m.GasLimit != 0 { - i = encodeVarintEvm(dAtA, i, uint64(m.GasLimit)) - i-- - dAtA[i] = 0x18 - } - if len(m.Price) > 0 { - i -= len(m.Price) - copy(dAtA[i:], m.Price) - i = encodeVarintEvm(dAtA, i, uint64(len(m.Price))) - i-- - dAtA[i] = 0x12 - } - if m.AccountNonce != 0 { - i = encodeVarintEvm(dAtA, i, uint64(m.AccountNonce)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *BytesList) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BytesList) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *BytesList) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Bytes) > 0 { - for iNdEx := len(m.Bytes) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Bytes[iNdEx]) - copy(dAtA[i:], m.Bytes[iNdEx]) - i = encodeVarintEvm(dAtA, i, uint64(len(m.Bytes[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func encodeVarintEvm(dAtA []byte, offset int, v uint64) int { - offset -= sovEvm(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *Params) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.EvmDenom) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - if m.EnableCreate { - n += 2 - } - if m.EnableCall { - n += 2 - } - if len(m.ExtraEIPs) > 0 { - l = 0 - for _, e := range m.ExtraEIPs { - l += sovEvm(uint64(e)) - } - n += 1 + sovEvm(uint64(l)) + l - } - return n -} - -func (m *ChainConfig) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = m.HomesteadBlock.Size() - n += 1 + l + sovEvm(uint64(l)) - l = m.DAOForkBlock.Size() - n += 1 + l + sovEvm(uint64(l)) - if m.DAOForkSupport { - n += 2 - } - l = m.EIP150Block.Size() - n += 1 + l + sovEvm(uint64(l)) - l = len(m.EIP150Hash) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - l = m.EIP155Block.Size() - n += 1 + l + sovEvm(uint64(l)) - l = m.EIP158Block.Size() - n += 1 + l + sovEvm(uint64(l)) - l = m.ByzantiumBlock.Size() - n += 1 + l + sovEvm(uint64(l)) - l = m.ConstantinopleBlock.Size() - n += 1 + l + sovEvm(uint64(l)) - l = m.PetersburgBlock.Size() - n += 1 + l + sovEvm(uint64(l)) - l = m.IstanbulBlock.Size() - n += 1 + l + sovEvm(uint64(l)) - l = m.MuirGlacierBlock.Size() - n += 1 + l + sovEvm(uint64(l)) - l = m.YoloV2Block.Size() - n += 1 + l + sovEvm(uint64(l)) - l = m.EWASMBlock.Size() - n += 1 + l + sovEvm(uint64(l)) - return n -} - -func (m *State) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Key) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - l = len(m.Value) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - return n -} - -func (m *TransactionLogs) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Hash) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - if len(m.Logs) > 0 { - for _, e := range m.Logs { - l = e.Size() - n += 1 + l + sovEvm(uint64(l)) - } - } - return n -} - -func (m *Log) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Address) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - if len(m.Topics) > 0 { - for _, s := range m.Topics { - l = len(s) - n += 1 + l + sovEvm(uint64(l)) - } - } - l = len(m.Data) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - if m.BlockNumber != 0 { - n += 1 + sovEvm(uint64(m.BlockNumber)) - } - l = len(m.TxHash) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - if m.TxIndex != 0 { - n += 1 + sovEvm(uint64(m.TxIndex)) - } - l = len(m.BlockHash) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - if m.Index != 0 { - n += 1 + sovEvm(uint64(m.Index)) - } - if m.Removed { - n += 2 - } - return n -} - -func (m *TxReceipt) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Hash) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - l = len(m.From) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - if m.Data != nil { - l = m.Data.Size() - n += 1 + l + sovEvm(uint64(l)) - } - if m.Result != nil { - l = m.Result.Size() - n += 1 + l + sovEvm(uint64(l)) - } - if m.Index != 0 { - n += 1 + sovEvm(uint64(m.Index)) - } - if m.BlockHeight != 0 { - n += 1 + sovEvm(uint64(m.BlockHeight)) - } - l = len(m.BlockHash) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - return n -} - -func (m *TxResult) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ContractAddress) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - l = len(m.Bloom) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - l = m.TxLogs.Size() - n += 1 + l + sovEvm(uint64(l)) - l = len(m.Ret) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - if m.Reverted { - n += 2 - } - if m.GasUsed != 0 { - n += 1 + sovEvm(uint64(m.GasUsed)) - } - return n -} - -func (m *TxData) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.AccountNonce != 0 { - n += 1 + sovEvm(uint64(m.AccountNonce)) - } - l = len(m.Price) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - if m.GasLimit != 0 { - n += 1 + sovEvm(uint64(m.GasLimit)) - } - l = len(m.Recipient) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - l = len(m.Amount) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - l = len(m.Payload) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - l = len(m.V) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - l = len(m.R) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - l = len(m.S) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - l = len(m.Hash) - if l > 0 { - n += 1 + l + sovEvm(uint64(l)) - } - return n -} - -func (m *BytesList) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.Bytes) > 0 { - for _, b := range m.Bytes { - l = len(b) - n += 1 + l + sovEvm(uint64(l)) - } - } - return n -} - -func sovEvm(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozEvm(x uint64) (n int) { - return sovEvm(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *Params) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Params: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Params: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EvmDenom", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.EvmDenom = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field EnableCreate", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.EnableCreate = bool(v != 0) - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field EnableCall", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.EnableCall = bool(v != 0) - case 4: - if wireType == 0 { - var v int64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.ExtraEIPs = append(m.ExtraEIPs, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var elementCount int - var count int - for _, integer := range dAtA[iNdEx:postIndex] { - if integer < 128 { - count++ - } - } - elementCount = count - if elementCount != 0 && len(m.ExtraEIPs) == 0 { - m.ExtraEIPs = make([]int64, 0, elementCount) - } - for iNdEx < postIndex { - var v int64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.ExtraEIPs = append(m.ExtraEIPs, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field ExtraEIPs", wireType) - } - default: - iNdEx = preIndex - skippy, err := skipEvm(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthEvm - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthEvm - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ChainConfig) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ChainConfig: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ChainConfig: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field HomesteadBlock", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.HomesteadBlock.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DAOForkBlock", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.DAOForkBlock.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field DAOForkSupport", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.DAOForkSupport = bool(v != 0) - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EIP150Block", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.EIP150Block.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EIP150Hash", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.EIP150Hash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EIP155Block", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.EIP155Block.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EIP158Block", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.EIP158Block.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ByzantiumBlock", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.ByzantiumBlock.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConstantinopleBlock", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.ConstantinopleBlock.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PetersburgBlock", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.PetersburgBlock.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field IstanbulBlock", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.IstanbulBlock.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 12: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MuirGlacierBlock", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.MuirGlacierBlock.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 13: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field YoloV2Block", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.YoloV2Block.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 14: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EWASMBlock", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.EWASMBlock.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipEvm(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthEvm - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthEvm - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *State) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: State: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: State: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Key = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Value = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipEvm(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthEvm - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthEvm - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *TransactionLogs) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: TransactionLogs: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: TransactionLogs: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Hash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Logs", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Logs = append(m.Logs, &Log{}) - if err := m.Logs[len(m.Logs)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipEvm(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthEvm - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthEvm - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *Log) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Log: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Log: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Address = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Topics", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Topics = append(m.Topics, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) - if m.Data == nil { - m.Data = []byte{} - } - iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockNumber", wireType) - } - m.BlockNumber = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.BlockNumber |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TxHash", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.TxHash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TxIndex", wireType) - } - m.TxIndex = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TxIndex |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockHash", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.BlockHash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 8: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) - } - m.Index = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Index |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 9: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Removed", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Removed = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := skipEvm(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthEvm - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthEvm - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *TxReceipt) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: TxReceipt: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: TxReceipt: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Hash = append(m.Hash[:0], dAtA[iNdEx:postIndex]...) - if m.Hash == nil { - m.Hash = []byte{} - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.From = append(m.From[:0], dAtA[iNdEx:postIndex]...) - if m.From == nil { - m.From = []byte{} - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Data == nil { - m.Data = &TxData{} - } - if err := m.Data.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Result", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Result == nil { - m.Result = &TxResult{} - } - if err := m.Result.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) - } - m.Index = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Index |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) - } - m.BlockHeight = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.BlockHeight |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockHash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.BlockHash = append(m.BlockHash[:0], dAtA[iNdEx:postIndex]...) - if m.BlockHash == nil { - m.BlockHash = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipEvm(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthEvm - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthEvm - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *TxResult) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: TxResult: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: TxResult: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ContractAddress", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ContractAddress = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Bloom", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Bloom = append(m.Bloom[:0], dAtA[iNdEx:postIndex]...) - if m.Bloom == nil { - m.Bloom = []byte{} - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TxLogs", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.TxLogs.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Ret", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Ret = append(m.Ret[:0], dAtA[iNdEx:postIndex]...) - if m.Ret == nil { - m.Ret = []byte{} - } - iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Reverted", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Reverted = bool(v != 0) - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field GasUsed", wireType) - } - m.GasUsed = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.GasUsed |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipEvm(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthEvm - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthEvm - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *TxData) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: TxData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: TxData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AccountNonce", wireType) - } - m.AccountNonce = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.AccountNonce |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Price = append(m.Price[:0], dAtA[iNdEx:postIndex]...) - if m.Price == nil { - m.Price = []byte{} - } - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field GasLimit", wireType) - } - m.GasLimit = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.GasLimit |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Recipient", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Recipient = append(m.Recipient[:0], dAtA[iNdEx:postIndex]...) - if m.Recipient == nil { - m.Recipient = []byte{} - } - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Amount = append(m.Amount[:0], dAtA[iNdEx:postIndex]...) - if m.Amount == nil { - m.Amount = []byte{} - } - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Payload", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Payload = append(m.Payload[:0], dAtA[iNdEx:postIndex]...) - if m.Payload == nil { - m.Payload = []byte{} - } - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field V", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.V = append(m.V[:0], dAtA[iNdEx:postIndex]...) - if m.V == nil { - m.V = []byte{} - } - iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field R", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.R = append(m.R[:0], dAtA[iNdEx:postIndex]...) - if m.R == nil { - m.R = []byte{} - } - iNdEx = postIndex - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field S", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.S = append(m.S[:0], dAtA[iNdEx:postIndex]...) - if m.S == nil { - m.S = []byte{} - } - iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Hash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipEvm(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthEvm - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthEvm - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BytesList) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BytesList: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BytesList: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Bytes", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthEvm - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthEvm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Bytes = append(m.Bytes, make([]byte, postIndex-iNdEx)) - copy(m.Bytes[len(m.Bytes)-1], dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipEvm(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthEvm - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthEvm - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipEvm(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowEvm - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowEvm - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowEvm - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthEvm - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupEvm - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthEvm - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthEvm = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowEvm = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupEvm = fmt.Errorf("proto: unexpected end of group") -) diff --git a/chain/evm/types/module.go b/chain/evm/types/module.go deleted file mode 100644 index 4d498417..00000000 --- a/chain/evm/types/module.go +++ /dev/null @@ -1,5 +0,0 @@ -package types - -const ModuleName = "evm" - -const RouterKey = ModuleName diff --git a/chain/evm/types/msg.go b/chain/evm/types/msg.go deleted file mode 100644 index 41404286..00000000 --- a/chain/evm/types/msg.go +++ /dev/null @@ -1,356 +0,0 @@ -package types - -import ( - "crypto/ecdsa" - "fmt" - "io" - "math/big" - - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - - ethcmn "github.com/ethereum/go-ethereum/common" - ethtypes "github.com/ethereum/go-ethereum/core/types" - ethcrypto "github.com/ethereum/go-ethereum/crypto" - "github.com/ethereum/go-ethereum/rlp" -) - -var ( - _ sdk.Msg = &MsgEthereumTx{} - _ sdk.Tx = &MsgEthereumTx{} -) - -var big8 = big.NewInt(8) - -// message type and route constants -const ( - // TypeMsgEthereumTx defines the type string of an Ethereum tranasction - TypeMsgEthereumTx = "ethereum" -) - -// NewMsgEthereumTx returns a reference to a new Ethereum transaction message. -func NewMsgEthereumTx( - nonce uint64, to *ethcmn.Address, amount *big.Int, - gasLimit uint64, gasPrice *big.Int, payload []byte, -) *MsgEthereumTx { - return newMsgEthereumTx(nonce, to, amount, gasLimit, gasPrice, payload) -} - -// NewMsgEthereumTxContract returns a reference to a new Ethereum transaction -// message designated for contract creation. -func NewMsgEthereumTxContract( - nonce uint64, amount *big.Int, gasLimit uint64, gasPrice *big.Int, payload []byte, -) *MsgEthereumTx { - return newMsgEthereumTx(nonce, nil, amount, gasLimit, gasPrice, payload) -} - -func newMsgEthereumTx( - nonce uint64, to *ethcmn.Address, amount *big.Int, // nolint: interfacer - gasLimit uint64, gasPrice *big.Int, payload []byte, -) *MsgEthereumTx { - if len(payload) > 0 { - payload = ethcmn.CopyBytes(payload) - } - - var toBz []byte - if to != nil { - toBz = to.Bytes() - } - - txData := &TxData{ - AccountNonce: nonce, - Recipient: toBz, - Payload: payload, - GasLimit: gasLimit, - Amount: []byte{}, - Price: []byte{}, - V: []byte{}, - R: []byte{}, - S: []byte{}, - } - - if amount != nil { - txData.Amount = amount.Bytes() - } - if gasPrice != nil { - txData.Price = gasPrice.Bytes() - } - - return &MsgEthereumTx{Data: txData} -} - -// Route returns the route value of an MsgEthereumTx. -func (msg MsgEthereumTx) Route() string { return RouterKey } - -// Type returns the type value of an MsgEthereumTx. -func (msg MsgEthereumTx) Type() string { return TypeMsgEthereumTx } - -// ValidateBasic implements the sdk.Msg interface. It performs basic validation -// checks of a Transaction. If returns an error if validation fails. -func (msg MsgEthereumTx) ValidateBasic() error { - gasPrice := new(big.Int).SetBytes(msg.Data.Price) - // if gasPrice.Sign() == 0 { - // return sdkerrors.Wrapf(ErrInvalidValue, "gas price cannot be 0") - // } - - if gasPrice.Sign() == -1 { - return sdkerrors.Wrapf(ErrInvalidValue, "gas price cannot be negative %s", gasPrice) - } - - // Amount can be 0 - amount := new(big.Int).SetBytes(msg.Data.Amount) - if amount.Sign() == -1 { - return sdkerrors.Wrapf(ErrInvalidValue, "amount cannot be negative %s", amount) - } - - return nil -} - -// To returns the recipient address of the transaction. It returns nil if the -// transaction is a contract creation. -func (msg MsgEthereumTx) To() *ethcmn.Address { - if len(msg.Data.Recipient) == 0 { - return nil - } - - recipient := ethcmn.BytesToAddress(msg.Data.Recipient) - return &recipient -} - -// GetMsgs returns a single MsgEthereumTx as an sdk.Msg. -func (msg *MsgEthereumTx) GetMsgs() []sdk.Msg { - return []sdk.Msg{msg} -} - -// GetSigners returns the expected signers for an Ethereum transaction message. -// For such a message, there should exist only a single 'signer'. -// -// NOTE: This method panics if 'VerifySig' hasn't been called first. -func (msg MsgEthereumTx) GetSigners() []sdk.AccAddress { - sender := msg.GetFrom() - if sender.Empty() { - panic("must use 'VerifySig' with a chain ID to get the signer") - } - return []sdk.AccAddress{sender} -} - -// GetSignBytes returns the Amino bytes of an Ethereum transaction message used -// for signing. -// -// NOTE: This method cannot be used as a chain ID is needed to create valid bytes -// to sign over. Use 'RLPSignBytes' instead. -func (msg MsgEthereumTx) GetSignBytes() []byte { - panic("must use 'RLPSignBytes' with a chain ID to get the valid bytes to sign") -} - -// RLPSignBytes returns the RLP hash of an Ethereum transaction message with a -// given chainID used for signing. -func (msg MsgEthereumTx) RLPSignBytes(chainID *big.Int) ethcmn.Hash { - return rlpHash([]interface{}{ - msg.Data.AccountNonce, - new(big.Int).SetBytes(msg.Data.Price), - msg.Data.GasLimit, - msg.To(), - new(big.Int).SetBytes(msg.Data.Amount), - new(big.Int).SetBytes(msg.Data.Payload), - chainID, - uint(0), - uint(0), - }) -} - -// RLPSignHomesteadBytes returns the RLP hash of an Ethereum transaction message with a -// a Homestead layout without chainID. -func (msg MsgEthereumTx) RLPSignHomesteadBytes() ethcmn.Hash { - return rlpHash([]interface{}{ - msg.Data.AccountNonce, - msg.Data.Price, - msg.Data.GasLimit, - msg.To(), - msg.Data.Amount, - msg.Data.Payload, - }) -} - -// EncodeRLP implements the rlp.Encoder interface. -func (msg *MsgEthereumTx) EncodeRLP(w io.Writer) error { - return rlp.Encode(w, &msg.Data) -} - -// DecodeRLP implements the rlp.Decoder interface. -func (msg *MsgEthereumTx) DecodeRLP(s *rlp.Stream) error { - _, size, err := s.Kind() - if err != nil { - // return error if stream is too large - return err - } - - if err := s.Decode(&msg.Data); err != nil { - return err - } - - msg.Size_ = float64(ethcmn.StorageSize(rlp.ListSize(size))) - return nil -} - -// Sign calculates a secp256k1 ECDSA signature and signs the transaction. It -// takes a private key and chainID to sign an Ethereum transaction according to -// EIP155 standard. It mutates the transaction as it populates the V, R, S -// fields of the Transaction's Signature. -func (msg *MsgEthereumTx) Sign(chainID *big.Int, priv *ecdsa.PrivateKey) error { - txHash := msg.RLPSignBytes(chainID) - - sig, err := ethcrypto.Sign(txHash[:], priv) - if err != nil { - return err - } - - if len(sig) != 65 { - return fmt.Errorf("wrong size for signature: got %d, want 65", len(sig)) - } - - r := new(big.Int).SetBytes(sig[:32]) - s := new(big.Int).SetBytes(sig[32:64]) - - var v *big.Int - - if chainID.Sign() == 0 { - v = new(big.Int).SetBytes([]byte{sig[64] + 27}) - } else { - v = big.NewInt(int64(sig[64] + 35)) - chainIDMul := new(big.Int).Mul(chainID, big.NewInt(2)) - - v.Add(v, chainIDMul) - } - - msg.Data.V = v.Bytes() - msg.Data.R = r.Bytes() - msg.Data.S = s.Bytes() - return nil -} - -// VerifySig attempts to verify a Transaction's signature for a given chainID. -// A derived address is returned upon success or an error if recovery fails. -func (msg *MsgEthereumTx) VerifySig(chainID *big.Int) (ethcmn.Address, error) { - signer := ethtypes.NewEIP155Signer(chainID) - - if msg.From != nil { - if msg.From.Signer == nil { - return msg.VerifySigHomestead() - } - - // If the signer used to derive from in a previous call is not the same as - // used current, invalidate the cache. - fromSigner := ethtypes.NewEIP155Signer(new(big.Int).SetBytes(msg.From.Signer.chainId)) - if signer.Equal(fromSigner) { - return ethcmn.BytesToAddress(msg.From.Address), nil - } - } - - // do not allow recovery for transactions with an unprotected chainID - if chainID.Sign() == 0 { - return msg.VerifySigHomestead() - } - - v, r, s := msg.RawSignatureValues() - chainIDMul := new(big.Int).Mul(chainID, big.NewInt(2)) - V := new(big.Int).Sub(v, chainIDMul) - V.Sub(V, big8) - - sigHash := msg.RLPSignBytes(chainID) - sender, err := recoverEthSig(r, s, V, sigHash) - if err != nil { - return ethcmn.Address{}, err - } - - msg.From = &SigCache{ - Signer: &EIP155Signer{ - chainId: chainID.Bytes(), - chainIdMul: new(big.Int).Mul(chainID, big.NewInt(2)).Bytes(), - }, - Address: sender.Bytes(), - } - - return sender, nil -} - -// VerifySigHomestead attempts to verify a Transaction's signature in legacy way (no EIP155). -// A derived address is returned upon success or an error if recovery fails. -func (msg *MsgEthereumTx) VerifySigHomestead() (ethcmn.Address, error) { - // signer := ethtypes.HomesteadSigner{} - if msg.From != nil { - // If the signer used to derive from in a previous call is not the same as - // used current, invalidate the cache. - if msg.From.Signer == nil { - return ethcmn.BytesToAddress(msg.From.Address), nil - } - } - - v, r, s := msg.RawSignatureValues() - sigHash := msg.RLPSignHomesteadBytes() - sender, err := recoverEthSig(r, s, v, sigHash) - if err != nil { - return ethcmn.Address{}, err - } - - msg.From = &SigCache{ - Address: sender.Bytes(), - } - - return sender, nil -} - -// GetGas implements the GasTx interface. It returns the GasLimit of the transaction. -func (msg MsgEthereumTx) GetGas() uint64 { - return msg.Data.GasLimit -} - -// Fee returns gasprice * gaslimit. -func (msg MsgEthereumTx) Fee() *big.Int { - gasPrice := new(big.Int).SetBytes(msg.Data.Price) - gasLimit := new(big.Int).SetUint64(msg.Data.GasLimit) - return new(big.Int).Mul(gasPrice, gasLimit) -} - -// ChainID returns which chain id this transaction was signed for (if at all) -func (msg *MsgEthereumTx) ChainID() *big.Int { - return deriveChainID(new(big.Int).SetBytes(msg.Data.V)) -} - -// Cost returns amount + gasprice * gaslimit. -func (msg MsgEthereumTx) Cost() *big.Int { - total := msg.Fee() - total.Add(total, new(big.Int).SetBytes(msg.Data.Amount)) - return total -} - -// RawSignatureValues returns the V, R, S signature values of the transaction. -// The return values should not be modified by the caller. -func (msg MsgEthereumTx) RawSignatureValues() (v, r, s *big.Int) { - return new(big.Int).SetBytes(msg.Data.V), - new(big.Int).SetBytes(msg.Data.R), - new(big.Int).SetBytes(msg.Data.S) -} - -// GetFrom loads the ethereum sender address from the sigcache and returns an -// sdk.AccAddress from its bytes -func (msg *MsgEthereumTx) GetFrom() sdk.AccAddress { - if msg.From == nil { - return nil - } - - return sdk.AccAddress(msg.From.Address) -} - -// deriveChainID derives the chain id from the given v parameter -func deriveChainID(v *big.Int) *big.Int { - if v.BitLen() <= 64 { - v := v.Uint64() - if v == 27 || v == 28 { - return new(big.Int) - } - return new(big.Int).SetUint64((v - 35) / 2) - } - v = new(big.Int).Sub(v, big.NewInt(35)) - return v.Div(v, big.NewInt(2)) -} diff --git a/chain/evm/types/params.go b/chain/evm/types/params.go deleted file mode 100644 index a49a6bb6..00000000 --- a/chain/evm/types/params.go +++ /dev/null @@ -1,103 +0,0 @@ -package types - -import ( - "fmt" - - yaml "gopkg.in/yaml.v2" - - sdk "github.com/cosmos/cosmos-sdk/types" - paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" - "github.com/ethereum/go-ethereum/core/vm" -) - -var _ paramtypes.ParamSet = &Params{} - -// Parameter keys -var ( - ParamStoreKeyEVMDenom = []byte("EVMDenom") - ParamStoreKeyEnableCreate = []byte("EnableCreate") - ParamStoreKeyEnableCall = []byte("EnableCall") - ParamStoreKeyExtraEIPs = []byte("EnableExtraEIPs") -) - -// ParamKeyTable returns the parameter key table. -func ParamKeyTable() paramtypes.KeyTable { - return paramtypes.NewKeyTable().RegisterParamSet(&Params{}) -} - -// NewParams creates a new Params instance -func NewParams(evmDenom string, enableCreate, enableCall bool, extraEIPs ...int64) Params { - return Params{ - EvmDenom: evmDenom, - EnableCreate: enableCreate, - EnableCall: enableCall, - ExtraEIPs: extraEIPs, - } -} - -// DefaultParams returns default evm parameters -func DefaultParams() Params { - return Params{ - EvmDenom: "inj", - EnableCreate: true, - EnableCall: true, - ExtraEIPs: []int64(nil), // TODO: define default values - } -} - -// String implements the fmt.Stringer interface -func (p Params) String() string { - out, _ := yaml.Marshal(p) - return string(out) -} - -// ParamSetPairs returns the parameter set pairs. -func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { - return paramtypes.ParamSetPairs{ - paramtypes.NewParamSetPair(ParamStoreKeyEVMDenom, &p.EvmDenom, validateEVMDenom), - paramtypes.NewParamSetPair(ParamStoreKeyEnableCreate, &p.EnableCreate, validateBool), - paramtypes.NewParamSetPair(ParamStoreKeyEnableCall, &p.EnableCall, validateBool), - paramtypes.NewParamSetPair(ParamStoreKeyExtraEIPs, &p.ExtraEIPs, validateEIPs), - } -} - -// Validate performs basic validation on evm parameters. -func (p Params) Validate() error { - if err := sdk.ValidateDenom(p.EvmDenom); err != nil { - return err - } - - return validateEIPs(p.ExtraEIPs) -} - -func validateEVMDenom(i interface{}) error { - denom, ok := i.(string) - if !ok { - return fmt.Errorf("invalid parameter EVM denom type: %T", i) - } - - return sdk.ValidateDenom(denom) -} - -func validateBool(i interface{}) error { - _, ok := i.(bool) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - return nil -} - -func validateEIPs(i interface{}) error { - eips, ok := i.([]int64) - if !ok { - return fmt.Errorf("invalid EIP slice type: %T", i) - } - - for _, eip := range eips { - if !vm.ValidEip(int(eip)) { - return fmt.Errorf("EIP %d is not activateable", eip) - } - } - - return nil -} diff --git a/chain/evm/types/protocol.go b/chain/evm/types/protocol.go deleted file mode 100644 index 580c344c..00000000 --- a/chain/evm/types/protocol.go +++ /dev/null @@ -1,9 +0,0 @@ -package types - -// Constants to match up protocol versions and messages -const ( - eth65 = 65 - - // ProtocolVersion is the latest supported version of the eth protocol. - ProtocolVersion = eth65 -) diff --git a/chain/evm/types/query.pb.go b/chain/evm/types/query.pb.go deleted file mode 100644 index 7fdefe95..00000000 --- a/chain/evm/types/query.pb.go +++ /dev/null @@ -1,5016 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: injective/evm/v1beta1/query.proto - -package types - -import ( - context "context" - fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" - _ "google.golang.org/genproto/googleapis/api/annotations" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -// QueryAccountRequest is the request type for the Query/Account RPC method. -type QueryAccountRequest struct { - // address is the ethereum hex address to query the account for. - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` -} - -func (m *QueryAccountRequest) Reset() { *m = QueryAccountRequest{} } -func (m *QueryAccountRequest) String() string { return proto.CompactTextString(m) } -func (*QueryAccountRequest) ProtoMessage() {} -func (*QueryAccountRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{0} -} -func (m *QueryAccountRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryAccountRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryAccountRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryAccountRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryAccountRequest.Merge(m, src) -} -func (m *QueryAccountRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryAccountRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryAccountRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryAccountRequest proto.InternalMessageInfo - -// QueryAccountResponse is the response type for the Query/Account RPC method. -type QueryAccountResponse struct { - // balance is the balance of the EVM denomination. - Balance string `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"` - // code_hash is the code bytes from the EOA. - CodeHash []byte `protobuf:"bytes,2,opt,name=code_hash,json=codeHash,proto3" json:"code_hash,omitempty"` - // nonce is the account's sequence number. - Nonce uint64 `protobuf:"varint,3,opt,name=nonce,proto3" json:"nonce,omitempty"` -} - -func (m *QueryAccountResponse) Reset() { *m = QueryAccountResponse{} } -func (m *QueryAccountResponse) String() string { return proto.CompactTextString(m) } -func (*QueryAccountResponse) ProtoMessage() {} -func (*QueryAccountResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{1} -} -func (m *QueryAccountResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryAccountResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryAccountResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryAccountResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryAccountResponse.Merge(m, src) -} -func (m *QueryAccountResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryAccountResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryAccountResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryAccountResponse proto.InternalMessageInfo - -func (m *QueryAccountResponse) GetBalance() string { - if m != nil { - return m.Balance - } - return "" -} - -func (m *QueryAccountResponse) GetCodeHash() []byte { - if m != nil { - return m.CodeHash - } - return nil -} - -func (m *QueryAccountResponse) GetNonce() uint64 { - if m != nil { - return m.Nonce - } - return 0 -} - -// QueryBalanceRequest is the request type for the Query/Balance RPC method. -type QueryBalanceRequest struct { - // address is the ethereum hex address to query the balance for. - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` -} - -func (m *QueryBalanceRequest) Reset() { *m = QueryBalanceRequest{} } -func (m *QueryBalanceRequest) String() string { return proto.CompactTextString(m) } -func (*QueryBalanceRequest) ProtoMessage() {} -func (*QueryBalanceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{2} -} -func (m *QueryBalanceRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryBalanceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryBalanceRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryBalanceRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryBalanceRequest.Merge(m, src) -} -func (m *QueryBalanceRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryBalanceRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryBalanceRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryBalanceRequest proto.InternalMessageInfo - -// QueryBalanceResponse is the response type for the Query/Balance RPC method. -type QueryBalanceResponse struct { - // balance is the balance of the EVM denomination. - Balance string `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"` -} - -func (m *QueryBalanceResponse) Reset() { *m = QueryBalanceResponse{} } -func (m *QueryBalanceResponse) String() string { return proto.CompactTextString(m) } -func (*QueryBalanceResponse) ProtoMessage() {} -func (*QueryBalanceResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{3} -} -func (m *QueryBalanceResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryBalanceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryBalanceResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryBalanceResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryBalanceResponse.Merge(m, src) -} -func (m *QueryBalanceResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryBalanceResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryBalanceResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryBalanceResponse proto.InternalMessageInfo - -func (m *QueryBalanceResponse) GetBalance() string { - if m != nil { - return m.Balance - } - return "" -} - -// QueryStorageRequest is the request type for the Query/Storage RPC method. -type QueryStorageRequest struct { - /// address is the ethereum hex address to query the storage state for. - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - // key defines the key of the storage state - Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` -} - -func (m *QueryStorageRequest) Reset() { *m = QueryStorageRequest{} } -func (m *QueryStorageRequest) String() string { return proto.CompactTextString(m) } -func (*QueryStorageRequest) ProtoMessage() {} -func (*QueryStorageRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{4} -} -func (m *QueryStorageRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryStorageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryStorageRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryStorageRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryStorageRequest.Merge(m, src) -} -func (m *QueryStorageRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryStorageRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryStorageRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryStorageRequest proto.InternalMessageInfo - -// QueryStorageResponse is the response type for the Query/Storage RPC -// method. -type QueryStorageResponse struct { - // key defines the storage state value hash associated with the given key. - Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` -} - -func (m *QueryStorageResponse) Reset() { *m = QueryStorageResponse{} } -func (m *QueryStorageResponse) String() string { return proto.CompactTextString(m) } -func (*QueryStorageResponse) ProtoMessage() {} -func (*QueryStorageResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{5} -} -func (m *QueryStorageResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryStorageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryStorageResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryStorageResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryStorageResponse.Merge(m, src) -} -func (m *QueryStorageResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryStorageResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryStorageResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryStorageResponse proto.InternalMessageInfo - -func (m *QueryStorageResponse) GetValue() string { - if m != nil { - return m.Value - } - return "" -} - -// QueryCodeRequest is the request type for the Query/Code RPC method. -type QueryCodeRequest struct { - // address is the ethereum hex address to query the code for. - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` -} - -func (m *QueryCodeRequest) Reset() { *m = QueryCodeRequest{} } -func (m *QueryCodeRequest) String() string { return proto.CompactTextString(m) } -func (*QueryCodeRequest) ProtoMessage() {} -func (*QueryCodeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{6} -} -func (m *QueryCodeRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryCodeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryCodeRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryCodeRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryCodeRequest.Merge(m, src) -} -func (m *QueryCodeRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryCodeRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryCodeRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryCodeRequest proto.InternalMessageInfo - -// QueryCodeResponse is the response type for the Query/Code RPC -// method. -type QueryCodeResponse struct { - // code represents the code bytes from an ethereum address. - Code []byte `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` -} - -func (m *QueryCodeResponse) Reset() { *m = QueryCodeResponse{} } -func (m *QueryCodeResponse) String() string { return proto.CompactTextString(m) } -func (*QueryCodeResponse) ProtoMessage() {} -func (*QueryCodeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{7} -} -func (m *QueryCodeResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryCodeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryCodeResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryCodeResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryCodeResponse.Merge(m, src) -} -func (m *QueryCodeResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryCodeResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryCodeResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryCodeResponse proto.InternalMessageInfo - -func (m *QueryCodeResponse) GetCode() []byte { - if m != nil { - return m.Code - } - return nil -} - -// QueryTxLogsRequest is the request type for the Query/TxLogs RPC method. -type QueryTxLogsRequest struct { - // hash is the ethereum transaction hex hash to query the logs for. - Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` -} - -func (m *QueryTxLogsRequest) Reset() { *m = QueryTxLogsRequest{} } -func (m *QueryTxLogsRequest) String() string { return proto.CompactTextString(m) } -func (*QueryTxLogsRequest) ProtoMessage() {} -func (*QueryTxLogsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{8} -} -func (m *QueryTxLogsRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryTxLogsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryTxLogsRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryTxLogsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryTxLogsRequest.Merge(m, src) -} -func (m *QueryTxLogsRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryTxLogsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryTxLogsRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryTxLogsRequest proto.InternalMessageInfo - -// QueryTxLogs is the response type for the Query/TxLogs RPC method. -type QueryTxLogsResponse struct { - // logs represents the ethereum logs generated from the given transaction. - Logs []*Log `protobuf:"bytes,1,rep,name=logs,proto3" json:"logs,omitempty"` -} - -func (m *QueryTxLogsResponse) Reset() { *m = QueryTxLogsResponse{} } -func (m *QueryTxLogsResponse) String() string { return proto.CompactTextString(m) } -func (*QueryTxLogsResponse) ProtoMessage() {} -func (*QueryTxLogsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{9} -} -func (m *QueryTxLogsResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryTxLogsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryTxLogsResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryTxLogsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryTxLogsResponse.Merge(m, src) -} -func (m *QueryTxLogsResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryTxLogsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryTxLogsResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryTxLogsResponse proto.InternalMessageInfo - -func (m *QueryTxLogsResponse) GetLogs() []*Log { - if m != nil { - return m.Logs - } - return nil -} - -// QueryTxReceiptRequest is the request type for the Query/TxReceipt RPC method. -type QueryTxReceiptRequest struct { - // hash is the ethereum transaction hex hash to query the receipt for. - Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` -} - -func (m *QueryTxReceiptRequest) Reset() { *m = QueryTxReceiptRequest{} } -func (m *QueryTxReceiptRequest) String() string { return proto.CompactTextString(m) } -func (*QueryTxReceiptRequest) ProtoMessage() {} -func (*QueryTxReceiptRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{10} -} -func (m *QueryTxReceiptRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryTxReceiptRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryTxReceiptRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryTxReceiptRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryTxReceiptRequest.Merge(m, src) -} -func (m *QueryTxReceiptRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryTxReceiptRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryTxReceiptRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryTxReceiptRequest proto.InternalMessageInfo - -// QueryTxReceiptResponse is the response type for the Query/TxReceipt RPC method. -type QueryTxReceiptResponse struct { - // receipt represents the ethereum receipt for the given transaction. - Receipt *TxReceipt `protobuf:"bytes,1,opt,name=receipt,proto3" json:"receipt,omitempty"` -} - -func (m *QueryTxReceiptResponse) Reset() { *m = QueryTxReceiptResponse{} } -func (m *QueryTxReceiptResponse) String() string { return proto.CompactTextString(m) } -func (*QueryTxReceiptResponse) ProtoMessage() {} -func (*QueryTxReceiptResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{11} -} -func (m *QueryTxReceiptResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryTxReceiptResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryTxReceiptResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryTxReceiptResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryTxReceiptResponse.Merge(m, src) -} -func (m *QueryTxReceiptResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryTxReceiptResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryTxReceiptResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryTxReceiptResponse proto.InternalMessageInfo - -func (m *QueryTxReceiptResponse) GetReceipt() *TxReceipt { - if m != nil { - return m.Receipt - } - return nil -} - -// QueryTxReceiptsByBlockHeightRequest is the request type for the Query/TxReceiptsByBlockHeight RPC method. -type QueryTxReceiptsByBlockHeightRequest struct { - // height is the block height to query tx receipts for - Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` -} - -func (m *QueryTxReceiptsByBlockHeightRequest) Reset() { *m = QueryTxReceiptsByBlockHeightRequest{} } -func (m *QueryTxReceiptsByBlockHeightRequest) String() string { return proto.CompactTextString(m) } -func (*QueryTxReceiptsByBlockHeightRequest) ProtoMessage() {} -func (*QueryTxReceiptsByBlockHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{12} -} -func (m *QueryTxReceiptsByBlockHeightRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryTxReceiptsByBlockHeightRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryTxReceiptsByBlockHeightRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryTxReceiptsByBlockHeightRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryTxReceiptsByBlockHeightRequest.Merge(m, src) -} -func (m *QueryTxReceiptsByBlockHeightRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryTxReceiptsByBlockHeightRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryTxReceiptsByBlockHeightRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryTxReceiptsByBlockHeightRequest proto.InternalMessageInfo - -// QueryTxReceiptsByBlockHeightResponse is the response type for the Query/TxReceiptsByBlockHeight RPC method. -type QueryTxReceiptsByBlockHeightResponse struct { - // tx receipts list for the block - Receipts []*TxReceipt `protobuf:"bytes,1,rep,name=receipts,proto3" json:"receipts,omitempty"` -} - -func (m *QueryTxReceiptsByBlockHeightResponse) Reset() { *m = QueryTxReceiptsByBlockHeightResponse{} } -func (m *QueryTxReceiptsByBlockHeightResponse) String() string { return proto.CompactTextString(m) } -func (*QueryTxReceiptsByBlockHeightResponse) ProtoMessage() {} -func (*QueryTxReceiptsByBlockHeightResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{13} -} -func (m *QueryTxReceiptsByBlockHeightResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryTxReceiptsByBlockHeightResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryTxReceiptsByBlockHeightResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryTxReceiptsByBlockHeightResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryTxReceiptsByBlockHeightResponse.Merge(m, src) -} -func (m *QueryTxReceiptsByBlockHeightResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryTxReceiptsByBlockHeightResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryTxReceiptsByBlockHeightResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryTxReceiptsByBlockHeightResponse proto.InternalMessageInfo - -func (m *QueryTxReceiptsByBlockHeightResponse) GetReceipts() []*TxReceipt { - if m != nil { - return m.Receipts - } - return nil -} - -// QueryTxReceiptsByBlockHashRequest is the request type for the Query/TxReceiptsByBlockHash RPC method. -type QueryTxReceiptsByBlockHashRequest struct { - // hash is the ethereum transaction hex hash to query the receipt for. - Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` -} - -func (m *QueryTxReceiptsByBlockHashRequest) Reset() { *m = QueryTxReceiptsByBlockHashRequest{} } -func (m *QueryTxReceiptsByBlockHashRequest) String() string { return proto.CompactTextString(m) } -func (*QueryTxReceiptsByBlockHashRequest) ProtoMessage() {} -func (*QueryTxReceiptsByBlockHashRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{14} -} -func (m *QueryTxReceiptsByBlockHashRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryTxReceiptsByBlockHashRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryTxReceiptsByBlockHashRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryTxReceiptsByBlockHashRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryTxReceiptsByBlockHashRequest.Merge(m, src) -} -func (m *QueryTxReceiptsByBlockHashRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryTxReceiptsByBlockHashRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryTxReceiptsByBlockHashRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryTxReceiptsByBlockHashRequest proto.InternalMessageInfo - -// QueryTxReceiptsByBlockHashResponse is the response type for the Query/TxReceiptsByBlockHash RPC method. -type QueryTxReceiptsByBlockHashResponse struct { - // tx receipts list for the block - Receipts []*TxReceipt `protobuf:"bytes,1,rep,name=receipts,proto3" json:"receipts,omitempty"` -} - -func (m *QueryTxReceiptsByBlockHashResponse) Reset() { *m = QueryTxReceiptsByBlockHashResponse{} } -func (m *QueryTxReceiptsByBlockHashResponse) String() string { return proto.CompactTextString(m) } -func (*QueryTxReceiptsByBlockHashResponse) ProtoMessage() {} -func (*QueryTxReceiptsByBlockHashResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{15} -} -func (m *QueryTxReceiptsByBlockHashResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryTxReceiptsByBlockHashResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryTxReceiptsByBlockHashResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryTxReceiptsByBlockHashResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryTxReceiptsByBlockHashResponse.Merge(m, src) -} -func (m *QueryTxReceiptsByBlockHashResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryTxReceiptsByBlockHashResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryTxReceiptsByBlockHashResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryTxReceiptsByBlockHashResponse proto.InternalMessageInfo - -func (m *QueryTxReceiptsByBlockHashResponse) GetReceipts() []*TxReceipt { - if m != nil { - return m.Receipts - } - return nil -} - -// QueryBlockLogsRequest is the request type for the Query/BlockLogs RPC method. -type QueryBlockLogsRequest struct { - // hash is the block hash to query the logs for. - Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` -} - -func (m *QueryBlockLogsRequest) Reset() { *m = QueryBlockLogsRequest{} } -func (m *QueryBlockLogsRequest) String() string { return proto.CompactTextString(m) } -func (*QueryBlockLogsRequest) ProtoMessage() {} -func (*QueryBlockLogsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{16} -} -func (m *QueryBlockLogsRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryBlockLogsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryBlockLogsRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryBlockLogsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryBlockLogsRequest.Merge(m, src) -} -func (m *QueryBlockLogsRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryBlockLogsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryBlockLogsRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryBlockLogsRequest proto.InternalMessageInfo - -// QueryTxLogs is the response type for the Query/BlockLogs RPC method. -type QueryBlockLogsResponse struct { - // logs represents the ethereum logs generated at the given block hash. - TxLogs []TransactionLogs `protobuf:"bytes,1,rep,name=tx_logs,json=txLogs,proto3" json:"tx_logs"` -} - -func (m *QueryBlockLogsResponse) Reset() { *m = QueryBlockLogsResponse{} } -func (m *QueryBlockLogsResponse) String() string { return proto.CompactTextString(m) } -func (*QueryBlockLogsResponse) ProtoMessage() {} -func (*QueryBlockLogsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{17} -} -func (m *QueryBlockLogsResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryBlockLogsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryBlockLogsResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryBlockLogsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryBlockLogsResponse.Merge(m, src) -} -func (m *QueryBlockLogsResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryBlockLogsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryBlockLogsResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryBlockLogsResponse proto.InternalMessageInfo - -func (m *QueryBlockLogsResponse) GetTxLogs() []TransactionLogs { - if m != nil { - return m.TxLogs - } - return nil -} - -// QueryBlockBloomRequest is the request type for the Query/BlockBloom RPC -// method. -type QueryBlockBloomRequest struct { - Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` -} - -func (m *QueryBlockBloomRequest) Reset() { *m = QueryBlockBloomRequest{} } -func (m *QueryBlockBloomRequest) String() string { return proto.CompactTextString(m) } -func (*QueryBlockBloomRequest) ProtoMessage() {} -func (*QueryBlockBloomRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{18} -} -func (m *QueryBlockBloomRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryBlockBloomRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryBlockBloomRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryBlockBloomRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryBlockBloomRequest.Merge(m, src) -} -func (m *QueryBlockBloomRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryBlockBloomRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryBlockBloomRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryBlockBloomRequest proto.InternalMessageInfo - -func (m *QueryBlockBloomRequest) GetHeight() int64 { - if m != nil { - return m.Height - } - return 0 -} - -// QueryBlockBloomResponse is the response type for the Query/BlockBloom RPC -// method. -type QueryBlockBloomResponse struct { - // bloom represents bloom filter for the given block hash. - Bloom []byte `protobuf:"bytes,1,opt,name=bloom,proto3" json:"bloom,omitempty"` -} - -func (m *QueryBlockBloomResponse) Reset() { *m = QueryBlockBloomResponse{} } -func (m *QueryBlockBloomResponse) String() string { return proto.CompactTextString(m) } -func (*QueryBlockBloomResponse) ProtoMessage() {} -func (*QueryBlockBloomResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{19} -} -func (m *QueryBlockBloomResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryBlockBloomResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryBlockBloomResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryBlockBloomResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryBlockBloomResponse.Merge(m, src) -} -func (m *QueryBlockBloomResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryBlockBloomResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryBlockBloomResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryBlockBloomResponse proto.InternalMessageInfo - -func (m *QueryBlockBloomResponse) GetBloom() []byte { - if m != nil { - return m.Bloom - } - return nil -} - -// QueryParamsRequest defines the request type for querying x/evm parameters. -type QueryParamsRequest struct { -} - -func (m *QueryParamsRequest) Reset() { *m = QueryParamsRequest{} } -func (m *QueryParamsRequest) String() string { return proto.CompactTextString(m) } -func (*QueryParamsRequest) ProtoMessage() {} -func (*QueryParamsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{20} -} -func (m *QueryParamsRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryParamsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryParamsRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryParamsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryParamsRequest.Merge(m, src) -} -func (m *QueryParamsRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryParamsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryParamsRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryParamsRequest proto.InternalMessageInfo - -// QueryParamsResponse defines the response type for querying x/evm parameters. -type QueryParamsResponse struct { - // params define the evm module parameters. - Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` -} - -func (m *QueryParamsResponse) Reset() { *m = QueryParamsResponse{} } -func (m *QueryParamsResponse) String() string { return proto.CompactTextString(m) } -func (*QueryParamsResponse) ProtoMessage() {} -func (*QueryParamsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{21} -} -func (m *QueryParamsResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryParamsResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryParamsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryParamsResponse.Merge(m, src) -} -func (m *QueryParamsResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryParamsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryParamsResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryParamsResponse proto.InternalMessageInfo - -func (m *QueryParamsResponse) GetParams() Params { - if m != nil { - return m.Params - } - return Params{} -} - -// QueryStaticCallRequest defines static call request -type QueryStaticCallRequest struct { - // address is the ethereum contract hex address to for static call. - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - // static call input generated from abi - Input []byte `protobuf:"bytes,2,opt,name=input,proto3" json:"input,omitempty"` -} - -func (m *QueryStaticCallRequest) Reset() { *m = QueryStaticCallRequest{} } -func (m *QueryStaticCallRequest) String() string { return proto.CompactTextString(m) } -func (*QueryStaticCallRequest) ProtoMessage() {} -func (*QueryStaticCallRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{22} -} -func (m *QueryStaticCallRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryStaticCallRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryStaticCallRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryStaticCallRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryStaticCallRequest.Merge(m, src) -} -func (m *QueryStaticCallRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryStaticCallRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryStaticCallRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryStaticCallRequest proto.InternalMessageInfo - -func (m *QueryStaticCallRequest) GetAddress() string { - if m != nil { - return m.Address - } - return "" -} - -func (m *QueryStaticCallRequest) GetInput() []byte { - if m != nil { - return m.Input - } - return nil -} - -// // QueryStaticCallRequest defines static call response -type QueryStaticCallResponse struct { - Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` -} - -func (m *QueryStaticCallResponse) Reset() { *m = QueryStaticCallResponse{} } -func (m *QueryStaticCallResponse) String() string { return proto.CompactTextString(m) } -func (*QueryStaticCallResponse) ProtoMessage() {} -func (*QueryStaticCallResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b35cda93d73bda44, []int{23} -} -func (m *QueryStaticCallResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryStaticCallResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryStaticCallResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryStaticCallResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryStaticCallResponse.Merge(m, src) -} -func (m *QueryStaticCallResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryStaticCallResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryStaticCallResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryStaticCallResponse proto.InternalMessageInfo - -func (m *QueryStaticCallResponse) GetData() []byte { - if m != nil { - return m.Data - } - return nil -} - -func init() { - proto.RegisterType((*QueryAccountRequest)(nil), "injective.evm.v1beta1.QueryAccountRequest") - proto.RegisterType((*QueryAccountResponse)(nil), "injective.evm.v1beta1.QueryAccountResponse") - proto.RegisterType((*QueryBalanceRequest)(nil), "injective.evm.v1beta1.QueryBalanceRequest") - proto.RegisterType((*QueryBalanceResponse)(nil), "injective.evm.v1beta1.QueryBalanceResponse") - proto.RegisterType((*QueryStorageRequest)(nil), "injective.evm.v1beta1.QueryStorageRequest") - proto.RegisterType((*QueryStorageResponse)(nil), "injective.evm.v1beta1.QueryStorageResponse") - proto.RegisterType((*QueryCodeRequest)(nil), "injective.evm.v1beta1.QueryCodeRequest") - proto.RegisterType((*QueryCodeResponse)(nil), "injective.evm.v1beta1.QueryCodeResponse") - proto.RegisterType((*QueryTxLogsRequest)(nil), "injective.evm.v1beta1.QueryTxLogsRequest") - proto.RegisterType((*QueryTxLogsResponse)(nil), "injective.evm.v1beta1.QueryTxLogsResponse") - proto.RegisterType((*QueryTxReceiptRequest)(nil), "injective.evm.v1beta1.QueryTxReceiptRequest") - proto.RegisterType((*QueryTxReceiptResponse)(nil), "injective.evm.v1beta1.QueryTxReceiptResponse") - proto.RegisterType((*QueryTxReceiptsByBlockHeightRequest)(nil), "injective.evm.v1beta1.QueryTxReceiptsByBlockHeightRequest") - proto.RegisterType((*QueryTxReceiptsByBlockHeightResponse)(nil), "injective.evm.v1beta1.QueryTxReceiptsByBlockHeightResponse") - proto.RegisterType((*QueryTxReceiptsByBlockHashRequest)(nil), "injective.evm.v1beta1.QueryTxReceiptsByBlockHashRequest") - proto.RegisterType((*QueryTxReceiptsByBlockHashResponse)(nil), "injective.evm.v1beta1.QueryTxReceiptsByBlockHashResponse") - proto.RegisterType((*QueryBlockLogsRequest)(nil), "injective.evm.v1beta1.QueryBlockLogsRequest") - proto.RegisterType((*QueryBlockLogsResponse)(nil), "injective.evm.v1beta1.QueryBlockLogsResponse") - proto.RegisterType((*QueryBlockBloomRequest)(nil), "injective.evm.v1beta1.QueryBlockBloomRequest") - proto.RegisterType((*QueryBlockBloomResponse)(nil), "injective.evm.v1beta1.QueryBlockBloomResponse") - proto.RegisterType((*QueryParamsRequest)(nil), "injective.evm.v1beta1.QueryParamsRequest") - proto.RegisterType((*QueryParamsResponse)(nil), "injective.evm.v1beta1.QueryParamsResponse") - proto.RegisterType((*QueryStaticCallRequest)(nil), "injective.evm.v1beta1.QueryStaticCallRequest") - proto.RegisterType((*QueryStaticCallResponse)(nil), "injective.evm.v1beta1.QueryStaticCallResponse") -} - -func init() { proto.RegisterFile("injective/evm/v1beta1/query.proto", fileDescriptor_b35cda93d73bda44) } - -var fileDescriptor_b35cda93d73bda44 = []byte{ - // 1077 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0xcf, 0x6f, 0x1b, 0xc5, - 0x17, 0xf7, 0x36, 0x8e, 0x9d, 0xbc, 0x56, 0xfa, 0xf6, 0x3b, 0x38, 0x6d, 0xb4, 0x50, 0x27, 0x1d, - 0xda, 0xc6, 0x4d, 0x9b, 0xdd, 0x24, 0x85, 0x88, 0xa4, 0xbd, 0xd4, 0x55, 0x45, 0x2a, 0x72, 0x80, - 0x6d, 0x4f, 0x5c, 0xac, 0xf1, 0x7a, 0xb4, 0x36, 0x59, 0xef, 0xb8, 0x9e, 0x75, 0x14, 0x2b, 0xca, - 0x05, 0x21, 0x04, 0x17, 0x84, 0x04, 0x08, 0x89, 0x53, 0xff, 0x9c, 0x0a, 0x09, 0xa9, 0x12, 0x17, - 0x4e, 0x08, 0x25, 0x1c, 0xf8, 0x33, 0xd0, 0xce, 0xbe, 0xb5, 0xd7, 0x89, 0xf7, 0x47, 0x2a, 0x6e, - 0x33, 0x93, 0xf7, 0x79, 0x9f, 0xcf, 0x9b, 0x79, 0xfb, 0x3e, 0x31, 0xdc, 0xec, 0x78, 0x5f, 0x70, - 0xdb, 0xef, 0x1c, 0x70, 0x93, 0x1f, 0x74, 0xcd, 0x83, 0x8d, 0x26, 0xf7, 0xd9, 0x86, 0xf9, 0x72, - 0xc0, 0xfb, 0x43, 0xa3, 0xd7, 0x17, 0xbe, 0x20, 0x0b, 0xa3, 0x10, 0x83, 0x1f, 0x74, 0x0d, 0x0c, - 0xd1, 0x2b, 0x8e, 0x70, 0x84, 0x8a, 0x30, 0x83, 0x55, 0x18, 0xac, 0xbf, 0xe7, 0x08, 0xe1, 0xb8, - 0xdc, 0x64, 0xbd, 0x8e, 0xc9, 0x3c, 0x4f, 0xf8, 0xcc, 0xef, 0x08, 0x4f, 0xe2, 0x5f, 0x97, 0xa6, - 0xb3, 0x05, 0x69, 0x55, 0x00, 0xdd, 0x86, 0x77, 0x3e, 0x0b, 0xa8, 0x1f, 0xdb, 0xb6, 0x18, 0x78, - 0xbe, 0xc5, 0x5f, 0x0e, 0xb8, 0xf4, 0xc9, 0x22, 0x94, 0x59, 0xab, 0xd5, 0xe7, 0x52, 0x2e, 0x6a, - 0xcb, 0x5a, 0x6d, 0xde, 0x8a, 0xb6, 0x3b, 0x73, 0xdf, 0xbc, 0x5a, 0x2a, 0xfc, 0xf3, 0x6a, 0xa9, - 0x40, 0x6d, 0xa8, 0x4c, 0x42, 0x65, 0x4f, 0x78, 0x92, 0x07, 0xd8, 0x26, 0x73, 0x99, 0x67, 0xf3, - 0x08, 0x8b, 0x5b, 0xf2, 0x2e, 0xcc, 0xdb, 0xa2, 0xc5, 0x1b, 0x6d, 0x26, 0xdb, 0x8b, 0x97, 0x96, - 0xb5, 0xda, 0x15, 0x6b, 0x2e, 0x38, 0xd8, 0x65, 0xb2, 0x4d, 0x2a, 0x30, 0xeb, 0x89, 0x00, 0x34, - 0xb3, 0xac, 0xd5, 0x8a, 0x56, 0xb8, 0x19, 0xe9, 0xab, 0x87, 0x29, 0x2e, 0xa2, 0x6f, 0x1d, 0xf5, - 0x8d, 0xa0, 0x59, 0xfa, 0xe8, 0x27, 0x48, 0xf6, 0xdc, 0x17, 0x7d, 0xe6, 0x64, 0x93, 0x91, 0xab, - 0x30, 0xb3, 0xcf, 0x87, 0xaa, 0x94, 0x79, 0x2b, 0x58, 0xc6, 0xe8, 0xef, 0x23, 0xfd, 0x28, 0x19, - 0xd2, 0x57, 0x60, 0xf6, 0x80, 0xb9, 0x83, 0x88, 0x3c, 0xdc, 0xd0, 0x2d, 0xb8, 0xaa, 0xa2, 0x9f, - 0x88, 0xd6, 0x85, 0x8a, 0x5c, 0x81, 0xff, 0xc7, 0x70, 0x48, 0x41, 0xa0, 0x18, 0x5c, 0xab, 0x42, - 0x5d, 0xb1, 0xd4, 0x9a, 0x6e, 0x02, 0x51, 0x81, 0x2f, 0x0e, 0xf7, 0x84, 0x23, 0x23, 0x0a, 0x02, - 0x45, 0xf5, 0x18, 0x61, 0x7e, 0xb5, 0x8e, 0x25, 0x7f, 0x8a, 0xf7, 0x11, 0x61, 0x30, 0xbd, 0x01, - 0x45, 0x57, 0x38, 0x81, 0xa8, 0x99, 0xda, 0xe5, 0x4d, 0xdd, 0x98, 0xda, 0xae, 0xc6, 0x9e, 0x70, - 0x2c, 0x15, 0x47, 0x3f, 0x84, 0x05, 0x4c, 0x63, 0x71, 0x9b, 0x77, 0x7a, 0x7e, 0x3e, 0xf6, 0x17, - 0x70, 0xed, 0x2c, 0x0c, 0x05, 0xec, 0x40, 0xb9, 0x1f, 0x1e, 0x29, 0xe8, 0xe5, 0xcd, 0xe5, 0x04, - 0x0d, 0x63, 0x68, 0x04, 0xa0, 0x1f, 0xc3, 0xfb, 0x93, 0x59, 0x65, 0x7d, 0x58, 0x77, 0x85, 0xbd, - 0xbf, 0xcb, 0x3b, 0x4e, 0x7b, 0x24, 0xed, 0x1a, 0x94, 0xda, 0xea, 0x40, 0x31, 0xcc, 0x58, 0xb8, - 0x8b, 0xc9, 0x6b, 0xc1, 0xad, 0xf4, 0x44, 0x28, 0xf6, 0x11, 0xcc, 0x21, 0x77, 0x74, 0x63, 0xd9, - 0x6a, 0x47, 0x08, 0xfa, 0x18, 0x6e, 0x26, 0xb0, 0x30, 0xd9, 0xce, 0x77, 0x8f, 0x4d, 0xa0, 0x69, - 0x29, 0xfe, 0x13, 0x99, 0xd1, 0x13, 0xab, 0xbc, 0xf9, 0x1b, 0xac, 0x81, 0x4f, 0x1c, 0x83, 0xa1, - 0x9c, 0xa7, 0x50, 0xf6, 0x0f, 0x1b, 0xb1, 0x36, 0xbb, 0x93, 0xa4, 0xa6, 0xcf, 0x3c, 0xc9, 0xec, - 0x60, 0xe8, 0x05, 0x09, 0xea, 0xc5, 0xd7, 0x7f, 0x2e, 0x15, 0xac, 0x92, 0xaf, 0x5a, 0x96, 0xae, - 0xc7, 0x09, 0xea, 0xae, 0x10, 0xdd, 0x8c, 0x07, 0xa6, 0x26, 0x5c, 0x3f, 0x87, 0x18, 0x7f, 0xb9, - 0xcd, 0xe0, 0x00, 0xbf, 0xab, 0x70, 0x43, 0x2b, 0xf8, 0x61, 0x7d, 0xca, 0xfa, 0xac, 0x1b, 0xd5, - 0x4d, 0x2d, 0xfc, 0x74, 0xa2, 0x53, 0x4c, 0xf1, 0x10, 0x4a, 0x3d, 0x75, 0x82, 0x8d, 0x7b, 0x23, - 0xa1, 0xaa, 0x10, 0x16, 0x15, 0x13, 0x42, 0xe8, 0x2e, 0x16, 0xf3, 0x3c, 0x98, 0xf1, 0xf6, 0x13, - 0xe6, 0xba, 0xd9, 0x13, 0xaa, 0x02, 0xb3, 0x1d, 0xaf, 0x37, 0xf0, 0x71, 0xdc, 0x86, 0x1b, 0xba, - 0x86, 0x45, 0xc6, 0x33, 0x8d, 0x67, 0x47, 0x8b, 0xf9, 0x2c, 0x9a, 0x1d, 0xc1, 0x7a, 0xf3, 0xab, - 0xff, 0xc1, 0xac, 0x8a, 0x27, 0x3f, 0x6a, 0x50, 0xc6, 0x79, 0x4f, 0x56, 0x13, 0xb4, 0x4f, 0xf1, - 0x13, 0xfd, 0x5e, 0xae, 0xd8, 0x50, 0x02, 0x5d, 0xff, 0xf2, 0xf7, 0xbf, 0x7f, 0xb8, 0xb4, 0x4a, - 0x6a, 0xe6, 0x74, 0xf7, 0x62, 0x61, 0xbc, 0x79, 0x84, 0x45, 0x1e, 0x93, 0x9f, 0x34, 0x28, 0xe3, - 0x98, 0x4f, 0x97, 0x35, 0x69, 0x23, 0xe9, 0xb2, 0xce, 0xf8, 0x06, 0xdd, 0x50, 0xb2, 0xee, 0x91, - 0xbb, 0x09, 0xb2, 0xd0, 0x45, 0x64, 0x4c, 0xd7, 0x2f, 0x1a, 0x94, 0x71, 0xfe, 0xa7, 0xeb, 0x9a, - 0x74, 0x9c, 0x74, 0x5d, 0x67, 0x0c, 0x85, 0x6e, 0x29, 0x5d, 0xeb, 0xc4, 0x48, 0xd0, 0x25, 0xc3, - 0xf8, 0xb1, 0x2c, 0xf3, 0x68, 0x9f, 0x0f, 0x8f, 0xc9, 0xb7, 0x1a, 0x14, 0x03, 0xdb, 0x20, 0x2b, - 0x69, 0x6c, 0x31, 0x43, 0xd2, 0x6b, 0xd9, 0x81, 0xa8, 0xc9, 0x50, 0x9a, 0x6a, 0xe4, 0x4e, 0x82, - 0xa6, 0xc0, 0x92, 0xe2, 0x17, 0xf5, 0x9d, 0x06, 0xa5, 0xd0, 0x65, 0xc8, 0xdd, 0x34, 0x92, 0x09, - 0xf7, 0xd2, 0x57, 0xf3, 0x84, 0xa2, 0xa2, 0x35, 0xa5, 0x68, 0x85, 0xdc, 0x4e, 0x50, 0x84, 0xd3, - 0xc6, 0x3c, 0x0a, 0x46, 0x94, 0x7a, 0xb9, 0xf9, 0xd1, 0xa0, 0x23, 0xf7, 0xd3, 0x89, 0x26, 0x6d, - 0x4d, 0x5f, 0xcb, 0x19, 0x9d, 0xb3, 0xdd, 0xfd, 0xc3, 0x06, 0xce, 0xd9, 0x48, 0xdc, 0x6f, 0x1a, - 0x5c, 0x4f, 0xb0, 0x1d, 0xb2, 0x93, 0x8b, 0x7c, 0xaa, 0xe9, 0xe9, 0x0f, 0xdf, 0x0a, 0x8b, 0x65, - 0x6c, 0xab, 0x32, 0x1e, 0x90, 0x8d, 0xcc, 0x32, 0x64, 0xa3, 0x19, 0xe0, 0xcd, 0xa3, 0x70, 0xe4, - 0x1e, 0x93, 0x5f, 0x35, 0x58, 0x98, 0xea, 0x4e, 0xe4, 0xa3, 0x8b, 0x29, 0x1a, 0x7b, 0xa2, 0xbe, - 0xfd, 0x16, 0x48, 0xac, 0xe4, 0x91, 0xaa, 0x64, 0x8b, 0x7c, 0x90, 0xb7, 0x12, 0xf5, 0x0f, 0x6d, - 0xbc, 0x73, 0x46, 0x7e, 0x96, 0xde, 0x39, 0x67, 0xdd, 0x32, 0xbd, 0x73, 0xce, 0x99, 0x64, 0x66, - 0xe7, 0x84, 0xe2, 0xe2, 0x6d, 0xfd, 0xb3, 0x06, 0x30, 0x76, 0x36, 0x92, 0xcd, 0x17, 0xf7, 0x4c, - 0xdd, 0xc8, 0x1b, 0x8e, 0xfa, 0x56, 0x95, 0xbe, 0x5b, 0x84, 0xa6, 0xea, 0x53, 0x36, 0x4a, 0xbe, - 0xd6, 0xa0, 0x14, 0xba, 0x5e, 0xfa, 0x04, 0x98, 0xb0, 0xd9, 0xf4, 0x09, 0x30, 0xe9, 0xbd, 0xf4, - 0xb6, 0x52, 0xb3, 0x44, 0x6e, 0x24, 0xa8, 0x09, 0x5d, 0x56, 0x5d, 0xd1, 0xd8, 0x17, 0xd3, 0xaf, - 0xe8, 0x9c, 0x13, 0xa7, 0x5f, 0xd1, 0x79, 0xbb, 0xcd, 0xbc, 0x22, 0xa9, 0x20, 0x0d, 0x9b, 0xb9, - 0x6e, 0xdd, 0x7e, 0x7d, 0x52, 0xd5, 0xde, 0x9c, 0x54, 0xb5, 0xbf, 0x4e, 0xaa, 0xda, 0xf7, 0xa7, - 0xd5, 0xc2, 0x9b, 0xd3, 0x6a, 0xe1, 0x8f, 0xd3, 0x6a, 0xe1, 0xf3, 0x67, 0x4e, 0xc7, 0x6f, 0x0f, - 0x9a, 0x86, 0x2d, 0xba, 0xe6, 0xb3, 0x28, 0xcf, 0x1e, 0x6b, 0xca, 0x71, 0xd6, 0x35, 0x5b, 0xf4, - 0x79, 0x7c, 0xdb, 0x66, 0x1d, 0xcf, 0xec, 0x8a, 0xd6, 0xc0, 0xe5, 0x52, 0x51, 0xfa, 0xc3, 0x1e, - 0x97, 0xcd, 0x92, 0xfa, 0x5d, 0xf8, 0xe0, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc4, 0xa6, 0x90, - 0xd7, 0xa8, 0x0e, 0x00, 0x00, -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConn - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 - -// QueryClient is the client API for Query service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type QueryClient interface { - // Account queries an Ethereum account. - Account(ctx context.Context, in *QueryAccountRequest, opts ...grpc.CallOption) (*QueryAccountResponse, error) - // Balance queries the balance of a the EVM denomination for a single - // EthAccount. - Balance(ctx context.Context, in *QueryBalanceRequest, opts ...grpc.CallOption) (*QueryBalanceResponse, error) - // Storage queries the balance of all coins for a single account. - Storage(ctx context.Context, in *QueryStorageRequest, opts ...grpc.CallOption) (*QueryStorageResponse, error) - // Code queries the balance of all coins for a single account. - Code(ctx context.Context, in *QueryCodeRequest, opts ...grpc.CallOption) (*QueryCodeResponse, error) - // TxLogs queries ethereum logs from a transaction. - TxLogs(ctx context.Context, in *QueryTxLogsRequest, opts ...grpc.CallOption) (*QueryTxLogsResponse, error) - // TxReceipt queries a receipt by a transaction hash. - TxReceipt(ctx context.Context, in *QueryTxReceiptRequest, opts ...grpc.CallOption) (*QueryTxReceiptResponse, error) - // TxReceiptsByBlockHeight queries tx receipts by a block height. - TxReceiptsByBlockHeight(ctx context.Context, in *QueryTxReceiptsByBlockHeightRequest, opts ...grpc.CallOption) (*QueryTxReceiptsByBlockHeightResponse, error) - // TxReceiptsByBlockHash queries tx receipts by a block hash. - TxReceiptsByBlockHash(ctx context.Context, in *QueryTxReceiptsByBlockHashRequest, opts ...grpc.CallOption) (*QueryTxReceiptsByBlockHashResponse, error) - // BlockLogs queries all the ethereum logs for a given block hash. - BlockLogs(ctx context.Context, in *QueryBlockLogsRequest, opts ...grpc.CallOption) (*QueryBlockLogsResponse, error) - // BlockBloom queries the block bloom filter bytes at a given height. - BlockBloom(ctx context.Context, in *QueryBlockBloomRequest, opts ...grpc.CallOption) (*QueryBlockBloomResponse, error) - // Params queries the parameters of x/evm module. - Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) - // StaticCall queries the static call value of x/evm module. - StaticCall(ctx context.Context, in *QueryStaticCallRequest, opts ...grpc.CallOption) (*QueryStaticCallResponse, error) -} - -type queryClient struct { - cc grpc1.ClientConn -} - -func NewQueryClient(cc grpc1.ClientConn) QueryClient { - return &queryClient{cc} -} - -func (c *queryClient) Account(ctx context.Context, in *QueryAccountRequest, opts ...grpc.CallOption) (*QueryAccountResponse, error) { - out := new(QueryAccountResponse) - err := c.cc.Invoke(ctx, "/injective.evm.v1beta1.Query/Account", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) Balance(ctx context.Context, in *QueryBalanceRequest, opts ...grpc.CallOption) (*QueryBalanceResponse, error) { - out := new(QueryBalanceResponse) - err := c.cc.Invoke(ctx, "/injective.evm.v1beta1.Query/Balance", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) Storage(ctx context.Context, in *QueryStorageRequest, opts ...grpc.CallOption) (*QueryStorageResponse, error) { - out := new(QueryStorageResponse) - err := c.cc.Invoke(ctx, "/injective.evm.v1beta1.Query/Storage", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) Code(ctx context.Context, in *QueryCodeRequest, opts ...grpc.CallOption) (*QueryCodeResponse, error) { - out := new(QueryCodeResponse) - err := c.cc.Invoke(ctx, "/injective.evm.v1beta1.Query/Code", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) TxLogs(ctx context.Context, in *QueryTxLogsRequest, opts ...grpc.CallOption) (*QueryTxLogsResponse, error) { - out := new(QueryTxLogsResponse) - err := c.cc.Invoke(ctx, "/injective.evm.v1beta1.Query/TxLogs", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) TxReceipt(ctx context.Context, in *QueryTxReceiptRequest, opts ...grpc.CallOption) (*QueryTxReceiptResponse, error) { - out := new(QueryTxReceiptResponse) - err := c.cc.Invoke(ctx, "/injective.evm.v1beta1.Query/TxReceipt", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) TxReceiptsByBlockHeight(ctx context.Context, in *QueryTxReceiptsByBlockHeightRequest, opts ...grpc.CallOption) (*QueryTxReceiptsByBlockHeightResponse, error) { - out := new(QueryTxReceiptsByBlockHeightResponse) - err := c.cc.Invoke(ctx, "/injective.evm.v1beta1.Query/TxReceiptsByBlockHeight", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) TxReceiptsByBlockHash(ctx context.Context, in *QueryTxReceiptsByBlockHashRequest, opts ...grpc.CallOption) (*QueryTxReceiptsByBlockHashResponse, error) { - out := new(QueryTxReceiptsByBlockHashResponse) - err := c.cc.Invoke(ctx, "/injective.evm.v1beta1.Query/TxReceiptsByBlockHash", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) BlockLogs(ctx context.Context, in *QueryBlockLogsRequest, opts ...grpc.CallOption) (*QueryBlockLogsResponse, error) { - out := new(QueryBlockLogsResponse) - err := c.cc.Invoke(ctx, "/injective.evm.v1beta1.Query/BlockLogs", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) BlockBloom(ctx context.Context, in *QueryBlockBloomRequest, opts ...grpc.CallOption) (*QueryBlockBloomResponse, error) { - out := new(QueryBlockBloomResponse) - err := c.cc.Invoke(ctx, "/injective.evm.v1beta1.Query/BlockBloom", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { - out := new(QueryParamsResponse) - err := c.cc.Invoke(ctx, "/injective.evm.v1beta1.Query/Params", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) StaticCall(ctx context.Context, in *QueryStaticCallRequest, opts ...grpc.CallOption) (*QueryStaticCallResponse, error) { - out := new(QueryStaticCallResponse) - err := c.cc.Invoke(ctx, "/injective.evm.v1beta1.Query/StaticCall", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// QueryServer is the server API for Query service. -type QueryServer interface { - // Account queries an Ethereum account. - Account(context.Context, *QueryAccountRequest) (*QueryAccountResponse, error) - // Balance queries the balance of a the EVM denomination for a single - // EthAccount. - Balance(context.Context, *QueryBalanceRequest) (*QueryBalanceResponse, error) - // Storage queries the balance of all coins for a single account. - Storage(context.Context, *QueryStorageRequest) (*QueryStorageResponse, error) - // Code queries the balance of all coins for a single account. - Code(context.Context, *QueryCodeRequest) (*QueryCodeResponse, error) - // TxLogs queries ethereum logs from a transaction. - TxLogs(context.Context, *QueryTxLogsRequest) (*QueryTxLogsResponse, error) - // TxReceipt queries a receipt by a transaction hash. - TxReceipt(context.Context, *QueryTxReceiptRequest) (*QueryTxReceiptResponse, error) - // TxReceiptsByBlockHeight queries tx receipts by a block height. - TxReceiptsByBlockHeight(context.Context, *QueryTxReceiptsByBlockHeightRequest) (*QueryTxReceiptsByBlockHeightResponse, error) - // TxReceiptsByBlockHash queries tx receipts by a block hash. - TxReceiptsByBlockHash(context.Context, *QueryTxReceiptsByBlockHashRequest) (*QueryTxReceiptsByBlockHashResponse, error) - // BlockLogs queries all the ethereum logs for a given block hash. - BlockLogs(context.Context, *QueryBlockLogsRequest) (*QueryBlockLogsResponse, error) - // BlockBloom queries the block bloom filter bytes at a given height. - BlockBloom(context.Context, *QueryBlockBloomRequest) (*QueryBlockBloomResponse, error) - // Params queries the parameters of x/evm module. - Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) - // StaticCall queries the static call value of x/evm module. - StaticCall(context.Context, *QueryStaticCallRequest) (*QueryStaticCallResponse, error) -} - -// UnimplementedQueryServer can be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} - -func (*UnimplementedQueryServer) Account(ctx context.Context, req *QueryAccountRequest) (*QueryAccountResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Account not implemented") -} -func (*UnimplementedQueryServer) Balance(ctx context.Context, req *QueryBalanceRequest) (*QueryBalanceResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Balance not implemented") -} -func (*UnimplementedQueryServer) Storage(ctx context.Context, req *QueryStorageRequest) (*QueryStorageResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Storage not implemented") -} -func (*UnimplementedQueryServer) Code(ctx context.Context, req *QueryCodeRequest) (*QueryCodeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Code not implemented") -} -func (*UnimplementedQueryServer) TxLogs(ctx context.Context, req *QueryTxLogsRequest) (*QueryTxLogsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method TxLogs not implemented") -} -func (*UnimplementedQueryServer) TxReceipt(ctx context.Context, req *QueryTxReceiptRequest) (*QueryTxReceiptResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method TxReceipt not implemented") -} -func (*UnimplementedQueryServer) TxReceiptsByBlockHeight(ctx context.Context, req *QueryTxReceiptsByBlockHeightRequest) (*QueryTxReceiptsByBlockHeightResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method TxReceiptsByBlockHeight not implemented") -} -func (*UnimplementedQueryServer) TxReceiptsByBlockHash(ctx context.Context, req *QueryTxReceiptsByBlockHashRequest) (*QueryTxReceiptsByBlockHashResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method TxReceiptsByBlockHash not implemented") -} -func (*UnimplementedQueryServer) BlockLogs(ctx context.Context, req *QueryBlockLogsRequest) (*QueryBlockLogsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BlockLogs not implemented") -} -func (*UnimplementedQueryServer) BlockBloom(ctx context.Context, req *QueryBlockBloomRequest) (*QueryBlockBloomResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BlockBloom not implemented") -} -func (*UnimplementedQueryServer) Params(ctx context.Context, req *QueryParamsRequest) (*QueryParamsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") -} -func (*UnimplementedQueryServer) StaticCall(ctx context.Context, req *QueryStaticCallRequest) (*QueryStaticCallResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method StaticCall not implemented") -} - -func RegisterQueryServer(s grpc1.Server, srv QueryServer) { - s.RegisterService(&_Query_serviceDesc, srv) -} - -func _Query_Account_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryAccountRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).Account(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/injective.evm.v1beta1.Query/Account", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).Account(ctx, req.(*QueryAccountRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_Balance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryBalanceRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).Balance(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/injective.evm.v1beta1.Query/Balance", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).Balance(ctx, req.(*QueryBalanceRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_Storage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryStorageRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).Storage(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/injective.evm.v1beta1.Query/Storage", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).Storage(ctx, req.(*QueryStorageRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_Code_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryCodeRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).Code(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/injective.evm.v1beta1.Query/Code", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).Code(ctx, req.(*QueryCodeRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_TxLogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryTxLogsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).TxLogs(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/injective.evm.v1beta1.Query/TxLogs", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).TxLogs(ctx, req.(*QueryTxLogsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_TxReceipt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryTxReceiptRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).TxReceipt(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/injective.evm.v1beta1.Query/TxReceipt", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).TxReceipt(ctx, req.(*QueryTxReceiptRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_TxReceiptsByBlockHeight_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryTxReceiptsByBlockHeightRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).TxReceiptsByBlockHeight(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/injective.evm.v1beta1.Query/TxReceiptsByBlockHeight", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).TxReceiptsByBlockHeight(ctx, req.(*QueryTxReceiptsByBlockHeightRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_TxReceiptsByBlockHash_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryTxReceiptsByBlockHashRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).TxReceiptsByBlockHash(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/injective.evm.v1beta1.Query/TxReceiptsByBlockHash", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).TxReceiptsByBlockHash(ctx, req.(*QueryTxReceiptsByBlockHashRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_BlockLogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryBlockLogsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).BlockLogs(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/injective.evm.v1beta1.Query/BlockLogs", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).BlockLogs(ctx, req.(*QueryBlockLogsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_BlockBloom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryBlockBloomRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).BlockBloom(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/injective.evm.v1beta1.Query/BlockBloom", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).BlockBloom(ctx, req.(*QueryBlockBloomRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryParamsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).Params(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/injective.evm.v1beta1.Query/Params", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).Params(ctx, req.(*QueryParamsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_StaticCall_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryStaticCallRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).StaticCall(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/injective.evm.v1beta1.Query/StaticCall", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).StaticCall(ctx, req.(*QueryStaticCallRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _Query_serviceDesc = grpc.ServiceDesc{ - ServiceName: "injective.evm.v1beta1.Query", - HandlerType: (*QueryServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Account", - Handler: _Query_Account_Handler, - }, - { - MethodName: "Balance", - Handler: _Query_Balance_Handler, - }, - { - MethodName: "Storage", - Handler: _Query_Storage_Handler, - }, - { - MethodName: "Code", - Handler: _Query_Code_Handler, - }, - { - MethodName: "TxLogs", - Handler: _Query_TxLogs_Handler, - }, - { - MethodName: "TxReceipt", - Handler: _Query_TxReceipt_Handler, - }, - { - MethodName: "TxReceiptsByBlockHeight", - Handler: _Query_TxReceiptsByBlockHeight_Handler, - }, - { - MethodName: "TxReceiptsByBlockHash", - Handler: _Query_TxReceiptsByBlockHash_Handler, - }, - { - MethodName: "BlockLogs", - Handler: _Query_BlockLogs_Handler, - }, - { - MethodName: "BlockBloom", - Handler: _Query_BlockBloom_Handler, - }, - { - MethodName: "Params", - Handler: _Query_Params_Handler, - }, - { - MethodName: "StaticCall", - Handler: _Query_StaticCall_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "injective/evm/v1beta1/query.proto", -} - -func (m *QueryAccountRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryAccountRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryAccountRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Address) > 0 { - i -= len(m.Address) - copy(dAtA[i:], m.Address) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Address))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryAccountResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryAccountResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryAccountResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Nonce != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Nonce)) - i-- - dAtA[i] = 0x18 - } - if len(m.CodeHash) > 0 { - i -= len(m.CodeHash) - copy(dAtA[i:], m.CodeHash) - i = encodeVarintQuery(dAtA, i, uint64(len(m.CodeHash))) - i-- - dAtA[i] = 0x12 - } - if len(m.Balance) > 0 { - i -= len(m.Balance) - copy(dAtA[i:], m.Balance) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Balance))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryBalanceRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryBalanceRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryBalanceRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Address) > 0 { - i -= len(m.Address) - copy(dAtA[i:], m.Address) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Address))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryBalanceResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryBalanceResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryBalanceResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Balance) > 0 { - i -= len(m.Balance) - copy(dAtA[i:], m.Balance) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Balance))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryStorageRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryStorageRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryStorageRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Key) > 0 { - i -= len(m.Key) - copy(dAtA[i:], m.Key) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Key))) - i-- - dAtA[i] = 0x12 - } - if len(m.Address) > 0 { - i -= len(m.Address) - copy(dAtA[i:], m.Address) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Address))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryStorageResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryStorageResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryStorageResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Value) > 0 { - i -= len(m.Value) - copy(dAtA[i:], m.Value) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Value))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryCodeRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryCodeRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryCodeRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Address) > 0 { - i -= len(m.Address) - copy(dAtA[i:], m.Address) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Address))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryCodeResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryCodeResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryCodeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Code) > 0 { - i -= len(m.Code) - copy(dAtA[i:], m.Code) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Code))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryTxLogsRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryTxLogsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryTxLogsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Hash) > 0 { - i -= len(m.Hash) - copy(dAtA[i:], m.Hash) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Hash))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryTxLogsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryTxLogsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryTxLogsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Logs) > 0 { - for iNdEx := len(m.Logs) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Logs[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *QueryTxReceiptRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryTxReceiptRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryTxReceiptRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Hash) > 0 { - i -= len(m.Hash) - copy(dAtA[i:], m.Hash) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Hash))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryTxReceiptResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryTxReceiptResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryTxReceiptResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Receipt != nil { - { - size, err := m.Receipt.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryTxReceiptsByBlockHeightRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryTxReceiptsByBlockHeightRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryTxReceiptsByBlockHeightRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Height != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Height)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *QueryTxReceiptsByBlockHeightResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryTxReceiptsByBlockHeightResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryTxReceiptsByBlockHeightResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Receipts) > 0 { - for iNdEx := len(m.Receipts) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Receipts[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *QueryTxReceiptsByBlockHashRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryTxReceiptsByBlockHashRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryTxReceiptsByBlockHashRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Hash) > 0 { - i -= len(m.Hash) - copy(dAtA[i:], m.Hash) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Hash))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryTxReceiptsByBlockHashResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryTxReceiptsByBlockHashResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryTxReceiptsByBlockHashResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Receipts) > 0 { - for iNdEx := len(m.Receipts) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Receipts[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *QueryBlockLogsRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryBlockLogsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryBlockLogsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Hash) > 0 { - i -= len(m.Hash) - copy(dAtA[i:], m.Hash) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Hash))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryBlockLogsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryBlockLogsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryBlockLogsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.TxLogs) > 0 { - for iNdEx := len(m.TxLogs) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.TxLogs[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *QueryBlockBloomRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryBlockBloomRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryBlockBloomRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Height != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Height)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *QueryBlockBloomResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryBlockBloomResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryBlockBloomResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Bloom) > 0 { - i -= len(m.Bloom) - copy(dAtA[i:], m.Bloom) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Bloom))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryParamsRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryParamsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryParamsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *QueryParamsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryParamsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} - -func (m *QueryStaticCallRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryStaticCallRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryStaticCallRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Input) > 0 { - i -= len(m.Input) - copy(dAtA[i:], m.Input) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Input))) - i-- - dAtA[i] = 0x12 - } - if len(m.Address) > 0 { - i -= len(m.Address) - copy(dAtA[i:], m.Address) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Address))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryStaticCallResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryStaticCallResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryStaticCallResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Data) > 0 { - i -= len(m.Data) - copy(dAtA[i:], m.Data) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Data))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { - offset -= sovQuery(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *QueryAccountRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Address) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryAccountResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Balance) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - l = len(m.CodeHash) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - if m.Nonce != 0 { - n += 1 + sovQuery(uint64(m.Nonce)) - } - return n -} - -func (m *QueryBalanceRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Address) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryBalanceResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Balance) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryStorageRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Address) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - l = len(m.Key) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryStorageResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Value) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryCodeRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Address) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryCodeResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Code) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryTxLogsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Hash) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryTxLogsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.Logs) > 0 { - for _, e := range m.Logs { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - return n -} - -func (m *QueryTxReceiptRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Hash) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryTxReceiptResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Receipt != nil { - l = m.Receipt.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryTxReceiptsByBlockHeightRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Height != 0 { - n += 1 + sovQuery(uint64(m.Height)) - } - return n -} - -func (m *QueryTxReceiptsByBlockHeightResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.Receipts) > 0 { - for _, e := range m.Receipts { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - return n -} - -func (m *QueryTxReceiptsByBlockHashRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Hash) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryTxReceiptsByBlockHashResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.Receipts) > 0 { - for _, e := range m.Receipts { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - return n -} - -func (m *QueryBlockLogsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Hash) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryBlockLogsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.TxLogs) > 0 { - for _, e := range m.TxLogs { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - return n -} - -func (m *QueryBlockBloomRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Height != 0 { - n += 1 + sovQuery(uint64(m.Height)) - } - return n -} - -func (m *QueryBlockBloomResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Bloom) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryParamsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *QueryParamsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = m.Params.Size() - n += 1 + l + sovQuery(uint64(l)) - return n -} - -func (m *QueryStaticCallRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Address) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - l = len(m.Input) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryStaticCallResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Data) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func sovQuery(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozQuery(x uint64) (n int) { - return sovQuery(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *QueryAccountRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryAccountRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryAccountRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Address = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryAccountResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryAccountResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryAccountResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Balance", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Balance = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CodeHash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.CodeHash = append(m.CodeHash[:0], dAtA[iNdEx:postIndex]...) - if m.CodeHash == nil { - m.CodeHash = []byte{} - } - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Nonce", wireType) - } - m.Nonce = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Nonce |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryBalanceRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryBalanceRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryBalanceRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Address = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryBalanceResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryBalanceResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryBalanceResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Balance", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Balance = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryStorageRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryStorageRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryStorageRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Address = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Key = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryStorageResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryStorageResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryStorageResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Value = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryCodeRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryCodeRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryCodeRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Address = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryCodeResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryCodeResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryCodeResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Code", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Code = append(m.Code[:0], dAtA[iNdEx:postIndex]...) - if m.Code == nil { - m.Code = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryTxLogsRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryTxLogsRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTxLogsRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Hash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryTxLogsResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryTxLogsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTxLogsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Logs", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Logs = append(m.Logs, &Log{}) - if err := m.Logs[len(m.Logs)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryTxReceiptRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryTxReceiptRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTxReceiptRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Hash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryTxReceiptResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryTxReceiptResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTxReceiptResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Receipt", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Receipt == nil { - m.Receipt = &TxReceipt{} - } - if err := m.Receipt.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryTxReceiptsByBlockHeightRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryTxReceiptsByBlockHeightRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTxReceiptsByBlockHeightRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) - } - m.Height = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Height |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryTxReceiptsByBlockHeightResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryTxReceiptsByBlockHeightResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTxReceiptsByBlockHeightResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Receipts", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Receipts = append(m.Receipts, &TxReceipt{}) - if err := m.Receipts[len(m.Receipts)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryTxReceiptsByBlockHashRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryTxReceiptsByBlockHashRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTxReceiptsByBlockHashRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Hash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryTxReceiptsByBlockHashResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryTxReceiptsByBlockHashResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTxReceiptsByBlockHashResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Receipts", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Receipts = append(m.Receipts, &TxReceipt{}) - if err := m.Receipts[len(m.Receipts)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryBlockLogsRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryBlockLogsRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryBlockLogsRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Hash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryBlockLogsResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryBlockLogsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryBlockLogsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TxLogs", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.TxLogs = append(m.TxLogs, TransactionLogs{}) - if err := m.TxLogs[len(m.TxLogs)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryBlockBloomRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryBlockBloomRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryBlockBloomRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) - } - m.Height = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Height |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryBlockBloomResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryBlockBloomResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryBlockBloomResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Bloom", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Bloom = append(m.Bloom[:0], dAtA[iNdEx:postIndex]...) - if m.Bloom == nil { - m.Bloom = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryParamsRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryParamsRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryParamsRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryParamsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryStaticCallRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryStaticCallRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryStaticCallRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Address = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Input", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Input = append(m.Input[:0], dAtA[iNdEx:postIndex]...) - if m.Input == nil { - m.Input = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryStaticCallResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryStaticCallResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryStaticCallResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) - if m.Data == nil { - m.Data = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipQuery(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowQuery - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowQuery - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowQuery - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthQuery - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupQuery - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthQuery - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthQuery = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowQuery = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupQuery = fmt.Errorf("proto: unexpected end of group") -) diff --git a/chain/evm/types/tx.pb.go b/chain/evm/types/tx.pb.go deleted file mode 100644 index 9e29fb56..00000000 --- a/chain/evm/types/tx.pb.go +++ /dev/null @@ -1,1553 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: injective/evm/v1beta1/tx.proto - -package types - -import ( - context "context" - encoding_binary "encoding/binary" - fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -// MsgEthereumTx encapsulates an Ethereum transaction as an SDK message. -type MsgEthereumTx struct { - Data *TxData `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` - // caches - Size_ float64 `protobuf:"fixed64,2,opt,name=size,proto3" json:"-"` - From *SigCache `protobuf:"bytes,3,opt,name=from,proto3" json:"-"` -} - -func (m *MsgEthereumTx) Reset() { *m = MsgEthereumTx{} } -func (m *MsgEthereumTx) String() string { return proto.CompactTextString(m) } -func (*MsgEthereumTx) ProtoMessage() {} -func (*MsgEthereumTx) Descriptor() ([]byte, []int) { - return fileDescriptor_9fd15a427dc5b31e, []int{0} -} -func (m *MsgEthereumTx) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgEthereumTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgEthereumTx.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *MsgEthereumTx) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgEthereumTx.Merge(m, src) -} -func (m *MsgEthereumTx) XXX_Size() int { - return m.Size() -} -func (m *MsgEthereumTx) XXX_DiscardUnknown() { - xxx_messageInfo_MsgEthereumTx.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgEthereumTx proto.InternalMessageInfo - -type ExtensionOptionsEthereumTx struct { -} - -func (m *ExtensionOptionsEthereumTx) Reset() { *m = ExtensionOptionsEthereumTx{} } -func (m *ExtensionOptionsEthereumTx) String() string { return proto.CompactTextString(m) } -func (*ExtensionOptionsEthereumTx) ProtoMessage() {} -func (*ExtensionOptionsEthereumTx) Descriptor() ([]byte, []int) { - return fileDescriptor_9fd15a427dc5b31e, []int{1} -} -func (m *ExtensionOptionsEthereumTx) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ExtensionOptionsEthereumTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ExtensionOptionsEthereumTx.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *ExtensionOptionsEthereumTx) XXX_Merge(src proto.Message) { - xxx_messageInfo_ExtensionOptionsEthereumTx.Merge(m, src) -} -func (m *ExtensionOptionsEthereumTx) XXX_Size() int { - return m.Size() -} -func (m *ExtensionOptionsEthereumTx) XXX_DiscardUnknown() { - xxx_messageInfo_ExtensionOptionsEthereumTx.DiscardUnknown(m) -} - -var xxx_messageInfo_ExtensionOptionsEthereumTx proto.InternalMessageInfo - -type ExtensionOptionsWeb3Tx struct { - // typedDataChainID used only in EIP712 Domain and should match - // Ethereum network ID in a Web3 provider (e.g. Metamask). - TypedDataChainID uint64 `protobuf:"varint,1,opt,name=typedDataChainID,proto3" json:"typedDataChainID,omitempty"` -} - -func (m *ExtensionOptionsWeb3Tx) Reset() { *m = ExtensionOptionsWeb3Tx{} } -func (m *ExtensionOptionsWeb3Tx) String() string { return proto.CompactTextString(m) } -func (*ExtensionOptionsWeb3Tx) ProtoMessage() {} -func (*ExtensionOptionsWeb3Tx) Descriptor() ([]byte, []int) { - return fileDescriptor_9fd15a427dc5b31e, []int{2} -} -func (m *ExtensionOptionsWeb3Tx) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ExtensionOptionsWeb3Tx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ExtensionOptionsWeb3Tx.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *ExtensionOptionsWeb3Tx) XXX_Merge(src proto.Message) { - xxx_messageInfo_ExtensionOptionsWeb3Tx.Merge(m, src) -} -func (m *ExtensionOptionsWeb3Tx) XXX_Size() int { - return m.Size() -} -func (m *ExtensionOptionsWeb3Tx) XXX_DiscardUnknown() { - xxx_messageInfo_ExtensionOptionsWeb3Tx.DiscardUnknown(m) -} - -var xxx_messageInfo_ExtensionOptionsWeb3Tx proto.InternalMessageInfo - -// MsgEthereumTxResponse defines the Msg/EthereumTx response type. -type MsgEthereumTxResponse struct { - // contract_address contains the ethereum address of the created contract (if - // any). If the state transition is an evm.Call, the contract address will be - // empty. - ContractAddress string `protobuf:"bytes,1,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty" yaml:"contract_address"` - // bloom represents the bloom filter bytes - Bloom []byte `protobuf:"bytes,2,opt,name=bloom,proto3" json:"bloom,omitempty"` - // tx_logs contains the transaction hash and the proto-compatible ethereum - // logs. - TxLogs TransactionLogs `protobuf:"bytes,3,opt,name=tx_logs,json=txLogs,proto3" json:"tx_logs" yaml:"tx_logs"` - // ret defines the bytes from the execution. - Ret []byte `protobuf:"bytes,4,opt,name=ret,proto3" json:"ret,omitempty"` - // reverted flag is set to true when the call has been reverted - Reverted bool `protobuf:"varint,5,opt,name=reverted,proto3" json:"reverted,omitempty"` -} - -func (m *MsgEthereumTxResponse) Reset() { *m = MsgEthereumTxResponse{} } -func (m *MsgEthereumTxResponse) String() string { return proto.CompactTextString(m) } -func (*MsgEthereumTxResponse) ProtoMessage() {} -func (*MsgEthereumTxResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_9fd15a427dc5b31e, []int{3} -} -func (m *MsgEthereumTxResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgEthereumTxResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgEthereumTxResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *MsgEthereumTxResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgEthereumTxResponse.Merge(m, src) -} -func (m *MsgEthereumTxResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgEthereumTxResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgEthereumTxResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgEthereumTxResponse proto.InternalMessageInfo - -// SigCache is used to cache the derived sender and contains the signer used -// to derive it. -type SigCache struct { - Signer *EIP155Signer `protobuf:"bytes,1,opt,name=signer,proto3" json:"signer,omitempty"` - Address []byte `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` -} - -func (m *SigCache) Reset() { *m = SigCache{} } -func (m *SigCache) String() string { return proto.CompactTextString(m) } -func (*SigCache) ProtoMessage() {} -func (*SigCache) Descriptor() ([]byte, []int) { - return fileDescriptor_9fd15a427dc5b31e, []int{4} -} -func (m *SigCache) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *SigCache) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_SigCache.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *SigCache) XXX_Merge(src proto.Message) { - xxx_messageInfo_SigCache.Merge(m, src) -} -func (m *SigCache) XXX_Size() int { - return m.Size() -} -func (m *SigCache) XXX_DiscardUnknown() { - xxx_messageInfo_SigCache.DiscardUnknown(m) -} - -var xxx_messageInfo_SigCache proto.InternalMessageInfo - -// EIP155Transaction implements Signer using the EIP155 rules. -type EIP155Signer struct { - chainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` - chainIdMul []byte `protobuf:"bytes,2,opt,name=chain_id_mul,json=chainIdMul,proto3" json:"chain_id_mul,omitempty"` -} - -func (m *EIP155Signer) Reset() { *m = EIP155Signer{} } -func (m *EIP155Signer) String() string { return proto.CompactTextString(m) } -func (*EIP155Signer) ProtoMessage() {} -func (*EIP155Signer) Descriptor() ([]byte, []int) { - return fileDescriptor_9fd15a427dc5b31e, []int{5} -} -func (m *EIP155Signer) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *EIP155Signer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_EIP155Signer.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *EIP155Signer) XXX_Merge(src proto.Message) { - xxx_messageInfo_EIP155Signer.Merge(m, src) -} -func (m *EIP155Signer) XXX_Size() int { - return m.Size() -} -func (m *EIP155Signer) XXX_DiscardUnknown() { - xxx_messageInfo_EIP155Signer.DiscardUnknown(m) -} - -var xxx_messageInfo_EIP155Signer proto.InternalMessageInfo - -func init() { - proto.RegisterType((*MsgEthereumTx)(nil), "injective.evm.v1beta1.MsgEthereumTx") - proto.RegisterType((*ExtensionOptionsEthereumTx)(nil), "injective.evm.v1beta1.ExtensionOptionsEthereumTx") - proto.RegisterType((*ExtensionOptionsWeb3Tx)(nil), "injective.evm.v1beta1.ExtensionOptionsWeb3Tx") - proto.RegisterType((*MsgEthereumTxResponse)(nil), "injective.evm.v1beta1.MsgEthereumTxResponse") - proto.RegisterType((*SigCache)(nil), "injective.evm.v1beta1.SigCache") - proto.RegisterType((*EIP155Signer)(nil), "injective.evm.v1beta1.EIP155Signer") -} - -func init() { proto.RegisterFile("injective/evm/v1beta1/tx.proto", fileDescriptor_9fd15a427dc5b31e) } - -var fileDescriptor_9fd15a427dc5b31e = []byte{ - // 595 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0xcf, 0x4f, 0xd4, 0x4e, - 0x14, 0xdf, 0x42, 0x81, 0xfd, 0x3e, 0xf6, 0x8b, 0x64, 0x02, 0x58, 0xd7, 0xd8, 0x92, 0x6a, 0x08, - 0x31, 0xd2, 0xba, 0x10, 0x2e, 0x78, 0xb2, 0x80, 0xc9, 0x1a, 0x88, 0xa6, 0x6c, 0x42, 0xe2, 0x65, - 0x9d, 0xb6, 0x63, 0xb7, 0xa6, 0xed, 0x6c, 0x3a, 0xb3, 0x9b, 0xe2, 0xd1, 0x93, 0x47, 0xff, 0x03, - 0xfd, 0x73, 0x38, 0x72, 0xf4, 0xd4, 0x98, 0xdd, 0x9b, 0x47, 0xfe, 0x02, 0xd3, 0x69, 0xbb, 0x2e, - 0xc8, 0x26, 0xde, 0xde, 0x8f, 0xcf, 0xfb, 0xbc, 0xf7, 0x3e, 0xf3, 0x06, 0xd4, 0x20, 0xfe, 0x48, - 0x5c, 0x1e, 0x0c, 0x89, 0x49, 0x86, 0x91, 0x39, 0x6c, 0x39, 0x84, 0xe3, 0x96, 0xc9, 0x53, 0xa3, - 0x9f, 0x50, 0x4e, 0xd1, 0xfa, 0x24, 0x6f, 0x90, 0x61, 0x64, 0x94, 0xf9, 0xe6, 0x9a, 0x4f, 0x7d, - 0x2a, 0x10, 0x66, 0x6e, 0x15, 0xe0, 0xa6, 0x76, 0x37, 0x59, 0x5e, 0x28, 0x00, 0xfa, 0x37, 0x09, - 0xfe, 0x3f, 0x65, 0xfe, 0x31, 0xef, 0x91, 0x84, 0x0c, 0xa2, 0x4e, 0x8a, 0x5a, 0x20, 0x7b, 0x98, - 0x63, 0x45, 0xda, 0x94, 0xb6, 0x97, 0x77, 0x1f, 0x19, 0x77, 0xb6, 0x33, 0x3a, 0xe9, 0x11, 0xe6, - 0xd8, 0x16, 0x50, 0xf4, 0x00, 0x64, 0x16, 0x7c, 0x22, 0xca, 0xdc, 0xa6, 0xb4, 0x2d, 0x59, 0x0b, - 0xbf, 0x32, 0x4d, 0xda, 0xb1, 0x45, 0x08, 0x1d, 0x80, 0xfc, 0x21, 0xa1, 0x91, 0x32, 0x2f, 0xd8, - 0xb4, 0x19, 0x6c, 0x67, 0x81, 0x7f, 0x88, 0xdd, 0x1e, 0x99, 0xd4, 0xe6, 0x35, 0x07, 0xf2, 0x97, - 0xef, 0x5a, 0x4d, 0xd7, 0xa1, 0x79, 0x9c, 0x72, 0x12, 0xb3, 0x80, 0xc6, 0x6f, 0xfa, 0x3c, 0xa0, - 0x31, 0xfb, 0x33, 0x6d, 0x89, 0x79, 0x0d, 0x1b, 0xb7, 0x31, 0xe7, 0xc4, 0xd9, 0xeb, 0xa4, 0xe8, - 0x29, 0xac, 0xf2, 0x8b, 0x3e, 0xf1, 0xf2, 0x69, 0x0f, 0x7b, 0x38, 0x88, 0xdb, 0x47, 0x62, 0x33, - 0xd9, 0xfe, 0x2b, 0x5e, 0x72, 0x7d, 0x9e, 0x83, 0xf5, 0x1b, 0x8a, 0xd8, 0x84, 0xf5, 0x69, 0xcc, - 0x08, 0x7a, 0x05, 0xab, 0x2e, 0x8d, 0x79, 0x82, 0x5d, 0xde, 0xc5, 0x9e, 0x97, 0x10, 0xc6, 0x04, - 0xd7, 0x7f, 0xd6, 0xc3, 0xeb, 0x4c, 0xbb, 0x7f, 0x81, 0xa3, 0xf0, 0x40, 0xbf, 0x8d, 0xd0, 0xed, - 0x7b, 0x55, 0xe8, 0x65, 0x11, 0x41, 0x6b, 0xb0, 0xe0, 0x84, 0x94, 0x46, 0x42, 0xaf, 0x86, 0x5d, - 0x38, 0xe8, 0x1c, 0x96, 0x78, 0xda, 0x0d, 0xa9, 0xcf, 0x4a, 0xb1, 0xb6, 0x66, 0x49, 0x9f, 0xe0, - 0x98, 0x61, 0x37, 0xdf, 0xf2, 0x84, 0xfa, 0xcc, 0xda, 0xb8, 0xcc, 0xb4, 0xda, 0x75, 0xa6, 0xad, - 0x14, 0x03, 0x94, 0x24, 0xba, 0xbd, 0xc8, 0xd3, 0x3c, 0x8f, 0x56, 0x61, 0x3e, 0x21, 0x5c, 0x91, - 0x45, 0xb3, 0xdc, 0x44, 0x4d, 0xa8, 0x27, 0x64, 0x48, 0x12, 0x4e, 0x3c, 0x65, 0x61, 0x53, 0xda, - 0xae, 0xdb, 0x13, 0xbf, 0x14, 0xc1, 0x87, 0x7a, 0xf5, 0x26, 0xe8, 0x05, 0x2c, 0xb2, 0xc0, 0x8f, - 0x49, 0x52, 0x9e, 0xc4, 0xe3, 0x19, 0x73, 0x1d, 0xb7, 0xdf, 0xb6, 0xf6, 0xf7, 0xcf, 0x04, 0xd4, - 0x2e, 0x4b, 0x90, 0x02, 0x4b, 0x95, 0x54, 0xc5, 0xb6, 0x95, 0x5b, 0x36, 0x8a, 0xa1, 0x31, 0x5d, - 0x87, 0xb6, 0xa0, 0xee, 0xe6, 0xcf, 0xd1, 0x0d, 0x3c, 0xd1, 0xae, 0x61, 0x2d, 0x8f, 0x32, 0x6d, - 0x49, 0xc4, 0xda, 0x9e, 0x5d, 0x19, 0xe8, 0x39, 0x34, 0x2a, 0x5c, 0x37, 0x1a, 0x84, 0x05, 0xb9, - 0xb5, 0x32, 0xca, 0x34, 0x28, 0x21, 0xa7, 0x83, 0xd0, 0x9e, 0xb2, 0x8b, 0x7e, 0xbb, 0x3e, 0xcc, - 0x9f, 0x32, 0x1f, 0xbd, 0x07, 0x98, 0x3a, 0xf9, 0x27, 0x33, 0x36, 0xba, 0x71, 0x06, 0xcd, 0x67, - 0xff, 0x82, 0xaa, 0x8e, 0xc5, 0x72, 0x2f, 0x47, 0xaa, 0x74, 0x35, 0x52, 0xa5, 0x9f, 0x23, 0x55, - 0xfa, 0x3a, 0x56, 0x6b, 0x57, 0x63, 0xb5, 0xf6, 0x63, 0xac, 0xd6, 0xde, 0xb5, 0xfd, 0x80, 0xf7, - 0x06, 0x8e, 0xe1, 0xd2, 0xc8, 0x6c, 0x57, 0x8c, 0x27, 0xd8, 0x61, 0xe6, 0x84, 0x7f, 0xc7, 0xa5, - 0x09, 0x99, 0x76, 0xf3, 0x35, 0xcc, 0x88, 0x7a, 0x83, 0x90, 0x30, 0xf1, 0x93, 0xf3, 0xe3, 0x65, - 0xce, 0xa2, 0xf8, 0xc4, 0x7b, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x30, 0x74, 0x2f, 0x9a, 0x34, - 0x04, 0x00, 0x00, -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConn - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 - -// MsgClient is the client API for Msg service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type MsgClient interface { - // EthereumTx defines a method submitting Ethereum transactions. - EthereumTx(ctx context.Context, in *MsgEthereumTx, opts ...grpc.CallOption) (*MsgEthereumTxResponse, error) -} - -type msgClient struct { - cc grpc1.ClientConn -} - -func NewMsgClient(cc grpc1.ClientConn) MsgClient { - return &msgClient{cc} -} - -func (c *msgClient) EthereumTx(ctx context.Context, in *MsgEthereumTx, opts ...grpc.CallOption) (*MsgEthereumTxResponse, error) { - out := new(MsgEthereumTxResponse) - err := c.cc.Invoke(ctx, "/injective.evm.v1beta1.Msg/EthereumTx", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// MsgServer is the server API for Msg service. -type MsgServer interface { - // EthereumTx defines a method submitting Ethereum transactions. - EthereumTx(context.Context, *MsgEthereumTx) (*MsgEthereumTxResponse, error) -} - -// UnimplementedMsgServer can be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} - -func (*UnimplementedMsgServer) EthereumTx(ctx context.Context, req *MsgEthereumTx) (*MsgEthereumTxResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method EthereumTx not implemented") -} - -func RegisterMsgServer(s grpc1.Server, srv MsgServer) { - s.RegisterService(&_Msg_serviceDesc, srv) -} - -func _Msg_EthereumTx_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgEthereumTx) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).EthereumTx(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/injective.evm.v1beta1.Msg/EthereumTx", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).EthereumTx(ctx, req.(*MsgEthereumTx)) - } - return interceptor(ctx, in, info, handler) -} - -var _Msg_serviceDesc = grpc.ServiceDesc{ - ServiceName: "injective.evm.v1beta1.Msg", - HandlerType: (*MsgServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "EthereumTx", - Handler: _Msg_EthereumTx_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "injective/evm/v1beta1/tx.proto", -} - -func (m *MsgEthereumTx) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *MsgEthereumTx) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgEthereumTx) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.From != nil { - { - size, err := m.From.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - } - if m.Size_ != 0 { - i -= 8 - encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Size_)))) - i-- - dAtA[i] = 0x11 - } - if m.Data != nil { - { - size, err := m.Data.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ExtensionOptionsEthereumTx) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ExtensionOptionsEthereumTx) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *ExtensionOptionsEthereumTx) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *ExtensionOptionsWeb3Tx) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ExtensionOptionsWeb3Tx) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *ExtensionOptionsWeb3Tx) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.TypedDataChainID != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.TypedDataChainID)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *MsgEthereumTxResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *MsgEthereumTxResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgEthereumTxResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Reverted { - i-- - if m.Reverted { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x28 - } - if len(m.Ret) > 0 { - i -= len(m.Ret) - copy(dAtA[i:], m.Ret) - i = encodeVarintTx(dAtA, i, uint64(len(m.Ret))) - i-- - dAtA[i] = 0x22 - } - { - size, err := m.TxLogs.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - if len(m.Bloom) > 0 { - i -= len(m.Bloom) - copy(dAtA[i:], m.Bloom) - i = encodeVarintTx(dAtA, i, uint64(len(m.Bloom))) - i-- - dAtA[i] = 0x12 - } - if len(m.ContractAddress) > 0 { - i -= len(m.ContractAddress) - copy(dAtA[i:], m.ContractAddress) - i = encodeVarintTx(dAtA, i, uint64(len(m.ContractAddress))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *SigCache) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *SigCache) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *SigCache) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Address) > 0 { - i -= len(m.Address) - copy(dAtA[i:], m.Address) - i = encodeVarintTx(dAtA, i, uint64(len(m.Address))) - i-- - dAtA[i] = 0x12 - } - if m.Signer != nil { - { - size, err := m.Signer.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *EIP155Signer) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *EIP155Signer) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *EIP155Signer) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.chainIdMul) > 0 { - i -= len(m.chainIdMul) - copy(dAtA[i:], m.chainIdMul) - i = encodeVarintTx(dAtA, i, uint64(len(m.chainIdMul))) - i-- - dAtA[i] = 0x12 - } - if len(m.chainId) > 0 { - i -= len(m.chainId) - copy(dAtA[i:], m.chainId) - i = encodeVarintTx(dAtA, i, uint64(len(m.chainId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintTx(dAtA []byte, offset int, v uint64) int { - offset -= sovTx(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *MsgEthereumTx) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Data != nil { - l = m.Data.Size() - n += 1 + l + sovTx(uint64(l)) - } - if m.Size_ != 0 { - n += 9 - } - if m.From != nil { - l = m.From.Size() - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *ExtensionOptionsEthereumTx) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *ExtensionOptionsWeb3Tx) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.TypedDataChainID != 0 { - n += 1 + sovTx(uint64(m.TypedDataChainID)) - } - return n -} - -func (m *MsgEthereumTxResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ContractAddress) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Bloom) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = m.TxLogs.Size() - n += 1 + l + sovTx(uint64(l)) - l = len(m.Ret) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.Reverted { - n += 2 - } - return n -} - -func (m *SigCache) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Signer != nil { - l = m.Signer.Size() - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Address) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *EIP155Signer) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.chainId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.chainIdMul) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func sovTx(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozTx(x uint64) (n int) { - return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *MsgEthereumTx) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgEthereumTx: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEthereumTx: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Data == nil { - m.Data = &TxData{} - } - if err := m.Data.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 1 { - return fmt.Errorf("proto: wrong wireType = %d for field Size_", wireType) - } - var v uint64 - if (iNdEx + 8) > l { - return io.ErrUnexpectedEOF - } - v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) - iNdEx += 8 - m.Size_ = float64(math.Float64frombits(v)) - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.From == nil { - m.From = &SigCache{} - } - if err := m.From.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ExtensionOptionsEthereumTx) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ExtensionOptionsEthereumTx: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ExtensionOptionsEthereumTx: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ExtensionOptionsWeb3Tx) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ExtensionOptionsWeb3Tx: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ExtensionOptionsWeb3Tx: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TypedDataChainID", wireType) - } - m.TypedDataChainID = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TypedDataChainID |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgEthereumTxResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgEthereumTxResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEthereumTxResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ContractAddress", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ContractAddress = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Bloom", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Bloom = append(m.Bloom[:0], dAtA[iNdEx:postIndex]...) - if m.Bloom == nil { - m.Bloom = []byte{} - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TxLogs", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.TxLogs.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Ret", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Ret = append(m.Ret[:0], dAtA[iNdEx:postIndex]...) - if m.Ret == nil { - m.Ret = []byte{} - } - iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Reverted", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Reverted = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *SigCache) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: SigCache: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: SigCache: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Signer", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Signer == nil { - m.Signer = &EIP155Signer{} - } - if err := m.Signer.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Address = append(m.Address[:0], dAtA[iNdEx:postIndex]...) - if m.Address == nil { - m.Address = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *EIP155Signer) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: EIP155Signer: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: EIP155Signer: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field chainId", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.chainId = append(m.chainId[:0], dAtA[iNdEx:postIndex]...) - if m.chainId == nil { - m.chainId = []byte{} - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field chainIdMul", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.chainIdMul = append(m.chainIdMul[:0], dAtA[iNdEx:postIndex]...) - if m.chainIdMul == nil { - m.chainIdMul = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipTx(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowTx - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowTx - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowTx - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthTx - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupTx - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthTx - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthTx = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowTx = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupTx = fmt.Errorf("proto: unexpected end of group") -) diff --git a/chain/evm/types/utils.go b/chain/evm/types/utils.go deleted file mode 100644 index 116b34a9..00000000 --- a/chain/evm/types/utils.go +++ /dev/null @@ -1,138 +0,0 @@ -package types - -import ( - "bytes" - "fmt" - "math/big" - - log "github.com/InjectiveLabs/suplog" - - "github.com/gogo/protobuf/proto" - "github.com/pkg/errors" - "golang.org/x/crypto/sha3" - - sdk "github.com/cosmos/cosmos-sdk/types" - ethcmn "github.com/ethereum/go-ethereum/common" - ethcrypto "github.com/ethereum/go-ethereum/crypto" - "github.com/ethereum/go-ethereum/rlp" -) - -// ValidateSigner attempts to validate a signer for a given slice of bytes over -// which a signature and signer is given. An error is returned if address -// derived from the signature and bytes signed does not match the given signer. -func ValidateSigner(signBytes, sig []byte, signer ethcmn.Address) error { - pk, err := ethcrypto.SigToPub(signBytes, sig) - - if err != nil { - return errors.Wrap(err, "failed to derive public key from signature") - } else if ethcrypto.PubkeyToAddress(*pk) != signer { - return fmt.Errorf("invalid signature for signer: %s", signer) - } - - return nil -} - -func rlpHash(x interface{}) (hash ethcmn.Hash) { - hasher := sha3.NewLegacyKeccak256() - _ = rlp.Encode(hasher, x) - _ = hasher.Sum(hash[:0]) - - return hash -} - -// EncodeTxResponse takes all of the necessary data from the EVM execution -// and returns the data as a byte slice encoded with protobuf. -func EncodeTxResponse(res *MsgEthereumTxResponse) ([]byte, error) { - return proto.Marshal(res) -} - -// DecodeTxResponse decodes an protobuf-encoded byte slice into TxResponse -func DecodeTxResponse(in []byte) (*MsgEthereumTxResponse, error) { - var txMsgData sdk.TxMsgData - if err := proto.Unmarshal(in, &txMsgData); err != nil { - log.WithError(err).Errorln("failed to unmarshal TxMsgData") - return nil, err - } - - dataList := txMsgData.GetData() - if len(dataList) == 0 { - return &MsgEthereumTxResponse{}, nil - } - - var res MsgEthereumTxResponse - - err := proto.Unmarshal(dataList[0].GetData(), &res) - if err != nil { - err = errors.Wrap(err, "proto.Unmarshal failed") - return nil, err - } - - return &res, nil -} - -// EncodeTransactionLogs encodes TransactionLogs slice into a protobuf-encoded byte slice. -func EncodeTransactionLogs(res *TransactionLogs) ([]byte, error) { - return proto.Marshal(res) -} - -// DecodeTxResponse decodes an protobuf-encoded byte slice into TransactionLogs -func DecodeTransactionLogs(data []byte) (TransactionLogs, error) { - var logs TransactionLogs - err := proto.Unmarshal(data, &logs) - if err != nil { - return TransactionLogs{}, err - } - return logs, nil -} - -// ---------------------------------------------------------------------------- -// Auxiliary - -// recoverEthSig recovers a signature according to the Ethereum specification and -// returns the sender or an error. -// -// Ref: Ethereum Yellow Paper (BYZANTIUM VERSION 69351d5) Appendix F -// nolint: gocritic -func recoverEthSig(R, S, Vb *big.Int, sigHash ethcmn.Hash) (ethcmn.Address, error) { - if Vb.BitLen() > 8 { - return ethcmn.Address{}, errors.New("invalid signature") - } - - V := byte(Vb.Uint64() - 27) - if !ethcrypto.ValidateSignatureValues(V, R, S, true) { - return ethcmn.Address{}, errors.New("invalid signature") - } - - // encode the signature in uncompressed format - r, s := R.Bytes(), S.Bytes() - sig := make([]byte, 65) - - copy(sig[32-len(r):32], r) - copy(sig[64-len(s):64], s) - sig[64] = V - - // recover the public key from the signature - pub, err := ethcrypto.Ecrecover(sigHash[:], sig) - if err != nil { - return ethcmn.Address{}, err - } - - if len(pub) == 0 || pub[0] != 4 { - return ethcmn.Address{}, errors.New("invalid public key") - } - - var addr ethcmn.Address - copy(addr[:], ethcrypto.Keccak256(pub[1:])[12:]) - - return addr, nil -} - -// IsEmptyHash returns true if the hash corresponds to an empty ethereum hex hash. -func IsEmptyHash(hash string) bool { - return bytes.Equal(ethcmn.HexToHash(hash).Bytes(), ethcmn.Hash{}.Bytes()) -} - -// IsZeroAddress returns true if the address corresponds to an empty ethereum hex address. -func IsZeroAddress(address string) bool { - return bytes.Equal(ethcmn.HexToAddress(address).Bytes(), ethcmn.Address{}.Bytes()) -} diff --git a/chain/exchange/types/authz.pb.go b/chain/exchange/types/authz.pb.go index 0bda997d..e97e8a78 100644 --- a/chain/exchange/types/authz.pb.go +++ b/chain/exchange/types/authz.pb.go @@ -5,8 +5,8 @@ package types import ( fmt "fmt" - proto "github.com/gogo/protobuf/proto" - _ "github.com/regen-network/cosmos-proto" + _ "github.com/cosmos/cosmos-proto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" @@ -630,7 +630,7 @@ var fileDescriptor_ea13f83a88125645 = []byte{ 0x1c, 0xc6, 0xcd, 0x0a, 0x0b, 0xce, 0xea, 0xc1, 0xb0, 0x2c, 0x2a, 0x6c, 0xd6, 0x75, 0xd9, 0xe2, 0xc5, 0x04, 0xe9, 0xad, 0xb7, 0x6a, 0x2f, 0x82, 0x6d, 0xc1, 0xd2, 0x4b, 0x2f, 0x32, 0x99, 0x19, 0xcc, 0xb4, 0x26, 0x13, 0xe6, 0x3f, 0x11, 0xf5, 0xd0, 0x67, 0xe8, 0x33, 0xf4, 0x19, 0xfa, 0x10, - 0x3d, 0x4a, 0x4f, 0x3d, 0x16, 0x7d, 0x91, 0x92, 0xa4, 0x26, 0x56, 0xbc, 0xf4, 0x90, 0x1c, 0x67, + 0xa5, 0x27, 0x8f, 0x3d, 0x16, 0x7d, 0x91, 0x92, 0xa4, 0x26, 0x56, 0xbc, 0xf4, 0x90, 0x1c, 0x67, 0xf8, 0xf2, 0xff, 0xe5, 0xfb, 0xe7, 0xcb, 0x87, 0x8e, 0xb8, 0x77, 0xcb, 0x88, 0xe2, 0x33, 0x66, 0xb1, 0x39, 0x71, 0xb0, 0x37, 0x61, 0xd6, 0xac, 0x6b, 0x33, 0x85, 0xbb, 0x16, 0x0e, 0x94, 0xb3, 0x34, 0x7d, 0x29, 0x94, 0xd0, 0x1b, 0x89, 0xce, 0xdc, 0xea, 0xcc, 0x0f, 0x5d, 0xa3, 0x4e, 0x04, @@ -651,7 +651,7 @@ var fileDescriptor_ea13f83a88125645 = []byte{ 0x78, 0xdd, 0x18, 0x85, 0x9b, 0x8b, 0x09, 0x57, 0x4e, 0x60, 0x9b, 0x44, 0xb8, 0xd6, 0x60, 0x5b, 0xd6, 0x43, 0x6c, 0x83, 0x95, 0x54, 0x77, 0x87, 0x08, 0xc9, 0x76, 0x8f, 0x0e, 0xe6, 0x9e, 0xe5, 0x0a, 0x1a, 0x4c, 0x19, 0xa4, 0xfd, 0xaf, 0x16, 0x3e, 0x03, 0xfb, 0x7b, 0xd4, 0xe0, 0xc7, 0xef, - 0x01, 0x00, 0x00, 0xff, 0xff, 0x15, 0x7b, 0x1c, 0xdc, 0x22, 0x06, 0x00, 0x00, + 0x01, 0x00, 0x00, 0xff, 0xff, 0x04, 0x50, 0x0d, 0x64, 0x22, 0x06, 0x00, 0x00, } func (m *CreateSpotLimitOrderAuthz) Marshal() (dAtA []byte, err error) { diff --git a/chain/exchange/types/codec.go b/chain/exchange/types/codec.go index 43aed742..3f28d37d 100644 --- a/chain/exchange/types/codec.go +++ b/chain/exchange/types/codec.go @@ -7,7 +7,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" "github.com/cosmos/cosmos-sdk/x/authz" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + authzcdc "github.com/cosmos/cosmos-sdk/x/authz/codec" + govcdc "github.com/cosmos/cosmos-sdk/x/gov/codec" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + groupcdc "github.com/cosmos/cosmos-sdk/x/group/codec" ) // RegisterLegacyAminoCodec registers the necessary x/exchange interfaces and concrete types @@ -42,6 +45,7 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgCancelBinaryOptionsOrder{}, "exchange/MsgCancelBinaryOptionsOrder", nil) cdc.RegisterConcrete(&MsgAdminUpdateBinaryOptionsMarket{}, "exchange/MsgAdminUpdateBinaryOptionsMarket", nil) cdc.RegisterConcrete(&MsgReclaimLockedFunds{}, "exchange/MsgReclaimLockedFunds", nil) + cdc.RegisterConcrete(&MsgUpdateParams{}, "exchange/MsgUpdateParams", nil) cdc.RegisterConcrete(&ExchangeEnableProposal{}, "exchange/ExchangeEnableProposal", nil) cdc.RegisterConcrete(&BatchExchangeModificationProposal{}, "exchange/BatchExchangeModificationProposal", nil) @@ -105,6 +109,7 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { &MsgCancelBinaryOptionsOrder{}, &MsgAdminUpdateBinaryOptionsMarket{}, &MsgReclaimLockedFunds{}, + &MsgUpdateParams{}, ) registry.RegisterImplementations( @@ -165,4 +170,8 @@ func init() { RegisterLegacyAminoCodec(amino) cryptocodec.RegisterCrypto(amino) amino.Seal() + + RegisterLegacyAminoCodec(govcdc.Amino) + RegisterLegacyAminoCodec(authzcdc.Amino) + RegisterLegacyAminoCodec(groupcdc.Amino) } diff --git a/chain/exchange/types/common_order.go b/chain/exchange/types/common_order.go index f5caee8a..f131359e 100644 --- a/chain/exchange/types/common_order.go +++ b/chain/exchange/types/common_order.go @@ -4,10 +4,10 @@ import ( "strconv" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/gogoproto/proto" "github.com/ethereum/go-ethereum/common" ethmath "github.com/ethereum/go-ethereum/common/math" - gethsigner "github.com/ethereum/go-ethereum/signer/core" - "github.com/gogo/protobuf/proto" + "github.com/ethereum/go-ethereum/signer/core/apitypes" "golang.org/x/crypto/sha3" ) @@ -80,7 +80,7 @@ func (m *OrderInfo) IsFromDefaultSubaccount() bool { return IsDefaultSubaccountID(common.HexToHash(m.SubaccountId)) } -var eip712OrderTypes = gethsigner.Types{ +var eip712OrderTypes = apitypes.Types{ "EIP712Domain": { {Name: "name", Type: "string"}, {Name: "version", Type: "string"}, @@ -113,7 +113,7 @@ var eip712OrderTypes = gethsigner.Types{ func computeOrderHash(marketId, subaccountId, feeRecipient, price, quantity, margin, triggerPrice, orderType string, nonce uint32) (common.Hash, error) { chainID := ethmath.NewHexOrDecimal256(888) - var domain = gethsigner.TypedDataDomain{ + var domain = apitypes.TypedDataDomain{ Name: "Injective Protocol", Version: "2.0.0", ChainId: chainID, @@ -135,7 +135,7 @@ func computeOrderHash(marketId, subaccountId, feeRecipient, price, quantity, mar "Salt": strconv.Itoa(int(nonce)), } - var typedData = gethsigner.TypedData{ + var typedData = apitypes.TypedData{ Types: eip712OrderTypes, PrimaryType: "DerivativeOrder", Domain: domain, diff --git a/chain/exchange/types/common_utils.go b/chain/exchange/types/common_utils.go index 7c3a2963..c35d8189 100644 --- a/chain/exchange/types/common_utils.go +++ b/chain/exchange/types/common_utils.go @@ -8,8 +8,8 @@ import ( "strconv" "strings" + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/ethereum/go-ethereum/common" ) @@ -108,18 +108,18 @@ func IsNonceDerivedSubaccountID(subaccountID string) bool { func CheckValidSubaccountIDOrNonce(sender sdk.AccAddress, subaccountId string) error { if IsNonceDerivedSubaccountID(subaccountId) { if _, err := GetNonceDerivedSubaccountID(sender, subaccountId); err != nil { - return sdkerrors.Wrap(ErrBadSubaccountID, subaccountId) + return errors.Wrap(ErrBadSubaccountID, subaccountId) } return nil } subaccountAddress, ok := IsValidSubaccountID(subaccountId) if !ok { - return sdkerrors.Wrap(ErrBadSubaccountID, subaccountId) + return errors.Wrap(ErrBadSubaccountID, subaccountId) } if !bytes.Equal(subaccountAddress.Bytes(), sender.Bytes()) { - return sdkerrors.Wrap(ErrBadSubaccountID, subaccountId) + return errors.Wrap(ErrBadSubaccountID, subaccountId) } return nil } @@ -247,7 +247,7 @@ func GetSubaccountIDOrDeriveFromNonce(sender sdk.AccAddress, subaccountId string } if !IsHexHash(subaccountId) { - return common.Hash{}, sdkerrors.Wrap(ErrBadSubaccountID, subaccountId) + return common.Hash{}, errors.Wrap(ErrBadSubaccountID, subaccountId) } return common.HexToHash(subaccountId), nil diff --git a/chain/exchange/types/derivative_orders.go b/chain/exchange/types/derivative_orders.go index f053ff0e..3d70e1fd 100644 --- a/chain/exchange/types/derivative_orders.go +++ b/chain/exchange/types/derivative_orders.go @@ -1,8 +1,8 @@ package types import ( + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/ethereum/go-ethereum/common" ) @@ -225,14 +225,14 @@ func (o *DerivativeLimitOrder) GetCancelRefundAmount(feeRate sdk.Dec) sdk.Dec { func (o *DerivativeOrder) CheckTickSize(minPriceTickSize, minQuantityTickSize sdk.Dec) error { if BreachesMinimumTickSize(o.OrderInfo.Price, minPriceTickSize) { - return sdkerrors.Wrapf(ErrInvalidPrice, "price %s must be a multiple of the minimum price tick size %s", o.OrderInfo.Price.String(), minPriceTickSize.String()) + return errors.Wrapf(ErrInvalidPrice, "price %s must be a multiple of the minimum price tick size %s", o.OrderInfo.Price.String(), minPriceTickSize.String()) } if BreachesMinimumTickSize(o.OrderInfo.Quantity, minQuantityTickSize) { - return sdkerrors.Wrapf(ErrInvalidQuantity, "quantity %s must be a multiple of the minimum quantity tick size %s", o.OrderInfo.Quantity.String(), minQuantityTickSize.String()) + return errors.Wrapf(ErrInvalidQuantity, "quantity %s must be a multiple of the minimum quantity tick size %s", o.OrderInfo.Quantity.String(), minQuantityTickSize.String()) } if !o.Margin.IsZero() { if BreachesMinimumTickSize(o.Margin, minQuantityTickSize) { - return sdkerrors.Wrapf(ErrInvalidMargin, "margin %s must be a multiple of the minimum quantity tick size %s", o.Margin.String(), minQuantityTickSize.String()) + return errors.Wrapf(ErrInvalidMargin, "margin %s must be a multiple of the minimum quantity tick size %s", o.Margin.String(), minQuantityTickSize.String()) } } return nil @@ -261,7 +261,7 @@ func (o *DerivativeOrder) CheckMarginAndGetMarginHold(initialMarginRatio, execut if marketType == MarketType_BinaryOption { requiredMargin := o.GetRequiredBinaryOptionsMargin(oracleScaleFactor) if !o.Margin.Equal(requiredMargin) { - return sdk.Dec{}, sdkerrors.Wrapf(ErrInsufficientOrderMargin, "margin check: need %s but got %s", requiredMargin.String(), o.Margin.String()) + return sdk.Dec{}, errors.Wrapf(ErrInsufficientOrderMargin, "margin check: need %s but got %s", requiredMargin.String(), o.Margin.String()) } return marginHold, nil } @@ -269,7 +269,7 @@ func (o *DerivativeOrder) CheckMarginAndGetMarginHold(initialMarginRatio, execut // For perpetual and expiry futures margins // Enforce that Margin ≥ InitialMarginRatio * Price * Quantity if o.Margin.LT(initialMarginRatio.Mul(notional)) { - return sdk.Dec{}, sdkerrors.Wrapf(ErrInsufficientOrderMargin, "InitialMarginRatio Check: need at least %s but got %s", initialMarginRatio.Mul(notional).String(), o.Margin.String()) + return sdk.Dec{}, errors.Wrapf(ErrInsufficientOrderMargin, "InitialMarginRatio Check: need at least %s but got %s", initialMarginRatio.Mul(notional).String(), o.Margin.String()) } if err := o.CheckInitialMarginRequirementMarkPriceThreshold(initialMarginRatio, executionMarkPrice); err != nil { @@ -284,9 +284,9 @@ func (o *DerivativeOrder) CheckInitialMarginRequirementMarkPriceThreshold(initia // For Buys: MarkPrice ≥ (Margin - Price * Quantity) / ((InitialMarginRatio - 1) * Quantity) // For Sells: MarkPrice ≤ (Margin + Price * Quantity) / ((1 + InitialMarginRatio) * Quantity) if o.OrderType.IsBuy() && markPrice.LT(markPriceThreshold) { - return sdkerrors.Wrapf(ErrInsufficientOrderMargin, "Buy MarkPriceThreshold Check: mark/trigger price %s must be GTE %s", markPrice.String(), markPriceThreshold.String()) + return errors.Wrapf(ErrInsufficientOrderMargin, "Buy MarkPriceThreshold Check: mark/trigger price %s must be GTE %s", markPrice.String(), markPriceThreshold.String()) } else if !o.OrderType.IsBuy() && markPrice.GT(markPriceThreshold) { - return sdkerrors.Wrapf(ErrInsufficientOrderMargin, "Sell MarkPriceThreshold Check: mark/trigger price %s must be LTE %s", markPrice.String(), markPriceThreshold.String()) + return errors.Wrapf(ErrInsufficientOrderMargin, "Sell MarkPriceThreshold Check: mark/trigger price %s must be LTE %s", markPrice.String(), markPriceThreshold.String()) } return nil @@ -306,7 +306,7 @@ func (o *DerivativeOrder) CheckValidConditionalPrice(markPrice sdk.Dec) (err err ok = o.TriggerPrice.LT(markPrice) } if !ok { - return sdkerrors.Wrapf(ErrInvalidTriggerPrice, "order type %s incompatible with trigger price %s and markPrice %s", o.OrderType.String(), o.TriggerPrice.String(), markPrice.String()) + return errors.Wrapf(ErrInvalidTriggerPrice, "order type %s incompatible with trigger price %s and markPrice %s", o.OrderType.String(), o.TriggerPrice.String(), markPrice.String()) } return nil } @@ -315,11 +315,11 @@ func (o *DerivativeOrder) CheckValidConditionalPrice(markPrice sdk.Dec) (err err func (o *DerivativeOrder) CheckBinaryOptionsPricesWithinBounds(oracleScaleFactor uint32) (err error) { maxScaledPrice := GetScaledPrice(sdk.OneDec(), oracleScaleFactor) if o.Price().GTE(maxScaledPrice) { - return sdkerrors.Wrapf(ErrInvalidPrice, "price must be less than %s", maxScaledPrice.String()) + return errors.Wrapf(ErrInvalidPrice, "price must be less than %s", maxScaledPrice.String()) } if o.IsConditional() && o.TriggerPrice.GTE(maxScaledPrice) { - return sdkerrors.Wrapf(ErrInvalidTriggerPrice, "trigger price must be less than %s", maxScaledPrice.String()) + return errors.Wrapf(ErrInvalidTriggerPrice, "trigger price must be less than %s", maxScaledPrice.String()) } return nil } diff --git a/chain/exchange/types/errors.go b/chain/exchange/types/errors.go index a531b597..ae5ec436 100644 --- a/chain/exchange/types/errors.go +++ b/chain/exchange/types/errors.go @@ -1,102 +1,103 @@ package types import ( - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "cosmossdk.io/errors" ) var ( - ErrOrderInvalid = sdkerrors.Register(ModuleName, 1, "failed to validate order") - ErrSpotMarketNotFound = sdkerrors.Register(ModuleName, 2, "spot market not found") - ErrSpotMarketExists = sdkerrors.Register(ModuleName, 3, "spot market exists") - ErrBadField = sdkerrors.Register(ModuleName, 4, "struct field error") - ErrMarketInvalid = sdkerrors.Register(ModuleName, 5, "failed to validate market") - ErrInsufficientDeposit = sdkerrors.Register(ModuleName, 6, "subaccount has insufficient deposits") - ErrUnrecognizedOrderType = sdkerrors.Register(ModuleName, 7, "unrecognized order type") - ErrInsufficientPositionQuantity = sdkerrors.Register(ModuleName, 8, "position quantity insufficient for order") - ErrOrderHashInvalid = sdkerrors.Register(ModuleName, 9, "order hash is not valid") - ErrBadSubaccountID = sdkerrors.Register(ModuleName, 10, "subaccount id is not valid") - ErrInvalidTicker = sdkerrors.Register(ModuleName, 11, "invalid ticker") - ErrInvalidBaseDenom = sdkerrors.Register(ModuleName, 12, "invalid base denom") - ErrInvalidQuoteDenom = sdkerrors.Register(ModuleName, 13, "invalid quote denom") - ErrInvalidOracle = sdkerrors.Register(ModuleName, 14, "invalid oracle") - ErrInvalidExpiry = sdkerrors.Register(ModuleName, 15, "invalid expiry") - ErrInvalidPrice = sdkerrors.Register(ModuleName, 16, "invalid price") - ErrInvalidQuantity = sdkerrors.Register(ModuleName, 17, "invalid quantity") - ErrUnsupportedOracleType = sdkerrors.Register(ModuleName, 18, "unsupported oracle type") - ErrOrderDoesntExist = sdkerrors.Register(ModuleName, 19, "order doesnt exist") - ErrOrderbookFillInvalid = sdkerrors.Register(ModuleName, 20, "spot limit orderbook fill invalid") - ErrPerpetualMarketExists = sdkerrors.Register(ModuleName, 21, "perpetual market exists") - ErrExpiryFuturesMarketExists = sdkerrors.Register(ModuleName, 22, "expiry futures market exists") - ErrExpiryFuturesMarketExpired = sdkerrors.Register(ModuleName, 23, "expiry futures market expired") - ErrNoLiquidity = sdkerrors.Register(ModuleName, 24, "no liquidity on the orderbook!") - ErrSlippageExceedsWorstPrice = sdkerrors.Register(ModuleName, 25, "Orderbook liquidity cannot satisfy current worst price") - ErrInsufficientOrderMargin = sdkerrors.Register(ModuleName, 26, "Order has insufficient margin") - ErrDerivativeMarketNotFound = sdkerrors.Register(ModuleName, 27, "Derivative market not found") - ErrPositionNotFound = sdkerrors.Register(ModuleName, 28, "Position not found") - ErrInvalidReduceOnlyPositionDirection = sdkerrors.Register(ModuleName, 29, "Position direction does not oppose the reduce-only order") - ErrPriceSurpassesBankruptcyPrice = sdkerrors.Register(ModuleName, 30, "Price Surpasses Bankruptcy Price") - ErrPositionNotLiquidable = sdkerrors.Register(ModuleName, 31, "Position not liquidable") - ErrInvalidTriggerPrice = sdkerrors.Register(ModuleName, 32, "invalid trigger price") - ErrInvalidOracleType = sdkerrors.Register(ModuleName, 33, "invalid oracle type") - ErrInvalidPriceTickSize = sdkerrors.Register(ModuleName, 34, "invalid minimum price tick size") - ErrInvalidQuantityTickSize = sdkerrors.Register(ModuleName, 35, "invalid minimum quantity tick size") - ErrInvalidMargin = sdkerrors.Register(ModuleName, 36, "invalid minimum order margin") - ErrExceedsOrderSideCount = sdkerrors.Register(ModuleName, 37, "Exceeds order side count") - ErrMarketOrderAlreadyExists = sdkerrors.Register(ModuleName, 38, "Subaccount cannot place a market order when a market order in the same market was already placed in same block") - ErrConditionalMarketOrderAlreadyExists = sdkerrors.Register(ModuleName, 39, "cannot place a conditional market order when a conditional market order in same relative direction already exists") - ErrMarketLaunchProposalAlreadyExists = sdkerrors.Register(ModuleName, 40, "An equivalent market launch proposal already exists.") - ErrInvalidMarketStatus = sdkerrors.Register(ModuleName, 41, "Invalid Market Status") - ErrSameDenoms = sdkerrors.Register(ModuleName, 42, "base denom cannot be same with quote denom") - ErrSameOracles = sdkerrors.Register(ModuleName, 43, "oracle base cannot be same with oracle quote") - ErrFeeRatesRelation = sdkerrors.Register(ModuleName, 44, "MakerFeeRate does not match TakerFeeRate requirements") - ErrMarginsRelation = sdkerrors.Register(ModuleName, 45, "MaintenanceMarginRatio cannot be greater than InitialMarginRatio") - ErrExceedsMaxOracleScaleFactor = sdkerrors.Register(ModuleName, 46, "OracleScaleFactor cannot be greater than MaxOracleScaleFactor") - ErrSpotExchangeNotEnabled = sdkerrors.Register(ModuleName, 47, "Spot exchange is not enabled yet") - ErrDerivativesExchangeNotEnabled = sdkerrors.Register(ModuleName, 48, "Derivatives exchange is not enabled yet") - ErrOraclePriceDeltaExceedsThreshold = sdkerrors.Register(ModuleName, 49, "Oracle price delta exceeds threshold") - ErrInvalidHourlyInterestRate = sdkerrors.Register(ModuleName, 50, "Invalid hourly interest rate") - ErrInvalidHourlyFundingRateCap = sdkerrors.Register(ModuleName, 51, "Invalid hourly funding rate cap") - ErrInvalidMarketFundingParamUpdate = sdkerrors.Register(ModuleName, 52, "Only perpetual markets can update funding parameters") - ErrInvalidTradingRewardCampaign = sdkerrors.Register(ModuleName, 53, "Invalid trading reward campaign") - ErrInvalidFeeDiscountSchedule = sdkerrors.Register(ModuleName, 54, "Invalid fee discount schedule") - ErrInvalidLiquidationOrder = sdkerrors.Register(ModuleName, 55, "invalid liquidation order") - ErrTradingRewardCampaignDistributionError = sdkerrors.Register(ModuleName, 56, "Unknown error happened for campaign distributions") - ErrInvalidTradingRewardsPendingPointsUpdate = sdkerrors.Register(ModuleName, 57, "Invalid trading reward points update") - ErrInvalidBatchMsgUpdate = sdkerrors.Register(ModuleName, 58, "Invalid batch msg update") - ErrExceedsTopOfBookPrice = sdkerrors.Register(ModuleName, 59, "Post-only order exceeds top of book price") - ErrInvalidOrderTypeForMessage = sdkerrors.Register(ModuleName, 60, "Order type not supported for given message") - ErrInvalidDMMSender = sdkerrors.Register(ModuleName, 61, "Sender must match dmm account") - ErrAlreadyOptedOutOfRewards = sdkerrors.Register(ModuleName, 62, "already opted out of rewards") - ErrInvalidMarginRatio = sdkerrors.Register(ModuleName, 63, "Invalid margin ratio") - ErrBelowMinimalContribution = sdkerrors.Register(ModuleName, 64, "Provided funds are below minimum") - ErrLowPositionMargin = sdkerrors.Register(ModuleName, 65, "Position is below initial margin requirement") - ErrInvalidTotalSupply = sdkerrors.Register(ModuleName, 66, "Pool has non-positive total lp token supply") - ErrInvalidLpTokenBurnAmount = sdkerrors.Register(ModuleName, 67, "Passed lp token burn amount is greater than total lp token supply") - ErrUnsupportedAction = sdkerrors.Register(ModuleName, 68, "unsupported action") - ErrNegativePositionQuantity = sdkerrors.Register(ModuleName, 69, "position quantity cannot be negative") - ErrBinaryOptionsMarketExists = sdkerrors.Register(ModuleName, 70, "binary options market exists") - ErrBinaryOptionsMarketNotFound = sdkerrors.Register(ModuleName, 71, "binary options market not found") - ErrInvalidSettlement = sdkerrors.Register(ModuleName, 72, "invalid settlement") - ErrAccountDoesntExist = sdkerrors.Register(ModuleName, 73, "account doesnt exist") - ErrSenderIsNotAnAdmin = sdkerrors.Register(ModuleName, 74, "sender should be a market admin") - ErrMarketAlreadyScheduledToSettle = sdkerrors.Register(ModuleName, 75, "market is already scheduled to settle") - ErrGenericMarketNotFound = sdkerrors.Register(ModuleName, 76, "market not found") - ErrInvalidDenomDecimal = sdkerrors.Register(ModuleName, 77, "denom decimal cannot be below 1 or above max scale factor") - ErrInvalidState = sdkerrors.Register(ModuleName, 78, "state is invalid") - ErrTransientOrdersUpToCancelNotSupported = sdkerrors.Register(ModuleName, 79, "transient orders up to cancellation not supported") - ErrInvalidTrade = sdkerrors.Register(ModuleName, 80, "invalid trade") - ErrNoMarginLocked = sdkerrors.Register(ModuleName, 81, "no margin locked in subaccount") - ErrInvalidAccessLevel = sdkerrors.Register(ModuleName, 82, "Invalid access level to perform action") - ErrInvalidAddress = sdkerrors.Register(ModuleName, 83, "Invalid address") - ErrInvalidArgument = sdkerrors.Register(ModuleName, 84, "Invalid argument") - ErrInvalidFundsDirection = sdkerrors.Register(ModuleName, 85, "Invalid funds direction") - ErrNoFundsProvided = sdkerrors.Register(ModuleName, 86, "No funds provided") - ErrInvalidSignature = sdkerrors.Register(ModuleName, 87, "Invalid signature") - ErrNoFundsToUnlock = sdkerrors.Register(ModuleName, 88, "no funds to unlock") - ErrNoMsgsProvided = sdkerrors.Register(ModuleName, 89, "No msgs provided") - ErrNoMsgProvided = sdkerrors.Register(ModuleName, 90, "No msg provided") - ErrInvalidAmount = sdkerrors.Register(ModuleName, 91, "Invalid amount") - ErrFeatureDisabled = sdkerrors.Register(ModuleName, 92, "The current feature has been disabled") - ErrTooMuchOrderMargin = sdkerrors.Register(ModuleName, 93, "Order has too much margin") - ErrBadSubaccountNonce = sdkerrors.Register(ModuleName, 94, "Subaccount nonce is invalid") + ErrOrderInvalid = errors.Register(ModuleName, 1, "failed to validate order") + ErrSpotMarketNotFound = errors.Register(ModuleName, 2, "spot market not found") + ErrSpotMarketExists = errors.Register(ModuleName, 3, "spot market exists") + ErrBadField = errors.Register(ModuleName, 4, "struct field error") + ErrMarketInvalid = errors.Register(ModuleName, 5, "failed to validate market") + ErrInsufficientDeposit = errors.Register(ModuleName, 6, "subaccount has insufficient deposits") + ErrUnrecognizedOrderType = errors.Register(ModuleName, 7, "unrecognized order type") + ErrInsufficientPositionQuantity = errors.Register(ModuleName, 8, "position quantity insufficient for order") + ErrOrderHashInvalid = errors.Register(ModuleName, 9, "order hash is not valid") + ErrBadSubaccountID = errors.Register(ModuleName, 10, "subaccount id is not valid") + ErrInvalidTicker = errors.Register(ModuleName, 11, "invalid ticker") + ErrInvalidBaseDenom = errors.Register(ModuleName, 12, "invalid base denom") + ErrInvalidQuoteDenom = errors.Register(ModuleName, 13, "invalid quote denom") + ErrInvalidOracle = errors.Register(ModuleName, 14, "invalid oracle") + ErrInvalidExpiry = errors.Register(ModuleName, 15, "invalid expiry") + ErrInvalidPrice = errors.Register(ModuleName, 16, "invalid price") + ErrInvalidQuantity = errors.Register(ModuleName, 17, "invalid quantity") + ErrUnsupportedOracleType = errors.Register(ModuleName, 18, "unsupported oracle type") + ErrOrderDoesntExist = errors.Register(ModuleName, 19, "order doesnt exist") + ErrOrderbookFillInvalid = errors.Register(ModuleName, 20, "spot limit orderbook fill invalid") + ErrPerpetualMarketExists = errors.Register(ModuleName, 21, "perpetual market exists") + ErrExpiryFuturesMarketExists = errors.Register(ModuleName, 22, "expiry futures market exists") + ErrExpiryFuturesMarketExpired = errors.Register(ModuleName, 23, "expiry futures market expired") + ErrNoLiquidity = errors.Register(ModuleName, 24, "no liquidity on the orderbook!") + ErrSlippageExceedsWorstPrice = errors.Register(ModuleName, 25, "Orderbook liquidity cannot satisfy current worst price") + ErrInsufficientOrderMargin = errors.Register(ModuleName, 26, "Order has insufficient margin") + ErrDerivativeMarketNotFound = errors.Register(ModuleName, 27, "Derivative market not found") + ErrPositionNotFound = errors.Register(ModuleName, 28, "Position not found") + ErrInvalidReduceOnlyPositionDirection = errors.Register(ModuleName, 29, "Position direction does not oppose the reduce-only order") + ErrPriceSurpassesBankruptcyPrice = errors.Register(ModuleName, 30, "Price Surpasses Bankruptcy Price") + ErrPositionNotLiquidable = errors.Register(ModuleName, 31, "Position not liquidable") + ErrInvalidTriggerPrice = errors.Register(ModuleName, 32, "invalid trigger price") + ErrInvalidOracleType = errors.Register(ModuleName, 33, "invalid oracle type") + ErrInvalidPriceTickSize = errors.Register(ModuleName, 34, "invalid minimum price tick size") + ErrInvalidQuantityTickSize = errors.Register(ModuleName, 35, "invalid minimum quantity tick size") + ErrInvalidMargin = errors.Register(ModuleName, 36, "invalid minimum order margin") + ErrExceedsOrderSideCount = errors.Register(ModuleName, 37, "Exceeds order side count") + ErrMarketOrderAlreadyExists = errors.Register(ModuleName, 38, "Subaccount cannot place a market order when a market order in the same market was already placed in same block") + ErrConditionalMarketOrderAlreadyExists = errors.Register(ModuleName, 39, "cannot place a conditional market order when a conditional market order in same relative direction already exists") + ErrMarketLaunchProposalAlreadyExists = errors.Register(ModuleName, 40, "An equivalent market launch proposal already exists.") + ErrInvalidMarketStatus = errors.Register(ModuleName, 41, "Invalid Market Status") + ErrSameDenoms = errors.Register(ModuleName, 42, "base denom cannot be same with quote denom") + ErrSameOracles = errors.Register(ModuleName, 43, "oracle base cannot be same with oracle quote") + ErrFeeRatesRelation = errors.Register(ModuleName, 44, "MakerFeeRate does not match TakerFeeRate requirements") + ErrMarginsRelation = errors.Register(ModuleName, 45, "MaintenanceMarginRatio cannot be greater than InitialMarginRatio") + ErrExceedsMaxOracleScaleFactor = errors.Register(ModuleName, 46, "OracleScaleFactor cannot be greater than MaxOracleScaleFactor") + ErrSpotExchangeNotEnabled = errors.Register(ModuleName, 47, "Spot exchange is not enabled yet") + ErrDerivativesExchangeNotEnabled = errors.Register(ModuleName, 48, "Derivatives exchange is not enabled yet") + ErrOraclePriceDeltaExceedsThreshold = errors.Register(ModuleName, 49, "Oracle price delta exceeds threshold") + ErrInvalidHourlyInterestRate = errors.Register(ModuleName, 50, "Invalid hourly interest rate") + ErrInvalidHourlyFundingRateCap = errors.Register(ModuleName, 51, "Invalid hourly funding rate cap") + ErrInvalidMarketFundingParamUpdate = errors.Register(ModuleName, 52, "Only perpetual markets can update funding parameters") + ErrInvalidTradingRewardCampaign = errors.Register(ModuleName, 53, "Invalid trading reward campaign") + ErrInvalidFeeDiscountSchedule = errors.Register(ModuleName, 54, "Invalid fee discount schedule") + ErrInvalidLiquidationOrder = errors.Register(ModuleName, 55, "invalid liquidation order") + ErrTradingRewardCampaignDistributionError = errors.Register(ModuleName, 56, "Unknown error happened for campaign distributions") + ErrInvalidTradingRewardsPendingPointsUpdate = errors.Register(ModuleName, 57, "Invalid trading reward points update") + ErrInvalidBatchMsgUpdate = errors.Register(ModuleName, 58, "Invalid batch msg update") + ErrExceedsTopOfBookPrice = errors.Register(ModuleName, 59, "Post-only order exceeds top of book price") + ErrInvalidOrderTypeForMessage = errors.Register(ModuleName, 60, "Order type not supported for given message") + ErrInvalidDMMSender = errors.Register(ModuleName, 61, "Sender must match dmm account") + ErrAlreadyOptedOutOfRewards = errors.Register(ModuleName, 62, "already opted out of rewards") + ErrInvalidMarginRatio = errors.Register(ModuleName, 63, "Invalid margin ratio") + ErrBelowMinimalContribution = errors.Register(ModuleName, 64, "Provided funds are below minimum") + ErrLowPositionMargin = errors.Register(ModuleName, 65, "Position is below initial margin requirement") + ErrInvalidTotalSupply = errors.Register(ModuleName, 66, "Pool has non-positive total lp token supply") + ErrInvalidLpTokenBurnAmount = errors.Register(ModuleName, 67, "Passed lp token burn amount is greater than total lp token supply") + ErrUnsupportedAction = errors.Register(ModuleName, 68, "unsupported action") + ErrNegativePositionQuantity = errors.Register(ModuleName, 69, "position quantity cannot be negative") + ErrBinaryOptionsMarketExists = errors.Register(ModuleName, 70, "binary options market exists") + ErrBinaryOptionsMarketNotFound = errors.Register(ModuleName, 71, "binary options market not found") + ErrInvalidSettlement = errors.Register(ModuleName, 72, "invalid settlement") + ErrAccountDoesntExist = errors.Register(ModuleName, 73, "account doesnt exist") + ErrSenderIsNotAnAdmin = errors.Register(ModuleName, 74, "sender should be a market admin") + ErrMarketAlreadyScheduledToSettle = errors.Register(ModuleName, 75, "market is already scheduled to settle") + ErrGenericMarketNotFound = errors.Register(ModuleName, 76, "market not found") + ErrInvalidDenomDecimal = errors.Register(ModuleName, 77, "denom decimal cannot be below 1 or above max scale factor") + ErrInvalidState = errors.Register(ModuleName, 78, "state is invalid") + ErrTransientOrdersUpToCancelNotSupported = errors.Register(ModuleName, 79, "transient orders up to cancellation not supported") + ErrInvalidTrade = errors.Register(ModuleName, 80, "invalid trade") + ErrNoMarginLocked = errors.Register(ModuleName, 81, "no margin locked in subaccount") + ErrInvalidAccessLevel = errors.Register(ModuleName, 82, "Invalid access level to perform action") + ErrInvalidAddress = errors.Register(ModuleName, 83, "Invalid address") + ErrInvalidArgument = errors.Register(ModuleName, 84, "Invalid argument") + ErrInvalidFundsDirection = errors.Register(ModuleName, 85, "Invalid funds direction") + ErrNoFundsProvided = errors.Register(ModuleName, 86, "No funds provided") + ErrInvalidSignature = errors.Register(ModuleName, 87, "Invalid signature") + ErrNoFundsToUnlock = errors.Register(ModuleName, 88, "no funds to unlock") + ErrNoMsgsProvided = errors.Register(ModuleName, 89, "No msgs provided") + ErrNoMsgProvided = errors.Register(ModuleName, 90, "No msg provided") + ErrInvalidAmount = errors.Register(ModuleName, 91, "Invalid amount") + ErrFeatureDisabled = errors.Register(ModuleName, 92, "The current feature has been disabled") + ErrTooMuchOrderMargin = errors.Register(ModuleName, 93, "Order has too much margin") + ErrBadSubaccountNonce = errors.Register(ModuleName, 94, "Subaccount nonce is invalid") + ErrInsufficientFunds = errors.Register(ModuleName, 95, "insufficient funds") ) diff --git a/chain/exchange/types/events.pb.go b/chain/exchange/types/events.pb.go index cb73c935..fde0ea75 100644 --- a/chain/exchange/types/events.pb.go +++ b/chain/exchange/types/events.pb.go @@ -8,8 +8,8 @@ import ( _ "github.com/InjectiveLabs/sdk-go/chain/oracle/types" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" diff --git a/chain/exchange/types/exchange.pb.go b/chain/exchange/types/exchange.pb.go index ba6e007c..7eea3cb6 100644 --- a/chain/exchange/types/exchange.pb.go +++ b/chain/exchange/types/exchange.pb.go @@ -8,8 +8,8 @@ import ( types1 "github.com/InjectiveLabs/sdk-go/chain/oracle/types" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" @@ -228,53 +228,75 @@ func (OrderMask) EnumDescriptor() ([]byte, []int) { } type Params struct { - // spot_market_instant_listing_fee defines the expedited fee in INJ required to create a spot market by bypassing governance + // spot_market_instant_listing_fee defines the expedited fee in INJ required + // to create a spot market by bypassing governance SpotMarketInstantListingFee types.Coin `protobuf:"bytes,1,opt,name=spot_market_instant_listing_fee,json=spotMarketInstantListingFee,proto3" json:"spot_market_instant_listing_fee"` - // derivative_market_instant_listing_fee defines the expedited fee in INJ required to create a derivative market by bypassing governance + // derivative_market_instant_listing_fee defines the expedited fee in INJ + // required to create a derivative market by bypassing governance DerivativeMarketInstantListingFee types.Coin `protobuf:"bytes,2,opt,name=derivative_market_instant_listing_fee,json=derivativeMarketInstantListingFee,proto3" json:"derivative_market_instant_listing_fee"` - // default_spot_maker_fee defines the default exchange trade fee for makers on a spot market + // default_spot_maker_fee defines the default exchange trade fee for makers on + // a spot market DefaultSpotMakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=default_spot_maker_fee_rate,json=defaultSpotMakerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"default_spot_maker_fee_rate"` - // default_spot_taker_fee_rate defines the default exchange trade fee rate for takers on a new spot market + // default_spot_taker_fee_rate defines the default exchange trade fee rate for + // takers on a new spot market DefaultSpotTakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=default_spot_taker_fee_rate,json=defaultSpotTakerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"default_spot_taker_fee_rate"` - // default_derivative_maker_fee defines the default exchange trade fee for makers on a new derivative market + // default_derivative_maker_fee defines the default exchange trade fee for + // makers on a new derivative market DefaultDerivativeMakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=default_derivative_maker_fee_rate,json=defaultDerivativeMakerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"default_derivative_maker_fee_rate"` - // default_derivative_taker_fee defines the default exchange trade fee for takers on a new derivative market + // default_derivative_taker_fee defines the default exchange trade fee for + // takers on a new derivative market DefaultDerivativeTakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,opt,name=default_derivative_taker_fee_rate,json=defaultDerivativeTakerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"default_derivative_taker_fee_rate"` - // default_initial_margin_ratio defines the default initial margin ratio on a new derivative market + // default_initial_margin_ratio defines the default initial margin ratio on a + // new derivative market DefaultInitialMarginRatio github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,7,opt,name=default_initial_margin_ratio,json=defaultInitialMarginRatio,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"default_initial_margin_ratio"` - // default_maintenance_margin_ratio defines the default maintenance margin ratio on a new derivative market + // default_maintenance_margin_ratio defines the default maintenance margin + // ratio on a new derivative market DefaultMaintenanceMarginRatio github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,8,opt,name=default_maintenance_margin_ratio,json=defaultMaintenanceMarginRatio,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"default_maintenance_margin_ratio"` - // default_funding_interval defines the default funding interval on a derivative market + // default_funding_interval defines the default funding interval on a + // derivative market DefaultFundingInterval int64 `protobuf:"varint,9,opt,name=default_funding_interval,json=defaultFundingInterval,proto3" json:"default_funding_interval,omitempty"` - // funding_multiple defines the timestamp multiple that the funding timestamp should be a multiple of + // funding_multiple defines the timestamp multiple that the funding timestamp + // should be a multiple of FundingMultiple int64 `protobuf:"varint,10,opt,name=funding_multiple,json=fundingMultiple,proto3" json:"funding_multiple,omitempty"` - // relayer_fee_share_rate defines the trade fee share percentage that goes to relayers + // relayer_fee_share_rate defines the trade fee share percentage that goes to + // relayers RelayerFeeShareRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,11,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"relayer_fee_share_rate"` - // default_hourly_funding_rate_cap defines the default maximum absolute value of the hourly funding rate + // default_hourly_funding_rate_cap defines the default maximum absolute value + // of the hourly funding rate DefaultHourlyFundingRateCap github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,12,opt,name=default_hourly_funding_rate_cap,json=defaultHourlyFundingRateCap,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"default_hourly_funding_rate_cap"` // hourly_interest_rate defines the hourly interest rate DefaultHourlyInterestRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,13,opt,name=default_hourly_interest_rate,json=defaultHourlyInterestRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"default_hourly_interest_rate"` - // max_derivative_order_side_count defines the maximum number of derivative active orders a subaccount can have for a given orderbook side + // max_derivative_order_side_count defines the maximum number of derivative + // active orders a subaccount can have for a given orderbook side MaxDerivativeOrderSideCount uint32 `protobuf:"varint,14,opt,name=max_derivative_order_side_count,json=maxDerivativeOrderSideCount,proto3" json:"max_derivative_order_side_count,omitempty"` - // inj_reward_staked_requirement_threshold defines the threshold on INJ rewards after which one also needs staked INJ to receive more + // inj_reward_staked_requirement_threshold defines the threshold on INJ + // rewards after which one also needs staked INJ to receive more InjRewardStakedRequirementThreshold github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,15,opt,name=inj_reward_staked_requirement_threshold,json=injRewardStakedRequirementThreshold,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"inj_reward_staked_requirement_threshold"` - // the trading_rewards_vesting_duration defines the vesting times for trading rewards + // the trading_rewards_vesting_duration defines the vesting times for trading + // rewards TradingRewardsVestingDuration int64 `protobuf:"varint,16,opt,name=trading_rewards_vesting_duration,json=tradingRewardsVestingDuration,proto3" json:"trading_rewards_vesting_duration,omitempty"` - // liquidator_reward_share_rate defines the ratio of the split of the surplus collateral that goes to the liquidator + // liquidator_reward_share_rate defines the ratio of the split of the surplus + // collateral that goes to the liquidator LiquidatorRewardShareRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,17,opt,name=liquidator_reward_share_rate,json=liquidatorRewardShareRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"liquidator_reward_share_rate"` - // binary_options_market_instant_listing_fee defines the expedited fee in INJ required to create a derivative market by bypassing governance + // binary_options_market_instant_listing_fee defines the expedited fee in INJ + // required to create a derivative market by bypassing governance BinaryOptionsMarketInstantListingFee types.Coin `protobuf:"bytes,18,opt,name=binary_options_market_instant_listing_fee,json=binaryOptionsMarketInstantListingFee,proto3" json:"binary_options_market_instant_listing_fee"` - // atomic_market_order_access_level defines the required access permissions for executing atomic market orders + // atomic_market_order_access_level defines the required access permissions + // for executing atomic market orders AtomicMarketOrderAccessLevel AtomicMarketOrderAccessLevel `protobuf:"varint,19,opt,name=atomic_market_order_access_level,json=atomicMarketOrderAccessLevel,proto3,enum=injective.exchange.v1beta1.AtomicMarketOrderAccessLevel" json:"atomic_market_order_access_level,omitempty"` - // spot_atomic_market_order_fee_multiplier defines the default multiplier for executing atomic market orders in spot markets + // spot_atomic_market_order_fee_multiplier defines the default multiplier for + // executing atomic market orders in spot markets SpotAtomicMarketOrderFeeMultiplier github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,20,opt,name=spot_atomic_market_order_fee_multiplier,json=spotAtomicMarketOrderFeeMultiplier,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"spot_atomic_market_order_fee_multiplier"` - // derivative_atomic_market_order_fee_multiplier defines the default multiplier for executing atomic market orders in derivative markets + // derivative_atomic_market_order_fee_multiplier defines the default + // multiplier for executing atomic market orders in derivative markets DerivativeAtomicMarketOrderFeeMultiplier github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,21,opt,name=derivative_atomic_market_order_fee_multiplier,json=derivativeAtomicMarketOrderFeeMultiplier,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"derivative_atomic_market_order_fee_multiplier"` - // binary_options_atomic_market_order_fee_multiplier defines the default multiplier for executing atomic market orders in binary markets + // binary_options_atomic_market_order_fee_multiplier defines the default + // multiplier for executing atomic market orders in binary markets BinaryOptionsAtomicMarketOrderFeeMultiplier github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,22,opt,name=binary_options_atomic_market_order_fee_multiplier,json=binaryOptionsAtomicMarketOrderFeeMultiplier,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"binary_options_atomic_market_order_fee_multiplier"` // minimal_protocol_fee_rate defines the minimal protocol fee rate MinimalProtocolFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,23,opt,name=minimal_protocol_fee_rate,json=minimalProtocolFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"minimal_protocol_fee_rate"` - // is_instant_derivative_market_launch_enabled defines whether instant derivative market launch is enabled + // is_instant_derivative_market_launch_enabled defines whether instant + // derivative market launch is enabled IsInstantDerivativeMarketLaunchEnabled bool `protobuf:"varint,24,opt,name=is_instant_derivative_market_launch_enabled,json=isInstantDerivativeMarketLaunchEnabled,proto3" json:"is_instant_derivative_market_launch_enabled,omitempty"` } @@ -428,23 +450,29 @@ type DerivativeMarket struct { QuoteDenom string `protobuf:"bytes,6,opt,name=quote_denom,json=quoteDenom,proto3" json:"quote_denom,omitempty"` // Unique market ID. MarketId string `protobuf:"bytes,7,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - // initial_margin_ratio defines the initial margin ratio of a derivative market + // initial_margin_ratio defines the initial margin ratio of a derivative + // market InitialMarginRatio github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,8,opt,name=initial_margin_ratio,json=initialMarginRatio,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"initial_margin_ratio"` - // maintenance_margin_ratio defines the maintenance margin ratio of a derivative market + // maintenance_margin_ratio defines the maintenance margin ratio of a + // derivative market MaintenanceMarginRatio github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,9,opt,name=maintenance_margin_ratio,json=maintenanceMarginRatio,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maintenance_margin_ratio"` // maker_fee_rate defines the maker fee rate of a derivative market MakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,10,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maker_fee_rate"` // taker_fee_rate defines the taker fee rate of a derivative market TakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,11,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"taker_fee_rate"` - // relayer_fee_share_rate defines the percentage of the transaction fee shared with the relayer in a derivative market + // relayer_fee_share_rate defines the percentage of the transaction fee shared + // with the relayer in a derivative market RelayerFeeShareRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,12,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"relayer_fee_share_rate"` - // true if the market is a perpetual market. false if the market is an expiry futures market + // true if the market is a perpetual market. false if the market is an expiry + // futures market IsPerpetual bool `protobuf:"varint,13,opt,name=isPerpetual,proto3" json:"isPerpetual,omitempty"` // Status of the market Status MarketStatus `protobuf:"varint,14,opt,name=status,proto3,enum=injective.exchange.v1beta1.MarketStatus" json:"status,omitempty"` - // min_price_tick_size defines the minimum tick size that the price and margin required for orders in the market + // min_price_tick_size defines the minimum tick size that the price and margin + // required for orders in the market MinPriceTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,15,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_price_tick_size"` - // min_quantity_tick_size defines the minimum tick size of the quantity required for orders in the market + // min_quantity_tick_size defines the minimum tick size of the quantity + // required for orders in the market MinQuantityTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,16,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_quantity_tick_size"` } @@ -507,13 +535,16 @@ type BinaryOptionsMarket struct { MakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,11,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maker_fee_rate"` // taker_fee_rate defines the taker fee rate of a derivative market TakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,12,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"taker_fee_rate"` - // relayer_fee_share_rate defines the percentage of the transaction fee shared with the relayer in a derivative market + // relayer_fee_share_rate defines the percentage of the transaction fee shared + // with the relayer in a derivative market RelayerFeeShareRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,13,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"relayer_fee_share_rate"` // Status of the market Status MarketStatus `protobuf:"varint,14,opt,name=status,proto3,enum=injective.exchange.v1beta1.MarketStatus" json:"status,omitempty"` - // min_price_tick_size defines the minimum tick size that the price and margin required for orders in the market + // min_price_tick_size defines the minimum tick size that the price and margin + // required for orders in the market MinPriceTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,15,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_price_tick_size"` - // min_quantity_tick_size defines the minimum tick size of the quantity required for orders in the market + // min_quantity_tick_size defines the minimum tick size of the quantity + // required for orders in the market MinQuantityTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,16,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_quantity_tick_size"` SettlementPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,17,opt,name=settlement_price,json=settlementPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"settlement_price,omitempty"` } @@ -554,13 +585,17 @@ var xxx_messageInfo_BinaryOptionsMarket proto.InternalMessageInfo type ExpiryFuturesMarketInfo struct { // market ID. MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - // expiration_timestamp defines the expiration time for a time expiry futures market. + // expiration_timestamp defines the expiration time for a time expiry futures + // market. ExpirationTimestamp int64 `protobuf:"varint,2,opt,name=expiration_timestamp,json=expirationTimestamp,proto3" json:"expiration_timestamp,omitempty"` - // expiration_twap_start_timestamp defines the start time of the TWAP calculation window + // expiration_twap_start_timestamp defines the start time of the TWAP + // calculation window TwapStartTimestamp int64 `protobuf:"varint,3,opt,name=twap_start_timestamp,json=twapStartTimestamp,proto3" json:"twap_start_timestamp,omitempty"` - // expiration_twap_start_price_cumulative defines the cumulative price for the start of the TWAP window + // expiration_twap_start_price_cumulative defines the cumulative price for the + // start of the TWAP window ExpirationTwapStartPriceCumulative github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=expiration_twap_start_price_cumulative,json=expirationTwapStartPriceCumulative,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"expiration_twap_start_price_cumulative"` - // settlement_price defines the settlement price for a time expiry futures market. + // settlement_price defines the settlement price for a time expiry futures + // market. SettlementPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=settlement_price,json=settlementPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"settlement_price"` } @@ -621,13 +656,16 @@ func (m *ExpiryFuturesMarketInfo) GetTwapStartTimestamp() int64 { type PerpetualMarketInfo struct { // market ID. MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - // hourly_funding_rate_cap defines the maximum absolute value of the hourly funding rate + // hourly_funding_rate_cap defines the maximum absolute value of the hourly + // funding rate HourlyFundingRateCap github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=hourly_funding_rate_cap,json=hourlyFundingRateCap,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"hourly_funding_rate_cap"` // hourly_interest_rate defines the hourly interest rate HourlyInterestRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=hourly_interest_rate,json=hourlyInterestRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"hourly_interest_rate"` - // next_funding_timestamp defines the next funding timestamp in seconds of a perpetual market + // next_funding_timestamp defines the next funding timestamp in seconds of a + // perpetual market NextFundingTimestamp int64 `protobuf:"varint,4,opt,name=next_funding_timestamp,json=nextFundingTimestamp,proto3" json:"next_funding_timestamp,omitempty"` - // funding_interval defines the next funding interval in seconds of a perpetual market. + // funding_interval defines the next funding interval in seconds of a + // perpetual market. FundingInterval int64 `protobuf:"varint,5,opt,name=funding_interval,json=fundingInterval,proto3" json:"funding_interval,omitempty"` } @@ -688,7 +726,8 @@ func (m *PerpetualMarketInfo) GetFundingInterval() int64 { type PerpetualMarketFunding struct { // cumulative_funding defines the cumulative funding of a perpetual market. CumulativeFunding github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=cumulative_funding,json=cumulativeFunding,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"cumulative_funding"` - // cumulative_price defines the cumulative price for the current hour up to the last timestamp + // cumulative_price defines the cumulative price for the current hour up to + // the last timestamp CumulativePrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=cumulative_price,json=cumulativePrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"cumulative_price"` LastTimestamp int64 `protobuf:"varint,3,opt,name=last_timestamp,json=lastTimestamp,proto3" json:"last_timestamp,omitempty"` } @@ -824,9 +863,52 @@ func (m *NextFundingTimestamp) GetNextTimestamp() int64 { return 0 } +type MidPriceAndTOB struct { + // mid price of the market + MidPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=mid_price,json=midPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"mid_price,omitempty"` + // best buy price of the market + BestBuyPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=best_buy_price,json=bestBuyPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"best_buy_price,omitempty"` + // best sell price of the market + BestSellPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=best_sell_price,json=bestSellPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"best_sell_price,omitempty"` +} + +func (m *MidPriceAndTOB) Reset() { *m = MidPriceAndTOB{} } +func (m *MidPriceAndTOB) String() string { return proto.CompactTextString(m) } +func (*MidPriceAndTOB) ProtoMessage() {} +func (*MidPriceAndTOB) Descriptor() ([]byte, []int) { + return fileDescriptor_2116e2804e9c53f9, []int{9} +} +func (m *MidPriceAndTOB) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MidPriceAndTOB) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MidPriceAndTOB.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MidPriceAndTOB) XXX_Merge(src proto.Message) { + xxx_messageInfo_MidPriceAndTOB.Merge(m, src) +} +func (m *MidPriceAndTOB) XXX_Size() int { + return m.Size() +} +func (m *MidPriceAndTOB) XXX_DiscardUnknown() { + xxx_messageInfo_MidPriceAndTOB.DiscardUnknown(m) +} + +var xxx_messageInfo_MidPriceAndTOB proto.InternalMessageInfo + // An object describing trade pair of two assets. type SpotMarket struct { - // A name of the pair in format AAA/BBB, where AAA is base asset, BBB is quote asset. + // A name of the pair in format AAA/BBB, where AAA is base asset, BBB is quote + // asset. Ticker string `protobuf:"bytes,1,opt,name=ticker,proto3" json:"ticker,omitempty"` // Coin denom used for the base asset BaseDenom string `protobuf:"bytes,2,opt,name=base_denom,json=baseDenom,proto3" json:"base_denom,omitempty"` @@ -836,15 +918,18 @@ type SpotMarket struct { MakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maker_fee_rate"` // taker_fee_rate defines the fee percentage takers pay when trading TakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"taker_fee_rate"` - // relayer_fee_share_rate defines the percentage of the transaction fee shared with the relayer in a derivative market + // relayer_fee_share_rate defines the percentage of the transaction fee shared + // with the relayer in a derivative market RelayerFeeShareRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"relayer_fee_share_rate"` // Unique market ID. MarketId string `protobuf:"bytes,7,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` // Status of the market Status MarketStatus `protobuf:"varint,8,opt,name=status,proto3,enum=injective.exchange.v1beta1.MarketStatus" json:"status,omitempty"` - // min_price_tick_size defines the minimum tick size that the price required for orders in the market + // min_price_tick_size defines the minimum tick size that the price required + // for orders in the market MinPriceTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,9,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_price_tick_size"` - // min_quantity_tick_size defines the minimum tick size of the quantity required for orders in the market + // min_quantity_tick_size defines the minimum tick size of the quantity + // required for orders in the market MinQuantityTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,10,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_quantity_tick_size"` } @@ -852,7 +937,7 @@ func (m *SpotMarket) Reset() { *m = SpotMarket{} } func (m *SpotMarket) String() string { return proto.CompactTextString(m) } func (*SpotMarket) ProtoMessage() {} func (*SpotMarket) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{9} + return fileDescriptor_2116e2804e9c53f9, []int{10} } func (m *SpotMarket) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -926,7 +1011,7 @@ func (m *Deposit) Reset() { *m = Deposit{} } func (m *Deposit) String() string { return proto.CompactTextString(m) } func (*Deposit) ProtoMessage() {} func (*Deposit) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{10} + return fileDescriptor_2116e2804e9c53f9, []int{11} } func (m *Deposit) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -963,7 +1048,7 @@ func (m *SubaccountTradeNonce) Reset() { *m = SubaccountTradeNonce{} } func (m *SubaccountTradeNonce) String() string { return proto.CompactTextString(m) } func (*SubaccountTradeNonce) ProtoMessage() {} func (*SubaccountTradeNonce) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{11} + return fileDescriptor_2116e2804e9c53f9, []int{12} } func (m *SubaccountTradeNonce) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1014,7 +1099,7 @@ func (m *OrderInfo) Reset() { *m = OrderInfo{} } func (m *OrderInfo) String() string { return proto.CompactTextString(m) } func (*OrderInfo) ProtoMessage() {} func (*OrderInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{12} + return fileDescriptor_2116e2804e9c53f9, []int{13} } func (m *OrderInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1072,7 +1157,7 @@ func (m *SpotOrder) Reset() { *m = SpotOrder{} } func (m *SpotOrder) String() string { return proto.CompactTextString(m) } func (*SpotOrder) ProtoMessage() {} func (*SpotOrder) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{13} + return fileDescriptor_2116e2804e9c53f9, []int{14} } func (m *SpotOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1139,7 +1224,7 @@ func (m *SpotLimitOrder) Reset() { *m = SpotLimitOrder{} } func (m *SpotLimitOrder) String() string { return proto.CompactTextString(m) } func (*SpotLimitOrder) ProtoMessage() {} func (*SpotLimitOrder) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{14} + return fileDescriptor_2116e2804e9c53f9, []int{15} } func (m *SpotLimitOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1205,7 +1290,7 @@ func (m *SpotMarketOrder) Reset() { *m = SpotMarketOrder{} } func (m *SpotMarketOrder) String() string { return proto.CompactTextString(m) } func (*SpotMarketOrder) ProtoMessage() {} func (*SpotMarketOrder) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{15} + return fileDescriptor_2116e2804e9c53f9, []int{16} } func (m *SpotMarketOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1272,7 +1357,7 @@ func (m *DerivativeOrder) Reset() { *m = DerivativeOrder{} } func (m *DerivativeOrder) String() string { return proto.CompactTextString(m) } func (*DerivativeOrder) ProtoMessage() {} func (*DerivativeOrder) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{16} + return fileDescriptor_2116e2804e9c53f9, []int{17} } func (m *DerivativeOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1325,9 +1410,11 @@ func (m *DerivativeOrder) GetOrderType() OrderType { type SubaccountOrderbookMetadata struct { VanillaLimitOrderCount uint32 `protobuf:"varint,1,opt,name=vanilla_limit_order_count,json=vanillaLimitOrderCount,proto3" json:"vanilla_limit_order_count,omitempty"` ReduceOnlyLimitOrderCount uint32 `protobuf:"varint,2,opt,name=reduce_only_limit_order_count,json=reduceOnlyLimitOrderCount,proto3" json:"reduce_only_limit_order_count,omitempty"` - // AggregateReduceOnlyQuantity is the aggregate fillable quantity of the subaccount's reduce-only limit orders in the given direction. + // AggregateReduceOnlyQuantity is the aggregate fillable quantity of the + // subaccount's reduce-only limit orders in the given direction. AggregateReduceOnlyQuantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=aggregate_reduce_only_quantity,json=aggregateReduceOnlyQuantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"aggregate_reduce_only_quantity"` - // AggregateVanillaQuantity is the aggregate fillable quantity of the subaccount's vanilla limit orders in the given direction. + // AggregateVanillaQuantity is the aggregate fillable quantity of the + // subaccount's vanilla limit orders in the given direction. AggregateVanillaQuantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=aggregate_vanilla_quantity,json=aggregateVanillaQuantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"aggregate_vanilla_quantity"` VanillaConditionalOrderCount uint32 `protobuf:"varint,5,opt,name=vanilla_conditional_order_count,json=vanillaConditionalOrderCount,proto3" json:"vanilla_conditional_order_count,omitempty"` ReduceOnlyConditionalOrderCount uint32 `protobuf:"varint,6,opt,name=reduce_only_conditional_order_count,json=reduceOnlyConditionalOrderCount,proto3" json:"reduce_only_conditional_order_count,omitempty"` @@ -1337,7 +1424,7 @@ func (m *SubaccountOrderbookMetadata) Reset() { *m = SubaccountOrderbook func (m *SubaccountOrderbookMetadata) String() string { return proto.CompactTextString(m) } func (*SubaccountOrderbookMetadata) ProtoMessage() {} func (*SubaccountOrderbookMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{17} + return fileDescriptor_2116e2804e9c53f9, []int{18} } func (m *SubaccountOrderbookMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1406,7 +1493,7 @@ func (m *SubaccountOrder) Reset() { *m = SubaccountOrder{} } func (m *SubaccountOrder) String() string { return proto.CompactTextString(m) } func (*SubaccountOrder) ProtoMessage() {} func (*SubaccountOrder) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{18} + return fileDescriptor_2116e2804e9c53f9, []int{19} } func (m *SubaccountOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1451,7 +1538,7 @@ func (m *SubaccountOrderData) Reset() { *m = SubaccountOrderData{} } func (m *SubaccountOrderData) String() string { return proto.CompactTextString(m) } func (*SubaccountOrderData) ProtoMessage() {} func (*SubaccountOrderData) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{19} + return fileDescriptor_2116e2804e9c53f9, []int{20} } func (m *SubaccountOrderData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1513,7 +1600,7 @@ func (m *DerivativeLimitOrder) Reset() { *m = DerivativeLimitOrder{} } func (m *DerivativeLimitOrder) String() string { return proto.CompactTextString(m) } func (*DerivativeLimitOrder) ProtoMessage() {} func (*DerivativeLimitOrder) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{20} + return fileDescriptor_2116e2804e9c53f9, []int{21} } func (m *DerivativeLimitOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1580,7 +1667,7 @@ func (m *DerivativeMarketOrder) Reset() { *m = DerivativeMarketOrder{} } func (m *DerivativeMarketOrder) String() string { return proto.CompactTextString(m) } func (*DerivativeMarketOrder) ProtoMessage() {} func (*DerivativeMarketOrder) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{21} + return fileDescriptor_2116e2804e9c53f9, []int{22} } func (m *DerivativeMarketOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1642,7 +1729,7 @@ func (m *Position) Reset() { *m = Position{} } func (m *Position) String() string { return proto.CompactTextString(m) } func (*Position) ProtoMessage() {} func (*Position) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{22} + return fileDescriptor_2116e2804e9c53f9, []int{23} } func (m *Position) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1688,7 +1775,7 @@ func (m *MarketOrderIndicator) Reset() { *m = MarketOrderIndicator{} } func (m *MarketOrderIndicator) String() string { return proto.CompactTextString(m) } func (*MarketOrderIndicator) ProtoMessage() {} func (*MarketOrderIndicator) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{23} + return fileDescriptor_2116e2804e9c53f9, []int{24} } func (m *MarketOrderIndicator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1745,7 +1832,7 @@ func (m *TradeLog) Reset() { *m = TradeLog{} } func (m *TradeLog) String() string { return proto.CompactTextString(m) } func (*TradeLog) ProtoMessage() {} func (*TradeLog) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{24} + return fileDescriptor_2116e2804e9c53f9, []int{25} } func (m *TradeLog) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1806,7 +1893,7 @@ func (m *PositionDelta) Reset() { *m = PositionDelta{} } func (m *PositionDelta) String() string { return proto.CompactTextString(m) } func (*PositionDelta) ProtoMessage() {} func (*PositionDelta) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{25} + return fileDescriptor_2116e2804e9c53f9, []int{26} } func (m *PositionDelta) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1855,7 +1942,7 @@ func (m *DerivativeTradeLog) Reset() { *m = DerivativeTradeLog{} } func (m *DerivativeTradeLog) String() string { return proto.CompactTextString(m) } func (*DerivativeTradeLog) ProtoMessage() {} func (*DerivativeTradeLog) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{26} + return fileDescriptor_2116e2804e9c53f9, []int{27} } func (m *DerivativeTradeLog) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1921,7 +2008,7 @@ func (m *SubaccountPosition) Reset() { *m = SubaccountPosition{} } func (m *SubaccountPosition) String() string { return proto.CompactTextString(m) } func (*SubaccountPosition) ProtoMessage() {} func (*SubaccountPosition) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{27} + return fileDescriptor_2116e2804e9c53f9, []int{28} } func (m *SubaccountPosition) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1973,7 +2060,7 @@ func (m *SubaccountDeposit) Reset() { *m = SubaccountDeposit{} } func (m *SubaccountDeposit) String() string { return proto.CompactTextString(m) } func (*SubaccountDeposit) ProtoMessage() {} func (*SubaccountDeposit) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{28} + return fileDescriptor_2116e2804e9c53f9, []int{29} } func (m *SubaccountDeposit) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2025,7 +2112,7 @@ func (m *DepositUpdate) Reset() { *m = DepositUpdate{} } func (m *DepositUpdate) String() string { return proto.CompactTextString(m) } func (*DepositUpdate) ProtoMessage() {} func (*DepositUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{29} + return fileDescriptor_2116e2804e9c53f9, []int{30} } func (m *DepositUpdate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2077,7 +2164,7 @@ func (m *PointsMultiplier) Reset() { *m = PointsMultiplier{} } func (m *PointsMultiplier) String() string { return proto.CompactTextString(m) } func (*PointsMultiplier) ProtoMessage() {} func (*PointsMultiplier) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{30} + return fileDescriptor_2116e2804e9c53f9, []int{31} } func (m *PointsMultiplier) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2117,7 +2204,7 @@ func (m *TradingRewardCampaignBoostInfo) Reset() { *m = TradingRewardCam func (m *TradingRewardCampaignBoostInfo) String() string { return proto.CompactTextString(m) } func (*TradingRewardCampaignBoostInfo) ProtoMessage() {} func (*TradingRewardCampaignBoostInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{31} + return fileDescriptor_2116e2804e9c53f9, []int{32} } func (m *TradingRewardCampaignBoostInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2176,7 +2263,8 @@ func (m *TradingRewardCampaignBoostInfo) GetDerivativeMarketMultipliers() []Poin type CampaignRewardPool struct { StartTimestamp int64 `protobuf:"varint,1,opt,name=start_timestamp,json=startTimestamp,proto3" json:"start_timestamp,omitempty"` - // max_campaign_rewards are the maximum reward amounts to be disbursed at the end of the campaign + // max_campaign_rewards are the maximum reward amounts to be disbursed at the + // end of the campaign MaxCampaignRewards github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,2,rep,name=max_campaign_rewards,json=maxCampaignRewards,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"max_campaign_rewards"` } @@ -2184,7 +2272,7 @@ func (m *CampaignRewardPool) Reset() { *m = CampaignRewardPool{} } func (m *CampaignRewardPool) String() string { return proto.CompactTextString(m) } func (*CampaignRewardPool) ProtoMessage() {} func (*CampaignRewardPool) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{32} + return fileDescriptor_2116e2804e9c53f9, []int{33} } func (m *CampaignRewardPool) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2242,7 +2330,7 @@ func (m *TradingRewardCampaignInfo) Reset() { *m = TradingRewardCampaign func (m *TradingRewardCampaignInfo) String() string { return proto.CompactTextString(m) } func (*TradingRewardCampaignInfo) ProtoMessage() {} func (*TradingRewardCampaignInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{33} + return fileDescriptor_2116e2804e9c53f9, []int{34} } func (m *TradingRewardCampaignInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2310,7 +2398,7 @@ func (m *FeeDiscountTierInfo) Reset() { *m = FeeDiscountTierInfo{} } func (m *FeeDiscountTierInfo) String() string { return proto.CompactTextString(m) } func (*FeeDiscountTierInfo) ProtoMessage() {} func (*FeeDiscountTierInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{34} + return fileDescriptor_2116e2804e9c53f9, []int{35} } func (m *FeeDiscountTierInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2342,11 +2430,13 @@ var xxx_messageInfo_FeeDiscountTierInfo proto.InternalMessageInfo type FeeDiscountSchedule struct { BucketCount uint64 `protobuf:"varint,1,opt,name=bucket_count,json=bucketCount,proto3" json:"bucket_count,omitempty"` BucketDuration int64 `protobuf:"varint,2,opt,name=bucket_duration,json=bucketDuration,proto3" json:"bucket_duration,omitempty"` - // the trading fee quote denoms which will be counted for the fee paid contribution + // the trading fee quote denoms which will be counted for the fee paid + // contribution QuoteDenoms []string `protobuf:"bytes,3,rep,name=quote_denoms,json=quoteDenoms,proto3" json:"quote_denoms,omitempty"` // the fee discount tiers TierInfos []*FeeDiscountTierInfo `protobuf:"bytes,4,rep,name=tier_infos,json=tierInfos,proto3" json:"tier_infos,omitempty"` - // the marketIDs which are disqualified from contributing to the fee paid amount + // the marketIDs which are disqualified from contributing to the fee paid + // amount DisqualifiedMarketIds []string `protobuf:"bytes,5,rep,name=disqualified_market_ids,json=disqualifiedMarketIds,proto3" json:"disqualified_market_ids,omitempty"` } @@ -2354,7 +2444,7 @@ func (m *FeeDiscountSchedule) Reset() { *m = FeeDiscountSchedule{} } func (m *FeeDiscountSchedule) String() string { return proto.CompactTextString(m) } func (*FeeDiscountSchedule) ProtoMessage() {} func (*FeeDiscountSchedule) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{35} + return fileDescriptor_2116e2804e9c53f9, []int{36} } func (m *FeeDiscountSchedule) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2427,7 +2517,7 @@ func (m *FeeDiscountTierTTL) Reset() { *m = FeeDiscountTierTTL{} } func (m *FeeDiscountTierTTL) String() string { return proto.CompactTextString(m) } func (*FeeDiscountTierTTL) ProtoMessage() {} func (*FeeDiscountTierTTL) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{36} + return fileDescriptor_2116e2804e9c53f9, []int{37} } func (m *FeeDiscountTierTTL) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2479,7 +2569,7 @@ func (m *VolumeRecord) Reset() { *m = VolumeRecord{} } func (m *VolumeRecord) String() string { return proto.CompactTextString(m) } func (*VolumeRecord) ProtoMessage() {} func (*VolumeRecord) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{37} + return fileDescriptor_2116e2804e9c53f9, []int{38} } func (m *VolumeRecord) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2517,7 +2607,7 @@ func (m *AccountRewards) Reset() { *m = AccountRewards{} } func (m *AccountRewards) String() string { return proto.CompactTextString(m) } func (*AccountRewards) ProtoMessage() {} func (*AccountRewards) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{38} + return fileDescriptor_2116e2804e9c53f9, []int{39} } func (m *AccountRewards) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2569,7 +2659,7 @@ func (m *TradeRecords) Reset() { *m = TradeRecords{} } func (m *TradeRecords) String() string { return proto.CompactTextString(m) } func (*TradeRecords) ProtoMessage() {} func (*TradeRecords) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{39} + return fileDescriptor_2116e2804e9c53f9, []int{40} } func (m *TradeRecords) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2620,7 +2710,7 @@ func (m *SubaccountIDs) Reset() { *m = SubaccountIDs{} } func (m *SubaccountIDs) String() string { return proto.CompactTextString(m) } func (*SubaccountIDs) ProtoMessage() {} func (*SubaccountIDs) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{40} + return fileDescriptor_2116e2804e9c53f9, []int{41} } func (m *SubaccountIDs) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2666,7 +2756,7 @@ func (m *TradeRecord) Reset() { *m = TradeRecord{} } func (m *TradeRecord) String() string { return proto.CompactTextString(m) } func (*TradeRecord) ProtoMessage() {} func (*TradeRecord) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{41} + return fileDescriptor_2116e2804e9c53f9, []int{42} } func (m *TradeRecord) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2713,7 +2803,7 @@ func (m *Level) Reset() { *m = Level{} } func (m *Level) String() string { return proto.CompactTextString(m) } func (*Level) ProtoMessage() {} func (*Level) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{42} + return fileDescriptor_2116e2804e9c53f9, []int{43} } func (m *Level) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2751,7 +2841,7 @@ func (m *AggregateSubaccountVolumeRecord) Reset() { *m = AggregateSubacc func (m *AggregateSubaccountVolumeRecord) String() string { return proto.CompactTextString(m) } func (*AggregateSubaccountVolumeRecord) ProtoMessage() {} func (*AggregateSubaccountVolumeRecord) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{43} + return fileDescriptor_2116e2804e9c53f9, []int{44} } func (m *AggregateSubaccountVolumeRecord) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2803,7 +2893,7 @@ func (m *AggregateAccountVolumeRecord) Reset() { *m = AggregateAccountVo func (m *AggregateAccountVolumeRecord) String() string { return proto.CompactTextString(m) } func (*AggregateAccountVolumeRecord) ProtoMessage() {} func (*AggregateAccountVolumeRecord) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{44} + return fileDescriptor_2116e2804e9c53f9, []int{45} } func (m *AggregateAccountVolumeRecord) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2855,7 +2945,7 @@ func (m *MarketVolume) Reset() { *m = MarketVolume{} } func (m *MarketVolume) String() string { return proto.CompactTextString(m) } func (*MarketVolume) ProtoMessage() {} func (*MarketVolume) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{45} + return fileDescriptor_2116e2804e9c53f9, []int{46} } func (m *MarketVolume) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2907,7 +2997,7 @@ func (m *DenomDecimals) Reset() { *m = DenomDecimals{} } func (m *DenomDecimals) String() string { return proto.CompactTextString(m) } func (*DenomDecimals) ProtoMessage() {} func (*DenomDecimals) Descriptor() ([]byte, []int) { - return fileDescriptor_2116e2804e9c53f9, []int{46} + return fileDescriptor_2116e2804e9c53f9, []int{47} } func (m *DenomDecimals) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2965,6 +3055,7 @@ func init() { proto.RegisterType((*PerpetualMarketFunding)(nil), "injective.exchange.v1beta1.PerpetualMarketFunding") proto.RegisterType((*DerivativeMarketSettlementInfo)(nil), "injective.exchange.v1beta1.DerivativeMarketSettlementInfo") proto.RegisterType((*NextFundingTimestamp)(nil), "injective.exchange.v1beta1.NextFundingTimestamp") + proto.RegisterType((*MidPriceAndTOB)(nil), "injective.exchange.v1beta1.MidPriceAndTOB") proto.RegisterType((*SpotMarket)(nil), "injective.exchange.v1beta1.SpotMarket") proto.RegisterType((*Deposit)(nil), "injective.exchange.v1beta1.Deposit") proto.RegisterType((*SubaccountTradeNonce)(nil), "injective.exchange.v1beta1.SubaccountTradeNonce") @@ -3010,259 +3101,263 @@ func init() { } var fileDescriptor_2116e2804e9c53f9 = []byte{ - // 4022 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5c, 0x4d, 0x6c, 0x1c, 0x59, - 0x5e, 0x4f, 0x75, 0xb7, 0xed, 0xf6, 0xdf, 0xdd, 0xed, 0xce, 0x73, 0xc7, 0xee, 0x38, 0x89, 0xdd, - 0xd3, 0x99, 0x4c, 0x3c, 0x99, 0x1d, 0x67, 0x27, 0xc0, 0x6a, 0x18, 0xb1, 0x52, 0xfc, 0x39, 0xe9, - 0x59, 0x7f, 0x4d, 0x75, 0x67, 0x56, 0x61, 0x35, 0x5b, 0xfb, 0x5c, 0xf5, 0xec, 0x7e, 0x93, 0xea, - 0xaa, 0x4e, 0xd5, 0x6b, 0xc7, 0x5e, 0x84, 0x84, 0x58, 0x84, 0x58, 0x0b, 0x69, 0x80, 0x03, 0x70, - 0xb1, 0xb4, 0x07, 0x2e, 0x70, 0x00, 0x0e, 0x88, 0xcb, 0xc0, 0x99, 0x3d, 0xce, 0x11, 0xa1, 0x65, - 0x41, 0x99, 0x03, 0x88, 0x03, 0x12, 0xdc, 0x10, 0x12, 0x42, 0xef, 0xa3, 0x3e, 0xfa, 0xc3, 0x1d, - 0x4f, 0xb9, 0xa3, 0x1d, 0xd0, 0x9e, 0xdc, 0xef, 0xeb, 0xf7, 0x7f, 0xef, 0xff, 0xfd, 0x3e, 0xca, - 0xf0, 0x26, 0x75, 0x3e, 0x21, 0x26, 0xa3, 0x47, 0xe4, 0x3e, 0x39, 0x36, 0x9b, 0xd8, 0x39, 0x24, - 0xf7, 0x8f, 0xde, 0xd9, 0x27, 0x0c, 0xbf, 0x13, 0x56, 0x2c, 0xb7, 0x3d, 0x97, 0xb9, 0x68, 0x3e, - 0xec, 0xba, 0x1c, 0xb6, 0xa8, 0xae, 0xf3, 0xa5, 0x43, 0xf7, 0xd0, 0x15, 0xdd, 0xee, 0xf3, 0x5f, - 0x72, 0xc4, 0xfc, 0x82, 0xe9, 0xfa, 0x2d, 0xd7, 0xbf, 0xbf, 0x8f, 0xfd, 0x08, 0xd5, 0x74, 0xa9, - 0xa3, 0xda, 0xef, 0x44, 0xc4, 0x5d, 0x0f, 0x9b, 0x76, 0xd4, 0x49, 0x16, 0x65, 0xb7, 0xea, 0xe7, - 0x25, 0x18, 0xdf, 0xc3, 0x1e, 0x6e, 0xf9, 0x88, 0xc0, 0xa2, 0xdf, 0x76, 0x99, 0xd1, 0xc2, 0xde, - 0x53, 0xc2, 0x0c, 0xea, 0xf8, 0x0c, 0x3b, 0xcc, 0xb0, 0xa9, 0xcf, 0xa8, 0x73, 0x68, 0x1c, 0x10, - 0x52, 0xd6, 0x2a, 0xda, 0xd2, 0xd4, 0x83, 0xeb, 0xcb, 0x92, 0xf6, 0x32, 0xa7, 0x1d, 0x4c, 0x73, - 0x79, 0xcd, 0xa5, 0xce, 0x6a, 0xe6, 0xc7, 0x3f, 0x5d, 0xbc, 0xa2, 0xdf, 0xe0, 0x38, 0xdb, 0x02, - 0xa6, 0x26, 0x51, 0xb6, 0x24, 0xc8, 0x26, 0x21, 0xe8, 0x19, 0xdc, 0xb1, 0x88, 0x47, 0x8f, 0x30, - 0x9f, 0xdb, 0x30, 0x62, 0xa9, 0x8b, 0x11, 0x7b, 0x2d, 0x42, 0x3b, 0x8f, 0xa4, 0x0d, 0x37, 0x2c, - 0x72, 0x80, 0x3b, 0x36, 0x33, 0xd4, 0x0a, 0x9f, 0x12, 0x8f, 0xd3, 0x30, 0x3c, 0xcc, 0x48, 0x39, - 0x5d, 0xd1, 0x96, 0x26, 0x57, 0x97, 0x39, 0xda, 0x3f, 0xfc, 0x74, 0xf1, 0x8d, 0x43, 0xca, 0x9a, - 0x9d, 0xfd, 0x65, 0xd3, 0x6d, 0xdd, 0x57, 0x3c, 0x96, 0x7f, 0xde, 0xf6, 0xad, 0xa7, 0xf7, 0xd9, - 0x49, 0x9b, 0xf8, 0xcb, 0xeb, 0xc4, 0xd4, 0xe7, 0x14, 0x64, 0x5d, 0xac, 0xf5, 0x29, 0xf1, 0x36, - 0x09, 0xd1, 0x31, 0xeb, 0xa7, 0xc6, 0xba, 0xa9, 0x65, 0x2e, 0x4d, 0xad, 0x11, 0xa7, 0x76, 0x0c, - 0xaf, 0x05, 0xd4, 0xba, 0xd8, 0xda, 0x45, 0x73, 0x2c, 0x11, 0xcd, 0x5b, 0x0a, 0x78, 0x3d, 0xc6, - 0xe0, 0x97, 0x52, 0xee, 0x59, 0xed, 0xf8, 0x88, 0x28, 0x77, 0xad, 0xd9, 0x85, 0x9b, 0x01, 0x65, - 0xea, 0x50, 0x46, 0xb1, 0xcd, 0xf5, 0xe8, 0x90, 0x3a, 0x9c, 0x26, 0x75, 0xcb, 0x13, 0x89, 0x88, - 0x5e, 0x57, 0x98, 0x35, 0x09, 0xb9, 0x2d, 0x10, 0x75, 0x0e, 0x88, 0x9e, 0x43, 0x25, 0x20, 0xd8, - 0xc2, 0xd4, 0x61, 0xc4, 0xc1, 0x8e, 0x49, 0xba, 0x89, 0x66, 0x2f, 0xb5, 0xd2, 0xed, 0x08, 0x36, - 0x4e, 0xf8, 0x5d, 0x28, 0x07, 0x84, 0x0f, 0x3a, 0x8e, 0xc5, 0x4d, 0x83, 0xf7, 0xf3, 0x8e, 0xb0, - 0x5d, 0x9e, 0xac, 0x68, 0x4b, 0x69, 0x7d, 0x56, 0xb5, 0x6f, 0xca, 0xe6, 0x9a, 0x6a, 0x45, 0x6f, - 0x42, 0x31, 0x18, 0xd1, 0xea, 0xd8, 0x8c, 0xb6, 0x6d, 0x52, 0x06, 0x31, 0x62, 0x5a, 0xd5, 0x6f, - 0xab, 0x6a, 0x64, 0xc2, 0xac, 0x47, 0x6c, 0x7c, 0xa2, 0xe4, 0xe6, 0x37, 0xb1, 0xa7, 0xa4, 0x37, - 0x95, 0x68, 0x4d, 0x33, 0x0a, 0x6d, 0x93, 0x90, 0x3a, 0xc7, 0x12, 0x32, 0x63, 0xb0, 0x18, 0xac, - 0xa4, 0xe9, 0x76, 0x3c, 0xfb, 0x24, 0x5c, 0x10, 0xa7, 0x64, 0x98, 0xb8, 0x5d, 0xce, 0x25, 0xa2, - 0x16, 0x18, 0xdb, 0x23, 0x81, 0xaa, 0xd8, 0xc0, 0x49, 0xae, 0xe1, 0x76, 0x5c, 0x53, 0x14, 0x55, - 0xc1, 0x3e, 0xe2, 0x33, 0xb9, 0xc0, 0xfc, 0xa5, 0x34, 0x45, 0x92, 0xac, 0x29, 0x44, 0xb1, 0xcc, - 0x75, 0x58, 0x6c, 0xe1, 0xe3, 0xb8, 0x41, 0xb8, 0x9e, 0x45, 0x3c, 0xc3, 0xa7, 0x16, 0x31, 0x4c, - 0xb7, 0xe3, 0xb0, 0x72, 0xa1, 0xa2, 0x2d, 0xe5, 0xf5, 0x1b, 0x2d, 0x7c, 0x1c, 0xa9, 0xf7, 0x2e, - 0xef, 0x54, 0xa7, 0x16, 0x59, 0xe3, 0x5d, 0xd0, 0x6f, 0x69, 0x70, 0x97, 0x3a, 0x9f, 0x18, 0x1e, - 0x79, 0x8e, 0x3d, 0xcb, 0xf0, 0xb9, 0x51, 0x59, 0x86, 0x47, 0x9e, 0x75, 0xa8, 0x47, 0x5a, 0xc4, - 0x61, 0x06, 0x6b, 0x7a, 0xc4, 0x6f, 0xba, 0xb6, 0x55, 0x9e, 0xfe, 0xd2, 0x4b, 0xa8, 0x39, 0x4c, - 0xbf, 0x4d, 0x9d, 0x4f, 0x74, 0x81, 0x5e, 0x17, 0xe0, 0x7a, 0x84, 0xdd, 0x08, 0xa0, 0xd1, 0xfb, - 0x50, 0x61, 0x1e, 0x96, 0x42, 0x12, 0x7d, 0x7d, 0xe3, 0x88, 0x48, 0x07, 0x6d, 0x75, 0x84, 0xd6, - 0x3b, 0xe5, 0xa2, 0xd0, 0xa9, 0x5b, 0xaa, 0x9f, 0x84, 0xf4, 0x3f, 0x92, 0xbd, 0xd6, 0x55, 0x27, - 0x2e, 0x06, 0x9b, 0x3e, 0xeb, 0x50, 0x0b, 0x33, 0xd7, 0x0b, 0x57, 0x15, 0xe9, 0xd9, 0xd5, 0x64, - 0x62, 0x88, 0x30, 0xd5, 0x52, 0x42, 0x6d, 0x3b, 0x86, 0x37, 0xf7, 0xa9, 0x83, 0xbd, 0x13, 0xc3, - 0x6d, 0xf3, 0x19, 0xf8, 0xc3, 0x02, 0x0d, 0xba, 0x58, 0xa0, 0x79, 0x5d, 0x22, 0xee, 0x4a, 0xc0, - 0xf3, 0x62, 0xcd, 0x6f, 0x68, 0x50, 0xc1, 0xcc, 0x6d, 0x51, 0x33, 0x20, 0x29, 0x15, 0x00, 0x9b, - 0x26, 0xf1, 0x7d, 0xc3, 0x26, 0x47, 0xc4, 0x2e, 0xcf, 0x54, 0xb4, 0xa5, 0xc2, 0x83, 0x77, 0x97, - 0xcf, 0x8f, 0xfa, 0xcb, 0x2b, 0x02, 0x43, 0x52, 0x11, 0xda, 0xb1, 0x22, 0x00, 0xb6, 0xf8, 0x78, - 0xfd, 0x26, 0x1e, 0xd2, 0x8a, 0x7e, 0xa0, 0xc1, 0x5d, 0x11, 0x79, 0x06, 0xcd, 0x83, 0x5b, 0xb8, - 0x72, 0x08, 0x94, 0x78, 0xe5, 0x52, 0x22, 0xce, 0x57, 0x39, 0x7c, 0xdf, 0x0c, 0x37, 0x09, 0xd9, - 0x0e, 0x91, 0xd1, 0xa7, 0x1a, 0xbc, 0x1d, 0x33, 0x83, 0x0b, 0xcc, 0xe5, 0x5a, 0xa2, 0xb9, 0x2c, - 0x45, 0x44, 0x5e, 0x32, 0xa3, 0x3f, 0xd4, 0xe0, 0x9d, 0x1e, 0xad, 0xb8, 0xc0, 0xac, 0x66, 0x13, - 0xcd, 0xea, 0xad, 0x2e, 0x65, 0x79, 0xc9, 0xc4, 0x28, 0x5c, 0x6f, 0x51, 0x87, 0xb6, 0xb0, 0x6d, - 0x88, 0xac, 0xcc, 0x74, 0xed, 0x28, 0x82, 0xce, 0x25, 0xa2, 0x3f, 0xab, 0x00, 0xf7, 0x14, 0x5e, - 0x10, 0x3a, 0xbf, 0x03, 0x6f, 0x51, 0x3f, 0xb4, 0x82, 0xfe, 0x44, 0xcc, 0xc6, 0x1d, 0xc7, 0x6c, - 0x1a, 0xc4, 0xc1, 0xfb, 0x36, 0xb1, 0xca, 0xe5, 0x8a, 0xb6, 0x94, 0xd5, 0xdf, 0xa0, 0xbe, 0x52, - 0xf4, 0xf5, 0x9e, 0x5c, 0x6b, 0x4b, 0x74, 0xdf, 0x90, 0xbd, 0xdf, 0xcb, 0xfc, 0xeb, 0x8f, 0x16, - 0xb5, 0xea, 0xa7, 0x1a, 0xcc, 0xc8, 0xd6, 0xee, 0x55, 0xde, 0x80, 0xc9, 0xc0, 0x08, 0x2d, 0x91, - 0x49, 0x4e, 0xea, 0x59, 0x59, 0x51, 0xb3, 0xd0, 0x63, 0x28, 0xf4, 0xf0, 0x3d, 0x95, 0x68, 0xdd, - 0xf9, 0x83, 0x38, 0xcd, 0xf7, 0x32, 0xbf, 0xf3, 0xa3, 0xc5, 0x2b, 0xd5, 0x3f, 0xcf, 0x42, 0xb1, - 0x77, 0xe6, 0x68, 0x16, 0xc6, 0x19, 0x35, 0x9f, 0x12, 0x4f, 0xcd, 0x45, 0x95, 0xd0, 0x22, 0x4c, - 0xc9, 0x0c, 0xd9, 0xe0, 0x8e, 0x40, 0x4e, 0x43, 0x07, 0x59, 0xb5, 0x8a, 0x7d, 0x82, 0x5e, 0x83, - 0x9c, 0xea, 0xf0, 0xac, 0xe3, 0x06, 0xe9, 0xa3, 0xae, 0x06, 0x7d, 0xc8, 0xab, 0xd0, 0x46, 0x88, - 0xc1, 0x67, 0x26, 0x52, 0xbe, 0xc2, 0x83, 0xd7, 0x63, 0xe6, 0xae, 0x72, 0xf0, 0xc0, 0xd8, 0x77, - 0x45, 0xb1, 0x71, 0xd2, 0x26, 0x01, 0x25, 0xfe, 0x1b, 0x2d, 0xc3, 0x8c, 0x82, 0xf1, 0x4d, 0x6c, - 0x13, 0xe3, 0x00, 0x9b, 0xcc, 0xf5, 0x44, 0x36, 0x97, 0xd7, 0xaf, 0xca, 0xa6, 0x3a, 0x6f, 0xd9, - 0x14, 0x0d, 0x7c, 0xea, 0x62, 0x4a, 0x86, 0x45, 0x1c, 0xb7, 0x25, 0x73, 0x2f, 0x1d, 0x44, 0xd5, - 0x3a, 0xaf, 0xe9, 0x16, 0xc1, 0x44, 0x8f, 0x08, 0xbe, 0x07, 0xa5, 0x81, 0xd9, 0x54, 0xb2, 0xc4, - 0x06, 0xd1, 0xfe, 0x34, 0xaa, 0x09, 0xe5, 0x73, 0xd3, 0xa7, 0xc9, 0x84, 0x6a, 0x3e, 0x38, 0x6f, - 0x6a, 0x40, 0xa1, 0x27, 0x05, 0x86, 0x44, 0xf8, 0xb9, 0x56, 0x3c, 0xef, 0x6c, 0x40, 0xa1, 0x27, - 0xbd, 0x4d, 0x96, 0x20, 0xe5, 0x58, 0x1c, 0xf5, 0xfc, 0xf4, 0x2b, 0x37, 0xba, 0xf4, 0xab, 0x02, - 0x53, 0xd4, 0xdf, 0x23, 0x5e, 0x9b, 0xb0, 0x0e, 0xb6, 0x45, 0xde, 0x93, 0xd5, 0xe3, 0x55, 0xe8, - 0x21, 0x8c, 0xfb, 0x0c, 0xb3, 0x8e, 0x2f, 0x12, 0x94, 0xc2, 0x83, 0xa5, 0x61, 0xd1, 0x49, 0xda, - 0x50, 0x5d, 0xf4, 0xd7, 0xd5, 0x38, 0xf4, 0x31, 0xcc, 0xb4, 0xa8, 0x63, 0xb4, 0x3d, 0x6a, 0x12, - 0x83, 0x5b, 0x93, 0xe1, 0xd3, 0xef, 0x93, 0x04, 0x09, 0x0a, 0x5f, 0x45, 0xb1, 0x45, 0x9d, 0x3d, - 0x8e, 0xd4, 0xa0, 0xe6, 0xd3, 0x3a, 0xfd, 0xbe, 0xe0, 0x13, 0x87, 0x7f, 0xd6, 0xc1, 0x0e, 0xa3, - 0xec, 0x24, 0x46, 0xa1, 0x98, 0x8c, 0x4f, 0x2d, 0xea, 0x7c, 0xa8, 0xc0, 0x02, 0x22, 0xca, 0x61, - 0xfc, 0x49, 0x16, 0x66, 0x56, 0xfb, 0xa3, 0xfd, 0xb9, 0x3e, 0xe3, 0x36, 0xe4, 0x03, 0x43, 0x3d, - 0x69, 0xed, 0xbb, 0xb6, 0xf2, 0x1a, 0xca, 0x4f, 0xd4, 0x45, 0x1d, 0xba, 0x0b, 0xd3, 0xaa, 0x53, - 0xdb, 0x73, 0x8f, 0xa8, 0x45, 0x3c, 0xe5, 0x3a, 0x0a, 0xb2, 0x7a, 0x4f, 0xd5, 0xfe, 0xac, 0xbc, - 0xc7, 0x3b, 0x50, 0x22, 0xc7, 0x6d, 0x2a, 0x53, 0x36, 0x83, 0xd1, 0x16, 0xf1, 0x19, 0x6e, 0xb5, - 0x85, 0x1b, 0x49, 0xeb, 0x33, 0x51, 0x5b, 0x23, 0x68, 0xe2, 0x43, 0x7c, 0xc2, 0x98, 0xad, 0x72, - 0xd2, 0x70, 0xc8, 0x84, 0x1c, 0x12, 0xb5, 0x45, 0x43, 0x4a, 0x30, 0x86, 0xad, 0x16, 0x75, 0xa4, - 0x5b, 0xd1, 0x65, 0xa1, 0xd7, 0x73, 0x4d, 0x0e, 0xf7, 0x5c, 0xd0, 0xe3, 0xb9, 0xfa, 0xad, 0x7d, - 0xea, 0x95, 0x58, 0x7b, 0xee, 0x95, 0x5a, 0x7b, 0x7e, 0x74, 0xd6, 0xfe, 0x73, 0x5b, 0xe6, 0x44, - 0x9e, 0x40, 0x31, 0xa6, 0x9d, 0x62, 0x29, 0xb1, 0x9d, 0x86, 0xf6, 0x25, 0xe0, 0xa7, 0x23, 0x1c, - 0xb1, 0x0e, 0xe5, 0x26, 0xfe, 0x3b, 0x05, 0x73, 0x1b, 0xdc, 0x2c, 0x4e, 0x36, 0x3b, 0xac, 0xe3, - 0x91, 0x70, 0x53, 0x70, 0xe0, 0x0e, 0xcf, 0x76, 0xce, 0x33, 0xb5, 0xd4, 0xf9, 0xa6, 0xf6, 0x75, - 0x28, 0xb1, 0xe7, 0xb8, 0xcd, 0xf7, 0x82, 0x5e, 0xdc, 0xd4, 0xd2, 0x62, 0x08, 0xe2, 0x6d, 0x75, - 0xde, 0x14, 0x8d, 0xf8, 0x4d, 0x0d, 0xde, 0x88, 0x53, 0x89, 0x46, 0x4b, 0xa9, 0x9a, 0x9d, 0x56, - 0xc7, 0x16, 0x19, 0x51, 0xc2, 0x33, 0xa9, 0x6a, 0x6c, 0x9e, 0x01, 0x79, 0xc1, 0x9e, 0xb5, 0x10, - 0x79, 0xa0, 0x0c, 0x92, 0x9d, 0x46, 0xf5, 0xca, 0xa0, 0xfa, 0x93, 0x14, 0xcc, 0x84, 0xe1, 0xeb, - 0xa2, 0x9c, 0x27, 0x30, 0x77, 0xde, 0xf1, 0x43, 0xb2, 0x84, 0xb3, 0xd4, 0x1c, 0x74, 0xee, 0xf0, - 0x3d, 0x28, 0x0d, 0x3c, 0x6f, 0x48, 0x76, 0xd4, 0x88, 0x9a, 0xfd, 0x07, 0x0d, 0xbf, 0x08, 0xb3, - 0x0e, 0x39, 0x8e, 0x8e, 0x85, 0x22, 0x8d, 0xc8, 0x08, 0x8d, 0x28, 0xf1, 0x56, 0x35, 0xab, 0x48, - 0x27, 0x62, 0xa7, 0x42, 0xe1, 0x39, 0xd2, 0x58, 0xd7, 0xa9, 0x50, 0x70, 0x80, 0x54, 0xfd, 0x2f, - 0x0d, 0x66, 0x7b, 0xd8, 0xab, 0xe0, 0xd0, 0xc7, 0x80, 0x22, 0xe5, 0x09, 0x66, 0x20, 0x59, 0xfd, - 0xa5, 0xd7, 0x76, 0x35, 0x42, 0x0a, 0xe0, 0x9f, 0x40, 0x31, 0x06, 0x2f, 0x75, 0x26, 0x99, 0x70, - 0xa6, 0x23, 0x1c, 0xa1, 0x33, 0xe8, 0x0e, 0x14, 0x6c, 0xec, 0xf7, 0xdb, 0x4f, 0x9e, 0xd7, 0x86, - 0x6c, 0xaa, 0xfe, 0xb1, 0x06, 0x0b, 0xbd, 0x1b, 0x86, 0x7a, 0xa8, 0x7e, 0x2f, 0xd7, 0xb2, 0x41, - 0x5a, 0x9f, 0x1a, 0x8d, 0xd6, 0x7f, 0x13, 0x4a, 0x3b, 0x83, 0x24, 0x7b, 0x07, 0x0a, 0x42, 0x1f, - 0xa2, 0x95, 0x69, 0x72, 0x65, 0xbc, 0x36, 0xb6, 0xb2, 0x31, 0x80, 0x7a, 0x78, 0x3a, 0x7f, 0x6e, - 0x42, 0x73, 0x0b, 0x80, 0xef, 0x7e, 0x54, 0x38, 0x96, 0xd9, 0xcc, 0x24, 0xaf, 0x91, 0xd1, 0xb8, - 0x27, 0x5c, 0xa7, 0xfb, 0xc2, 0x75, 0x7f, 0x44, 0xce, 0xbc, 0x92, 0x88, 0x3c, 0xf6, 0x4a, 0x23, - 0xf2, 0xf8, 0xe8, 0x22, 0xf2, 0xd0, 0x9d, 0x57, 0x14, 0xae, 0xb3, 0xa3, 0x0d, 0xd7, 0x93, 0xaf, - 0x3c, 0x5c, 0xc3, 0xc8, 0xc2, 0x75, 0xf5, 0x33, 0x0d, 0x26, 0xd6, 0x49, 0xdb, 0xf5, 0x29, 0x43, - 0xdf, 0x81, 0xab, 0xf8, 0x08, 0x53, 0x1b, 0xef, 0x8b, 0x7d, 0xb8, 0xcd, 0xf7, 0x77, 0x09, 0x1d, - 0x4c, 0x31, 0x04, 0x5a, 0x95, 0x38, 0xa8, 0x0e, 0x79, 0xe6, 0x32, 0x6c, 0x87, 0xc0, 0xa9, 0x84, - 0x5a, 0xc4, 0x41, 0x14, 0x68, 0xf5, 0x6b, 0x50, 0xaa, 0x77, 0xf6, 0xb1, 0x29, 0xce, 0x78, 0x1b, - 0x1e, 0xb6, 0xc8, 0x8e, 0xcb, 0x89, 0x95, 0x60, 0xcc, 0x71, 0x83, 0xd9, 0xe7, 0x75, 0x59, 0xa8, - 0xfe, 0x8b, 0x06, 0x93, 0xe2, 0x20, 0x48, 0xf8, 0x92, 0xdb, 0x90, 0xf7, 0xc3, 0xb1, 0x91, 0x3f, - 0xc9, 0x45, 0x95, 0x35, 0x8b, 0x77, 0x12, 0x6a, 0x4f, 0x4c, 0xda, 0xa6, 0xc4, 0x61, 0xc1, 0x1e, - 0xe3, 0x80, 0x10, 0x3d, 0xa8, 0x43, 0xeb, 0x30, 0x26, 0xbd, 0x4d, 0xb2, 0x40, 0x23, 0x07, 0xa3, - 0x0f, 0x20, 0x1b, 0x88, 0x3a, 0xa1, 0xdd, 0x86, 0xe3, 0xab, 0x9f, 0xa6, 0x60, 0x92, 0x3b, 0x1c, - 0xb1, 0xda, 0xe1, 0x5e, 0xf3, 0x03, 0x00, 0x79, 0x02, 0x47, 0x9d, 0x03, 0x57, 0x5d, 0xff, 0xdd, - 0x19, 0x66, 0x0a, 0x21, 0x07, 0xd5, 0x09, 0xed, 0xa4, 0x1b, 0xb2, 0x74, 0x3d, 0xc0, 0x12, 0x5b, - 0xa8, 0xb4, 0x30, 0xab, 0x97, 0x63, 0x89, 0x3d, 0x94, 0x44, 0x11, 0x5b, 0x28, 0xae, 0x29, 0x1e, - 0x3d, 0x3c, 0x24, 0x9e, 0x72, 0xe2, 0x99, 0x44, 0xe9, 0x63, 0x4e, 0x81, 0x48, 0x0f, 0xfe, 0x22, - 0x05, 0x05, 0xce, 0x91, 0x2d, 0xda, 0xa2, 0x8a, 0x2d, 0xdd, 0x2b, 0xd7, 0x46, 0xb8, 0xf2, 0x54, - 0xc2, 0x95, 0x7f, 0x00, 0xd9, 0x03, 0x6a, 0x0b, 0xb3, 0x49, 0xa8, 0x4b, 0xe1, 0xf8, 0x57, 0xc2, - 0x45, 0x1e, 0xa1, 0xe4, 0x32, 0x9b, 0xd8, 0x6f, 0x8a, 0x38, 0x90, 0x53, 0xf3, 0x7f, 0x84, 0xfd, - 0x66, 0xf5, 0xdf, 0x52, 0x30, 0x1d, 0xc5, 0xb9, 0xd1, 0x73, 0xf9, 0x43, 0xc8, 0x29, 0xef, 0x61, - 0x88, 0x5b, 0x98, 0x64, 0x2e, 0x64, 0x4a, 0x61, 0x3c, 0x72, 0x6d, 0xab, 0x67, 0x45, 0xe9, 0x9e, - 0x15, 0xf5, 0xc8, 0x35, 0x33, 0x2a, 0x8d, 0x1e, 0x1b, 0x81, 0x46, 0xff, 0x63, 0x0a, 0xa6, 0x7b, - 0xee, 0xb2, 0xfe, 0xaf, 0x59, 0xfa, 0x26, 0x8c, 0xcb, 0xe3, 0xc8, 0x84, 0x0e, 0x4f, 0x8d, 0x7e, - 0x35, 0xfc, 0xfd, 0x83, 0x0c, 0xdc, 0x88, 0x82, 0x8b, 0x98, 0xff, 0xbe, 0xeb, 0x3e, 0xdd, 0x26, - 0x0c, 0x5b, 0x98, 0x61, 0xf4, 0xcb, 0x70, 0xfd, 0x08, 0x3b, 0xdc, 0xdc, 0x0c, 0x9b, 0x3b, 0x15, - 0x75, 0x91, 0x21, 0xaf, 0x1b, 0x65, 0xdc, 0x99, 0x55, 0x1d, 0x22, 0xa7, 0x23, 0x6f, 0x1a, 0x1f, - 0xc2, 0x2d, 0x8f, 0x58, 0x1d, 0x93, 0x18, 0xae, 0x63, 0x9f, 0x0c, 0x18, 0x9e, 0x12, 0xc3, 0xaf, - 0xcb, 0x4e, 0xbb, 0x8e, 0x7d, 0xd2, 0x8b, 0xe0, 0xc3, 0x02, 0x3e, 0x3c, 0xf4, 0xc8, 0x21, 0xdf, - 0x47, 0xc5, 0xb1, 0xc2, 0x10, 0x92, 0xcc, 0x7f, 0xdc, 0x08, 0x51, 0xf5, 0x90, 0x76, 0x90, 0x33, - 0x20, 0x1b, 0xe6, 0x23, 0xa2, 0xc1, 0xda, 0x2f, 0x19, 0xb3, 0xca, 0x21, 0xe2, 0x47, 0x12, 0x30, - 0xa4, 0xb6, 0x01, 0x8b, 0x01, 0x0d, 0xd3, 0x75, 0x2c, 0xca, 0x77, 0xbc, 0xd8, 0xee, 0x62, 0x93, - 0x3c, 0x55, 0xbb, 0xa9, 0xba, 0xad, 0x45, 0xbd, 0x62, 0x9c, 0xda, 0x82, 0xdb, 0x71, 0xfe, 0x9c, - 0x07, 0x35, 0x2e, 0xa0, 0x16, 0x23, 0x8e, 0x0f, 0x44, 0xab, 0xfe, 0x9d, 0x06, 0xd3, 0x3d, 0x4a, - 0x11, 0x85, 0x7f, 0x6d, 0x54, 0xe1, 0x3f, 0x75, 0xb9, 0xf0, 0x8f, 0xaa, 0x90, 0xa3, 0x7e, 0x24, - 0x40, 0xa1, 0x0b, 0x59, 0xbd, 0xab, 0xae, 0xfa, 0x1c, 0x66, 0x7a, 0x16, 0xb2, 0xce, 0xb5, 0x7a, - 0x05, 0xc6, 0x04, 0x5b, 0x94, 0xa7, 0x7e, 0x6b, 0x98, 0x4d, 0xf7, 0x8c, 0xd7, 0xe5, 0xc8, 0x1e, - 0x97, 0x9a, 0xea, 0x0d, 0x12, 0x7f, 0x99, 0x86, 0x52, 0xe4, 0xb7, 0xbe, 0xd2, 0xf1, 0x38, 0xf2, - 0x4f, 0xe9, 0x4b, 0xf9, 0xa7, 0x78, 0x5c, 0xcf, 0x8c, 0x3a, 0xae, 0x8f, 0x8d, 0x3c, 0xae, 0x8f, - 0xf7, 0x8a, 0xec, 0xaf, 0xd3, 0x70, 0xad, 0x77, 0x67, 0xfe, 0xff, 0x5d, 0x66, 0xbb, 0x30, 0xa5, - 0xae, 0xca, 0x44, 0xaa, 0x91, 0x4c, 0x6c, 0x20, 0x21, 0x44, 0xa6, 0xf1, 0xb3, 0x10, 0xdc, 0x7f, - 0xa4, 0x20, 0xbb, 0xc7, 0xf7, 0x76, 0xd4, 0x75, 0xd0, 0x2c, 0x8c, 0x53, 0x7f, 0xcb, 0x55, 0x87, - 0x46, 0x59, 0x5d, 0x95, 0x46, 0xea, 0x79, 0x76, 0x61, 0x8a, 0x38, 0xcc, 0x3b, 0x31, 0x2e, 0xb3, - 0x21, 0x02, 0x01, 0x21, 0x17, 0x38, 0xaa, 0x14, 0xa1, 0x09, 0xe5, 0xfe, 0xd3, 0x33, 0x43, 0x10, - 0x4a, 0x78, 0x9e, 0x31, 0xdb, 0x77, 0x86, 0xb6, 0xc1, 0xd1, 0xaa, 0x35, 0x28, 0xc5, 0x2c, 0xa4, - 0xe6, 0x58, 0xd4, 0xc4, 0xcc, 0x7d, 0x49, 0x6e, 0x56, 0x82, 0x31, 0xea, 0xaf, 0x76, 0xa4, 0x00, - 0xb2, 0xba, 0x2c, 0x54, 0x7f, 0x92, 0x82, 0xac, 0xd8, 0xd5, 0x6e, 0xb9, 0xdd, 0x62, 0xd2, 0x2e, - 0x29, 0xa6, 0x30, 0x64, 0xa5, 0x2e, 0x13, 0xb2, 0xfa, 0x76, 0xd0, 0x32, 0x7d, 0xee, 0xde, 0x41, - 0x3f, 0x84, 0xf4, 0x01, 0x49, 0xea, 0xf6, 0xf8, 0xd0, 0x97, 0x6c, 0x3a, 0xd0, 0xbb, 0x70, 0xad, - 0x6b, 0x8b, 0x6e, 0x60, 0xcb, 0xf2, 0x88, 0xef, 0x4b, 0x6b, 0x10, 0x6e, 0x46, 0xd3, 0x67, 0xe2, - 0x1b, 0xf6, 0x15, 0xd9, 0xa1, 0xfa, 0x59, 0x0a, 0xf2, 0x81, 0x75, 0xac, 0x13, 0x9b, 0x61, 0x34, - 0x07, 0x13, 0xd4, 0x37, 0xec, 0x7e, 0x1b, 0xf9, 0x18, 0x10, 0x39, 0x26, 0x66, 0x47, 0x1c, 0xea, - 0x5f, 0xd2, 0x5a, 0xae, 0x86, 0x48, 0x61, 0xae, 0xf3, 0x04, 0x8a, 0x11, 0xfc, 0xa5, 0xdc, 0xd7, - 0x74, 0x88, 0x23, 0x6f, 0xe6, 0xd1, 0xb7, 0x21, 0xaa, 0xea, 0xdb, 0x09, 0x7e, 0x19, 0xe4, 0x42, - 0x08, 0x23, 0xf3, 0xe3, 0x7f, 0x4f, 0x01, 0x8a, 0x3d, 0x15, 0x0d, 0xd4, 0x74, 0xe0, 0xb1, 0x4a, - 0xaf, 0x52, 0xec, 0x41, 0xa1, 0xad, 0x18, 0x6f, 0x58, 0x9c, 0xf3, 0x6a, 0x3b, 0xf2, 0xe6, 0x30, - 0x77, 0xdf, 0x25, 0x2a, 0x3d, 0xdf, 0xee, 0x92, 0xdc, 0x26, 0x8c, 0xb7, 0xf1, 0x89, 0xdb, 0x61, - 0x49, 0xdd, 0xbe, 0x1c, 0xfd, 0x55, 0x56, 0xd7, 0x5f, 0x03, 0x14, 0x65, 0x5c, 0xa1, 0x57, 0x7f, - 0x08, 0xd9, 0x80, 0x13, 0x2a, 0xfe, 0xbe, 0x7e, 0x11, 0x26, 0xea, 0xe1, 0xa8, 0x7e, 0x89, 0xa5, - 0xfa, 0x25, 0x56, 0x7d, 0x0e, 0x57, 0x23, 0xe2, 0xc1, 0x81, 0xe1, 0x85, 0x64, 0xfd, 0x4d, 0x98, - 0xb0, 0x64, 0x7f, 0x25, 0xe4, 0xdb, 0xc3, 0xe6, 0xa7, 0xa0, 0xf5, 0x60, 0x4c, 0xb5, 0x0d, 0x79, - 0x55, 0xf7, 0xb8, 0x6d, 0x61, 0x26, 0xce, 0xf6, 0xe4, 0x01, 0xb8, 0xf4, 0xa1, 0xb2, 0x80, 0x6a, - 0x90, 0x55, 0x23, 0xfc, 0x72, 0xaa, 0x92, 0x5e, 0x9a, 0x7a, 0xf0, 0xf6, 0xc5, 0x52, 0xd7, 0x80, - 0x60, 0x38, 0xbc, 0xfa, 0x42, 0x83, 0xe2, 0x9e, 0x4b, 0x1d, 0xe6, 0xc7, 0xde, 0x51, 0x1d, 0xc0, - 0x9c, 0x3c, 0x5b, 0x6f, 0x8b, 0x96, 0xf8, 0x9b, 0xa9, 0x64, 0xce, 0xf8, 0x9a, 0x80, 0x1b, 0x44, - 0x87, 0x9d, 0x43, 0x27, 0x99, 0xb7, 0xb9, 0xc6, 0x06, 0xd1, 0xa9, 0xfe, 0x4f, 0x0a, 0x16, 0x1a, - 0xf1, 0xe7, 0xa3, 0x6b, 0xb8, 0xd5, 0xc6, 0xf4, 0xd0, 0x59, 0x75, 0x5d, 0x5f, 0x5e, 0xb6, 0xfc, - 0x12, 0xcc, 0xed, 0xf3, 0x02, 0xb1, 0x8c, 0xae, 0x4f, 0x14, 0x2c, 0xbf, 0xac, 0x55, 0xd2, 0x4b, - 0x93, 0x7a, 0x49, 0x35, 0x47, 0x47, 0x3e, 0x35, 0xcb, 0x47, 0x9f, 0xc0, 0x5c, 0xbc, 0x7b, 0xb4, - 0x80, 0x40, 0x30, 0x5f, 0x1b, 0xae, 0x9f, 0xdd, 0x13, 0x55, 0x69, 0xe2, 0xb5, 0xe8, 0xe3, 0x86, - 0xa8, 0xcd, 0x47, 0x2b, 0x70, 0x2b, 0x98, 0xe2, 0x80, 0xcf, 0x1b, 0x2c, 0xbf, 0x9c, 0x16, 0x13, - 0x9d, 0x57, 0x9d, 0x7a, 0x73, 0x58, 0x3e, 0xdd, 0x23, 0xb8, 0xd5, 0x3f, 0x34, 0x3e, 0xe9, 0x4c, - 0xe2, 0x49, 0xdf, 0xe8, 0xfd, 0x48, 0x22, 0x36, 0xf5, 0xea, 0xdf, 0x68, 0x80, 0x02, 0x9e, 0x4b, - 0x09, 0xec, 0xb9, 0xf2, 0xbd, 0x4a, 0xef, 0x65, 0xb3, 0xbc, 0x52, 0x2a, 0xf8, 0xdd, 0x17, 0xcd, - 0xbf, 0x0e, 0xa5, 0x16, 0x3e, 0x36, 0x4c, 0x05, 0x11, 0xbc, 0x15, 0x56, 0x3c, 0x1e, 0xf2, 0xae, - 0xf6, 0xeb, 0x7c, 0x6e, 0x7f, 0xf6, 0x4f, 0x8b, 0x4b, 0x17, 0x50, 0x20, 0x3e, 0xc0, 0xd7, 0x51, - 0x0b, 0x1f, 0x77, 0x4f, 0xd5, 0xaf, 0xfe, 0x69, 0x0a, 0xae, 0x0f, 0xd4, 0x1f, 0xa1, 0x3a, 0xef, - 0xc1, 0xf5, 0x70, 0x62, 0xc1, 0xa3, 0x65, 0xc3, 0x27, 0x7c, 0xf3, 0xed, 0xab, 0xf5, 0xcc, 0x05, - 0x1d, 0x82, 0xf7, 0xca, 0x75, 0xd9, 0x8c, 0x5e, 0x83, 0x5c, 0xec, 0x9a, 0x4b, 0x2e, 0x68, 0x52, - 0x9f, 0x8a, 0xee, 0xb9, 0x7c, 0xd4, 0x81, 0xeb, 0xdd, 0x4f, 0xa4, 0x0d, 0x21, 0x60, 0xb9, 0x09, - 0x49, 0x0b, 0x27, 0xf3, 0xde, 0x30, 0x79, 0x0d, 0x57, 0x7c, 0x7d, 0xb6, 0xeb, 0x5d, 0x75, 0x64, - 0x10, 0xdf, 0x80, 0x39, 0x8b, 0xfa, 0xcf, 0x3a, 0xd8, 0xa6, 0x07, 0x94, 0x58, 0x71, 0x3d, 0xcb, - 0x88, 0x49, 0x5e, 0x8b, 0x37, 0x87, 0x2a, 0x56, 0xfd, 0xcf, 0x14, 0xcc, 0x6c, 0x12, 0xb2, 0x4e, - 0x7d, 0x79, 0x4f, 0x41, 0xd5, 0x86, 0xe7, 0xbb, 0x30, 0x23, 0x7d, 0x8a, 0xa5, 0x5a, 0xe4, 0x05, - 0x58, 0xc2, 0x2b, 0x5d, 0x01, 0x15, 0xd0, 0x10, 0xd7, 0x5f, 0xdf, 0x85, 0x19, 0x36, 0x00, 0x3f, - 0x61, 0xd6, 0xc2, 0xfa, 0xf0, 0xeb, 0x90, 0x57, 0x8f, 0xe4, 0x71, 0x4b, 0x1c, 0xa2, 0xa4, 0x13, - 0xbd, 0x8a, 0xcf, 0x49, 0x90, 0x15, 0x81, 0xc1, 0x03, 0xf9, 0x91, 0x6b, 0x77, 0x5a, 0x49, 0x63, - 0xb0, 0x1a, 0x5d, 0xfd, 0xdd, 0x6e, 0xa6, 0xd7, 0xcd, 0x26, 0xb1, 0x3a, 0xb6, 0x78, 0x48, 0xba, - 0xdf, 0x31, 0xb9, 0xdc, 0xa2, 0x93, 0xba, 0x8c, 0x3e, 0x25, 0xeb, 0xe4, 0x91, 0xd1, 0x5d, 0x98, - 0x56, 0x5d, 0xc2, 0x07, 0xf7, 0xf2, 0x8d, 0x48, 0x41, 0x56, 0x87, 0x2f, 0xec, 0x7b, 0x55, 0x35, - 0xdd, 0xaf, 0xaa, 0x3b, 0x00, 0x8c, 0xaa, 0xfd, 0x71, 0xe0, 0x4b, 0xee, 0x0f, 0xd3, 0xcd, 0x01, - 0x8a, 0xa2, 0x4f, 0x32, 0xf5, 0xcb, 0x1f, 0xa6, 0x83, 0x63, 0xc3, 0x74, 0x70, 0x1b, 0x50, 0x0f, - 0x72, 0xa3, 0xb1, 0x85, 0x10, 0x64, 0x58, 0x10, 0xc2, 0x32, 0xba, 0xf8, 0xcd, 0x83, 0x3a, 0x63, - 0x76, 0xdf, 0xfb, 0x98, 0x1c, 0x63, 0x76, 0x74, 0xa3, 0xfd, 0x57, 0x1a, 0xe4, 0x3e, 0x12, 0x8c, - 0xd6, 0x89, 0xe9, 0x7a, 0x16, 0xfa, 0x10, 0xe4, 0xad, 0xb1, 0xa1, 0x84, 0x97, 0x4c, 0x89, 0xa7, - 0x04, 0x86, 0x04, 0xe6, 0x90, 0x2c, 0x0e, 0x99, 0xf0, 0xb4, 0x9f, 0x45, 0x90, 0xd5, 0xdf, 0xd7, - 0xa0, 0xb0, 0x22, 0xe3, 0xbe, 0x72, 0x64, 0xa8, 0x0c, 0x13, 0x2a, 0x13, 0x50, 0x09, 0x45, 0x50, - 0x44, 0x04, 0x26, 0x5e, 0xa1, 0x53, 0x0d, 0xb0, 0xab, 0xbf, 0xad, 0x41, 0x4e, 0x64, 0xcf, 0x92, - 0x93, 0xfe, 0xcb, 0x1e, 0x39, 0x94, 0x6c, 0xcc, 0x88, 0xcf, 0x0c, 0xee, 0xa4, 0x44, 0x1e, 0xe9, - 0x46, 0x33, 0xbc, 0xfb, 0x32, 0xaf, 0xa7, 0x88, 0xe8, 0x48, 0x82, 0xc4, 0xe9, 0x56, 0xbf, 0x01, - 0xf9, 0x28, 0x2d, 0xaa, 0xad, 0xfb, 0xe8, 0x0e, 0x14, 0xba, 0xd2, 0x3b, 0x19, 0xf7, 0x73, 0x7a, - 0x3e, 0x9e, 0xdf, 0xf9, 0xd5, 0xbf, 0xd5, 0x60, 0x2a, 0x06, 0x84, 0x6e, 0xc2, 0x64, 0x6f, 0xf0, - 0x8a, 0x2a, 0x46, 0xb4, 0xf5, 0x8c, 0x6f, 0x86, 0xd3, 0x97, 0xbc, 0x2c, 0xfd, 0x81, 0x06, 0x63, - 0xf2, 0x1b, 0x8e, 0x5f, 0x01, 0xad, 0x9d, 0x50, 0x73, 0xb5, 0x36, 0x1f, 0xfd, 0x2c, 0xe1, 0xaa, - 0xb4, 0x67, 0xd5, 0x3f, 0xd2, 0x60, 0x71, 0x25, 0x38, 0x0b, 0x8f, 0xe4, 0xd0, 0x65, 0x64, 0x17, - 0xba, 0xb2, 0xde, 0x85, 0x82, 0x52, 0x1f, 0x69, 0x37, 0x81, 0x6e, 0x5c, 0xe0, 0x7d, 0x83, 0x22, - 0x96, 0x6f, 0xc5, 0x4a, 0x7e, 0xf5, 0x87, 0x1a, 0xdc, 0x0c, 0x67, 0xb6, 0x32, 0x60, 0x5a, 0xe7, - 0x9b, 0xd0, 0xc8, 0xe7, 0xe2, 0x43, 0x2e, 0xde, 0x3c, 0xdc, 0x56, 0xa2, 0x50, 0x22, 0x37, 0x1e, - 0x43, 0xa9, 0xc6, 0x57, 0xa4, 0xf2, 0xb7, 0x20, 0x94, 0xac, 0xf0, 0x2d, 0x88, 0xe3, 0xb6, 0xd6, - 0x89, 0x49, 0x5b, 0xd8, 0xf6, 0xcf, 0xd9, 0x82, 0xcc, 0xf3, 0x2d, 0x88, 0xec, 0x21, 0x08, 0x66, - 0xf4, 0xb0, 0x7c, 0x8f, 0xc1, 0xcd, 0x61, 0xdf, 0x16, 0x21, 0x80, 0xf1, 0x1d, 0x77, 0xdf, 0xb5, - 0x4e, 0x8a, 0x57, 0x50, 0x15, 0x16, 0x56, 0xc9, 0x21, 0x75, 0x56, 0x6d, 0xd7, 0x7c, 0x4a, 0xbc, - 0x7a, 0x0b, 0x7b, 0x6c, 0xcd, 0x75, 0x98, 0x87, 0x4d, 0xe6, 0xef, 0x3a, 0xf6, 0x49, 0x51, 0x43, - 0xb3, 0x80, 0x06, 0xd4, 0xa7, 0x50, 0x0e, 0xb2, 0x1b, 0x47, 0xc4, 0x3b, 0x71, 0x1d, 0x52, 0x4c, - 0xdf, 0x6b, 0x04, 0xdc, 0x92, 0x0f, 0x57, 0xd0, 0x34, 0x4c, 0x3d, 0x76, 0xfc, 0x36, 0x31, 0x45, - 0x70, 0x28, 0x5e, 0xe1, 0x64, 0x57, 0x04, 0x3f, 0x8a, 0x1a, 0xff, 0xbd, 0x87, 0x3b, 0x3e, 0xb1, - 0x8a, 0x29, 0x54, 0x00, 0x58, 0x27, 0x2d, 0xd7, 0xa6, 0x7e, 0x93, 0x58, 0xc5, 0x34, 0x9a, 0x82, - 0x09, 0xf1, 0xe4, 0x92, 0x58, 0xc5, 0xcc, 0xbd, 0xcf, 0x52, 0xea, 0x19, 0x85, 0x38, 0x6f, 0xad, - 0xc0, 0xd4, 0xe3, 0x9d, 0xfa, 0xde, 0xc6, 0x5a, 0x6d, 0xb3, 0xb6, 0xb1, 0x5e, 0xbc, 0x32, 0x3f, - 0x7d, 0x7a, 0x56, 0x89, 0x57, 0xa1, 0x22, 0xa4, 0x57, 0x1f, 0x3f, 0x29, 0x6a, 0xf3, 0x13, 0xa7, - 0x67, 0x15, 0xfe, 0x93, 0x87, 0x9d, 0xfa, 0xc6, 0xd6, 0x56, 0x31, 0x35, 0x9f, 0x3d, 0x3d, 0xab, - 0x88, 0xdf, 0x9c, 0x7b, 0xf5, 0xc6, 0xee, 0x9e, 0xc1, 0xbb, 0xa6, 0xe7, 0x73, 0xa7, 0x67, 0x95, - 0xb0, 0xcc, 0x3d, 0x8a, 0xf8, 0x2d, 0x06, 0x65, 0xe6, 0xf3, 0xa7, 0x67, 0x95, 0xa8, 0x82, 0x8f, - 0x6c, 0xac, 0x7c, 0x6b, 0x43, 0x8c, 0x1c, 0x93, 0x23, 0x83, 0x32, 0x1f, 0x29, 0x7e, 0x8b, 0x91, - 0xe3, 0x72, 0x64, 0x58, 0x81, 0x66, 0x61, 0x7c, 0xf5, 0xf1, 0x13, 0x63, 0x6f, 0xb7, 0x38, 0x31, - 0x0f, 0xa7, 0x67, 0x15, 0x55, 0xe2, 0x0a, 0xcd, 0xdb, 0x79, 0x43, 0x76, 0x7e, 0xea, 0xf4, 0xac, - 0x12, 0x14, 0xd1, 0x02, 0x00, 0xef, 0xb3, 0xd2, 0xd8, 0xdd, 0xae, 0xad, 0x15, 0x27, 0xe7, 0x0b, - 0xa7, 0x67, 0x95, 0x58, 0x0d, 0xe7, 0x86, 0xe8, 0xaa, 0x3a, 0x80, 0xe4, 0x46, 0xac, 0xea, 0xde, - 0x5f, 0x68, 0x90, 0xdf, 0x08, 0x4e, 0x52, 0x04, 0x07, 0x6f, 0x42, 0x39, 0x26, 0x95, 0xae, 0x36, - 0x29, 0x22, 0x29, 0xc3, 0xa2, 0x86, 0xf2, 0x30, 0x29, 0xee, 0x4b, 0x36, 0xa9, 0x6d, 0x17, 0x53, - 0x68, 0x1e, 0x66, 0x45, 0x71, 0x1b, 0x33, 0xb3, 0xa9, 0xcb, 0xaf, 0xff, 0x84, 0x60, 0x8a, 0x69, - 0xae, 0x20, 0x51, 0xdb, 0x0e, 0x79, 0x2e, 0xeb, 0x33, 0xe8, 0x1a, 0x5c, 0x55, 0x1f, 0x11, 0xa9, - 0xcf, 0xf8, 0xa8, 0xeb, 0x14, 0xc7, 0x38, 0x94, 0x7c, 0x53, 0xdb, 0xfb, 0xec, 0xae, 0x38, 0x7e, - 0xef, 0x87, 0x81, 0xbc, 0xb7, 0xb1, 0xff, 0x94, 0xf3, 0xec, 0xf1, 0xce, 0xe3, 0xba, 0x10, 0xb5, - 0xe0, 0x99, 0x2c, 0x71, 0x29, 0xaf, 0xec, 0x84, 0x52, 0x5e, 0xd9, 0x79, 0xc2, 0xb9, 0xa8, 0x6f, - 0xbc, 0xff, 0x78, 0x6b, 0x45, 0x2f, 0xa6, 0x24, 0x17, 0x55, 0x91, 0x73, 0x69, 0x6d, 0x77, 0x67, - 0xbd, 0xd6, 0xa8, 0xed, 0xee, 0xac, 0x70, 0x89, 0x0a, 0x2e, 0xc5, 0xaa, 0xd0, 0x32, 0xcc, 0xad, - 0xd7, 0xf4, 0x8d, 0x35, 0x5e, 0xe4, 0x82, 0x34, 0x76, 0x75, 0xe3, 0x51, 0xed, 0xfd, 0x47, 0x1b, - 0x7a, 0x31, 0x3b, 0x7f, 0xf5, 0xf4, 0xac, 0x92, 0xef, 0xaa, 0xec, 0xee, 0x2f, 0xd8, 0xbd, 0xab, - 0x1b, 0x5b, 0xbb, 0xdf, 0xde, 0xd0, 0x8b, 0x45, 0xd9, 0xbf, 0xab, 0x12, 0xdd, 0x80, 0xa9, 0xc6, - 0x93, 0xbd, 0x0d, 0x63, 0x7b, 0x45, 0xff, 0xd6, 0x46, 0xa3, 0x58, 0x91, 0x4b, 0x91, 0x25, 0x74, - 0x1d, 0x40, 0x34, 0x6e, 0xd5, 0xb6, 0x6b, 0x8d, 0xe2, 0xc3, 0xf9, 0xc9, 0xd3, 0xb3, 0xca, 0x98, - 0x28, 0xac, 0x36, 0x7f, 0xfc, 0x62, 0x41, 0xfb, 0xfc, 0xc5, 0x82, 0xf6, 0xcf, 0x2f, 0x16, 0xb4, - 0xdf, 0xfb, 0x62, 0xe1, 0xca, 0xe7, 0x5f, 0x2c, 0x5c, 0xf9, 0xfb, 0x2f, 0x16, 0xae, 0xfc, 0xea, - 0x4e, 0xcc, 0xd5, 0xd7, 0x02, 0x37, 0xb3, 0x85, 0xf7, 0xfd, 0xfb, 0xa1, 0xd3, 0x79, 0xdb, 0x74, - 0x3d, 0x12, 0x2f, 0x36, 0x31, 0x75, 0xee, 0xb7, 0x5c, 0x9e, 0x97, 0xfa, 0xd1, 0x7f, 0x2b, 0x10, - 0x61, 0x61, 0x7f, 0x5c, 0x7c, 0x94, 0xf6, 0x0b, 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xb1, 0xbb, - 0x4c, 0xa0, 0xd0, 0x40, 0x00, 0x00, + // 4092 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5c, 0x4b, 0x6c, 0x5c, 0x59, + 0x5a, 0xce, 0xad, 0x2a, 0xdb, 0x55, 0xbf, 0xab, 0xca, 0x95, 0xe3, 0x8a, 0x5d, 0x71, 0x12, 0xbb, + 0xba, 0xd2, 0xe9, 0xb8, 0xd3, 0xd3, 0xce, 0x74, 0x80, 0x51, 0xd3, 0x62, 0xa4, 0x94, 0x5f, 0x9d, + 0xea, 0xf6, 0xab, 0x6f, 0x55, 0x7a, 0x14, 0x46, 0x3d, 0x77, 0x8e, 0xef, 0x3d, 0x76, 0x9d, 0xce, + 0x7d, 0x54, 0xee, 0xbd, 0xe5, 0xd8, 0x83, 0x90, 0x10, 0x83, 0x10, 0x63, 0x90, 0x1a, 0x58, 0xc0, + 0x6c, 0x2c, 0xcd, 0x82, 0x0d, 0x2c, 0x80, 0x05, 0x62, 0xd3, 0xb0, 0x66, 0x96, 0xbd, 0x44, 0x68, + 0x18, 0x50, 0x7a, 0x01, 0x62, 0x81, 0x04, 0x3b, 0x84, 0x84, 0xd0, 0x79, 0xdc, 0x47, 0x3d, 0x5c, + 0x76, 0xae, 0x1d, 0x4d, 0x83, 0x66, 0xe5, 0x3a, 0xaf, 0xef, 0x3f, 0xe7, 0x7f, 0x9f, 0xc7, 0x35, + 0xbc, 0x49, 0xed, 0x4f, 0x89, 0xee, 0xd3, 0x03, 0x72, 0x9f, 0x1c, 0xea, 0x6d, 0x6c, 0xef, 0x93, + 0xfb, 0x07, 0xef, 0xec, 0x12, 0x1f, 0xbf, 0x13, 0x56, 0x2c, 0x75, 0x5c, 0xc7, 0x77, 0xd0, 0x5c, + 0xd8, 0x75, 0x29, 0x6c, 0x91, 0x5d, 0xe7, 0xca, 0xfb, 0xce, 0xbe, 0xc3, 0xbb, 0xdd, 0x67, 0xbf, + 0xc4, 0x88, 0xb9, 0x79, 0xdd, 0xf1, 0x2c, 0xc7, 0xbb, 0xbf, 0x8b, 0xbd, 0x08, 0x55, 0x77, 0xa8, + 0x2d, 0xdb, 0xef, 0x44, 0xc4, 0x1d, 0x17, 0xeb, 0x66, 0xd4, 0x49, 0x14, 0x45, 0xb7, 0xda, 0x17, + 0x65, 0x18, 0xdf, 0xc1, 0x2e, 0xb6, 0x3c, 0x44, 0x60, 0xc1, 0xeb, 0x38, 0xbe, 0x66, 0x61, 0xf7, + 0x29, 0xf1, 0x35, 0x6a, 0x7b, 0x3e, 0xb6, 0x7d, 0xcd, 0xa4, 0x9e, 0x4f, 0xed, 0x7d, 0x6d, 0x8f, + 0x90, 0x8a, 0x52, 0x55, 0x16, 0x27, 0x1f, 0x5c, 0x5f, 0x12, 0xb4, 0x97, 0x18, 0xed, 0x60, 0x9a, + 0x4b, 0x2b, 0x0e, 0xb5, 0x97, 0x33, 0x3f, 0xfe, 0xe9, 0xc2, 0x15, 0xf5, 0x06, 0xc3, 0xd9, 0xe4, + 0x30, 0x0d, 0x81, 0xb2, 0x21, 0x40, 0xd6, 0x09, 0x41, 0xcf, 0xe0, 0x8e, 0x41, 0x5c, 0x7a, 0x80, + 0xd9, 0xdc, 0x46, 0x11, 0x4b, 0x9d, 0x8f, 0xd8, 0x6b, 0x11, 0xda, 0x69, 0x24, 0x4d, 0xb8, 0x61, + 0x90, 0x3d, 0xdc, 0x35, 0x7d, 0x4d, 0xae, 0xf0, 0x29, 0x71, 0x19, 0x0d, 0xcd, 0xc5, 0x3e, 0xa9, + 0xa4, 0xab, 0xca, 0x62, 0x6e, 0x79, 0x89, 0xa1, 0xfd, 0xc3, 0x4f, 0x17, 0xde, 0xd8, 0xa7, 0x7e, + 0xbb, 0xbb, 0xbb, 0xa4, 0x3b, 0xd6, 0x7d, 0xc9, 0x63, 0xf1, 0xe7, 0x6d, 0xcf, 0x78, 0x7a, 0xdf, + 0x3f, 0xea, 0x10, 0x6f, 0x69, 0x95, 0xe8, 0xea, 0xac, 0x84, 0x6c, 0xf2, 0xb5, 0x3e, 0x25, 0xee, + 0x3a, 0x21, 0x2a, 0xf6, 0x07, 0xa9, 0xf9, 0xbd, 0xd4, 0x32, 0x17, 0xa6, 0xd6, 0x8a, 0x53, 0x3b, + 0x84, 0xd7, 0x02, 0x6a, 0x3d, 0x6c, 0xed, 0xa1, 0x39, 0x96, 0x88, 0xe6, 0x2d, 0x09, 0xbc, 0x1a, + 0x63, 0xf0, 0x99, 0x94, 0xfb, 0x56, 0x3b, 0x7e, 0x49, 0x94, 0x7b, 0xd6, 0xec, 0xc0, 0xcd, 0x80, + 0x32, 0xb5, 0xa9, 0x4f, 0xb1, 0xc9, 0xf4, 0x68, 0x9f, 0xda, 0x8c, 0x26, 0x75, 0x2a, 0x13, 0x89, + 0x88, 0x5e, 0x97, 0x98, 0x0d, 0x01, 0xb9, 0xc9, 0x11, 0x55, 0x06, 0x88, 0x9e, 0x43, 0x35, 0x20, + 0x68, 0x61, 0x6a, 0xfb, 0xc4, 0xc6, 0xb6, 0x4e, 0x7a, 0x89, 0x66, 0x2f, 0xb4, 0xd2, 0xcd, 0x08, + 0x36, 0x4e, 0xf8, 0x5d, 0xa8, 0x04, 0x84, 0xf7, 0xba, 0xb6, 0xc1, 0x4c, 0x83, 0xf5, 0x73, 0x0f, + 0xb0, 0x59, 0xc9, 0x55, 0x95, 0xc5, 0xb4, 0x3a, 0x23, 0xdb, 0xd7, 0x45, 0x73, 0x43, 0xb6, 0xa2, + 0x37, 0xa1, 0x14, 0x8c, 0xb0, 0xba, 0xa6, 0x4f, 0x3b, 0x26, 0xa9, 0x00, 0x1f, 0x31, 0x25, 0xeb, + 0x37, 0x65, 0x35, 0xd2, 0x61, 0xc6, 0x25, 0x26, 0x3e, 0x92, 0x72, 0xf3, 0xda, 0xd8, 0x95, 0xd2, + 0x9b, 0x4c, 0xb4, 0xa6, 0x69, 0x89, 0xb6, 0x4e, 0x48, 0x93, 0x61, 0x71, 0x99, 0xf9, 0xb0, 0x10, + 0xac, 0xa4, 0xed, 0x74, 0x5d, 0xf3, 0x28, 0x5c, 0x10, 0xa3, 0xa4, 0xe9, 0xb8, 0x53, 0xc9, 0x27, + 0xa2, 0x16, 0x18, 0xdb, 0x23, 0x8e, 0x2a, 0xd9, 0xc0, 0x48, 0xae, 0xe0, 0x4e, 0x5c, 0x53, 0x24, + 0x55, 0xce, 0x3e, 0xe2, 0xf9, 0x62, 0x81, 0x85, 0x0b, 0x69, 0x8a, 0x20, 0xd9, 0x90, 0x88, 0x7c, + 0x99, 0xab, 0xb0, 0x60, 0xe1, 0xc3, 0xb8, 0x41, 0x38, 0xae, 0x41, 0x5c, 0xcd, 0xa3, 0x06, 0xd1, + 0x74, 0xa7, 0x6b, 0xfb, 0x95, 0x62, 0x55, 0x59, 0x2c, 0xa8, 0x37, 0x2c, 0x7c, 0x18, 0xa9, 0xf7, + 0x36, 0xeb, 0xd4, 0xa4, 0x06, 0x59, 0x61, 0x5d, 0xd0, 0x6f, 0x29, 0x70, 0x97, 0xda, 0x9f, 0x6a, + 0x2e, 0x79, 0x8e, 0x5d, 0x43, 0xf3, 0x98, 0x51, 0x19, 0x9a, 0x4b, 0x9e, 0x75, 0xa9, 0x4b, 0x2c, + 0x62, 0xfb, 0x9a, 0xdf, 0x76, 0x89, 0xd7, 0x76, 0x4c, 0xa3, 0x32, 0xf5, 0xd2, 0x4b, 0x68, 0xd8, + 0xbe, 0x7a, 0x9b, 0xda, 0x9f, 0xaa, 0x1c, 0xbd, 0xc9, 0xc1, 0xd5, 0x08, 0xbb, 0x15, 0x40, 0xa3, + 0xf7, 0xa1, 0xea, 0xbb, 0x58, 0x08, 0x89, 0xf7, 0xf5, 0xb4, 0x03, 0x22, 0x1c, 0xb4, 0xd1, 0xe5, + 0x5a, 0x6f, 0x57, 0x4a, 0x5c, 0xa7, 0x6e, 0xc9, 0x7e, 0x02, 0xd2, 0xfb, 0x58, 0xf4, 0x5a, 0x95, + 0x9d, 0x98, 0x18, 0x4c, 0xfa, 0xac, 0x4b, 0x0d, 0xec, 0x3b, 0x6e, 0xb8, 0xaa, 0x48, 0xcf, 0xae, + 0x26, 0x13, 0x43, 0x84, 0x29, 0x97, 0x12, 0x6a, 0xdb, 0x21, 0xbc, 0xb9, 0x4b, 0x6d, 0xec, 0x1e, + 0x69, 0x4e, 0x87, 0xcd, 0xc0, 0x1b, 0x15, 0x68, 0xd0, 0xf9, 0x02, 0xcd, 0xeb, 0x02, 0x71, 0x5b, + 0x00, 0x9e, 0x16, 0x6b, 0x7e, 0x43, 0x81, 0x2a, 0xf6, 0x1d, 0x8b, 0xea, 0x01, 0x49, 0xa1, 0x00, + 0x58, 0xd7, 0x89, 0xe7, 0x69, 0x26, 0x39, 0x20, 0x66, 0x65, 0xba, 0xaa, 0x2c, 0x16, 0x1f, 0xbc, + 0xbb, 0x74, 0x7a, 0xd4, 0x5f, 0xaa, 0x73, 0x0c, 0x41, 0x85, 0x6b, 0x47, 0x9d, 0x03, 0x6c, 0xb0, + 0xf1, 0xea, 0x4d, 0x3c, 0xa2, 0x15, 0x7d, 0x5f, 0x81, 0xbb, 0x3c, 0xf2, 0x0c, 0x9b, 0x07, 0xb3, + 0x70, 0xe9, 0x10, 0x28, 0x71, 0x2b, 0xe5, 0x44, 0x9c, 0xaf, 0x31, 0xf8, 0x81, 0x19, 0xae, 0x13, + 0xb2, 0x19, 0x22, 0xa3, 0xcf, 0x14, 0x78, 0x3b, 0x66, 0x06, 0xe7, 0x98, 0xcb, 0xb5, 0x44, 0x73, + 0x59, 0x8c, 0x88, 0x9c, 0x31, 0xa3, 0x3f, 0x52, 0xe0, 0x9d, 0x3e, 0xad, 0x38, 0xc7, 0xac, 0x66, + 0x12, 0xcd, 0xea, 0xad, 0x1e, 0x65, 0x39, 0x63, 0x62, 0x14, 0xae, 0x5b, 0xd4, 0xa6, 0x16, 0x36, + 0x35, 0x9e, 0x95, 0xe9, 0x8e, 0x19, 0x45, 0xd0, 0xd9, 0x44, 0xf4, 0x67, 0x24, 0xe0, 0x8e, 0xc4, + 0x0b, 0x42, 0xe7, 0xb7, 0xe1, 0x2d, 0xea, 0x85, 0x56, 0x30, 0x98, 0x88, 0x99, 0xb8, 0x6b, 0xeb, + 0x6d, 0x8d, 0xd8, 0x78, 0xd7, 0x24, 0x46, 0xa5, 0x52, 0x55, 0x16, 0xb3, 0xea, 0x1b, 0xd4, 0x93, + 0x8a, 0xbe, 0xda, 0x97, 0x6b, 0x6d, 0xf0, 0xee, 0x6b, 0xa2, 0xf7, 0x7b, 0x99, 0x7f, 0xfd, 0xd1, + 0x82, 0x52, 0xfb, 0x4c, 0x81, 0x69, 0xd1, 0xda, 0xbb, 0xca, 0x1b, 0x90, 0x0b, 0x8c, 0xd0, 0xe0, + 0x99, 0x64, 0x4e, 0xcd, 0x8a, 0x8a, 0x86, 0x81, 0x1e, 0x43, 0xb1, 0x8f, 0xef, 0xa9, 0x44, 0xeb, + 0x2e, 0xec, 0xc5, 0x69, 0xbe, 0x97, 0xf9, 0x9d, 0x1f, 0x2d, 0x5c, 0xa9, 0xfd, 0x79, 0x16, 0x4a, + 0xfd, 0x33, 0x47, 0x33, 0x30, 0xee, 0x53, 0xfd, 0x29, 0x71, 0xe5, 0x5c, 0x64, 0x09, 0x2d, 0xc0, + 0xa4, 0xc8, 0x90, 0x35, 0xe6, 0x08, 0xc4, 0x34, 0x54, 0x10, 0x55, 0xcb, 0xd8, 0x23, 0xe8, 0x35, + 0xc8, 0xcb, 0x0e, 0xcf, 0xba, 0x4e, 0x90, 0x3e, 0xaa, 0x72, 0xd0, 0x47, 0xac, 0x0a, 0xad, 0x85, + 0x18, 0x6c, 0x66, 0x3c, 0xe5, 0x2b, 0x3e, 0x78, 0x3d, 0x66, 0xee, 0x32, 0x07, 0x0f, 0x8c, 0x7d, + 0x9b, 0x17, 0x5b, 0x47, 0x1d, 0x12, 0x50, 0x62, 0xbf, 0xd1, 0x12, 0x4c, 0x4b, 0x18, 0x4f, 0xc7, + 0x26, 0xd1, 0xf6, 0xb0, 0xee, 0x3b, 0x2e, 0xcf, 0xe6, 0x0a, 0xea, 0x55, 0xd1, 0xd4, 0x64, 0x2d, + 0xeb, 0xbc, 0x81, 0x4d, 0x9d, 0x4f, 0x49, 0x33, 0x88, 0xed, 0x58, 0x22, 0xf7, 0x52, 0x81, 0x57, + 0xad, 0xb2, 0x9a, 0x5e, 0x11, 0x4c, 0xf4, 0x89, 0xe0, 0xbb, 0x50, 0x1e, 0x9a, 0x4d, 0x25, 0x4b, + 0x6c, 0x10, 0x1d, 0x4c, 0xa3, 0xda, 0x50, 0x39, 0x35, 0x7d, 0xca, 0x25, 0x54, 0xf3, 0xe1, 0x79, + 0x53, 0x0b, 0x8a, 0x7d, 0x29, 0x30, 0x24, 0xc2, 0xcf, 0x5b, 0xf1, 0xbc, 0xb3, 0x05, 0xc5, 0xbe, + 0xf4, 0x36, 0x59, 0x82, 0x94, 0xf7, 0xe3, 0xa8, 0xa7, 0xa7, 0x5f, 0xf9, 0xcb, 0x4b, 0xbf, 0xaa, + 0x30, 0x49, 0xbd, 0x1d, 0xe2, 0x76, 0x88, 0xdf, 0xc5, 0x26, 0xcf, 0x7b, 0xb2, 0x6a, 0xbc, 0x0a, + 0x3d, 0x84, 0x71, 0xcf, 0xc7, 0x7e, 0xd7, 0xe3, 0x09, 0x4a, 0xf1, 0xc1, 0xe2, 0xa8, 0xe8, 0x24, + 0x6c, 0xa8, 0xc9, 0xfb, 0xab, 0x72, 0x1c, 0xfa, 0x04, 0xa6, 0x2d, 0x6a, 0x6b, 0x1d, 0x97, 0xea, + 0x44, 0x63, 0xd6, 0xa4, 0x79, 0xf4, 0x7b, 0x24, 0x41, 0x82, 0xc2, 0x56, 0x51, 0xb2, 0xa8, 0xbd, + 0xc3, 0x90, 0x5a, 0x54, 0x7f, 0xda, 0xa4, 0xdf, 0xe3, 0x7c, 0x62, 0xf0, 0xcf, 0xba, 0xd8, 0xf6, + 0xa9, 0x7f, 0x14, 0xa3, 0x50, 0x4a, 0xc6, 0x27, 0x8b, 0xda, 0x1f, 0x49, 0xb0, 0x80, 0x88, 0x74, + 0x18, 0x7f, 0x92, 0x85, 0xe9, 0xe5, 0xc1, 0x68, 0x7f, 0xaa, 0xcf, 0xb8, 0x0d, 0x85, 0xc0, 0x50, + 0x8f, 0xac, 0x5d, 0xc7, 0x94, 0x5e, 0x43, 0xfa, 0x89, 0x26, 0xaf, 0x43, 0x77, 0x61, 0x4a, 0x76, + 0xea, 0xb8, 0xce, 0x01, 0x35, 0x88, 0x2b, 0x5d, 0x47, 0x51, 0x54, 0xef, 0xc8, 0xda, 0x9f, 0x95, + 0xf7, 0x78, 0x07, 0xca, 0xe4, 0xb0, 0x43, 0x45, 0xca, 0xa6, 0xf9, 0xd4, 0x22, 0x9e, 0x8f, 0xad, + 0x0e, 0x77, 0x23, 0x69, 0x75, 0x3a, 0x6a, 0x6b, 0x05, 0x4d, 0x6c, 0x88, 0x47, 0x7c, 0xdf, 0x94, + 0x39, 0x69, 0x38, 0x64, 0x42, 0x0c, 0x89, 0xda, 0xa2, 0x21, 0x65, 0x18, 0xc3, 0x86, 0x45, 0x6d, + 0xe1, 0x56, 0x54, 0x51, 0xe8, 0xf7, 0x5c, 0xb9, 0xd1, 0x9e, 0x0b, 0xfa, 0x3c, 0xd7, 0xa0, 0xb5, + 0x4f, 0xbe, 0x12, 0x6b, 0xcf, 0xbf, 0x52, 0x6b, 0x2f, 0x5c, 0x9e, 0xb5, 0xff, 0xdc, 0x96, 0x19, + 0x91, 0x27, 0x50, 0x8a, 0x69, 0x27, 0x5f, 0x4a, 0x6c, 0xa7, 0xa1, 0xbc, 0x04, 0xfc, 0x54, 0x84, + 0xc3, 0xd7, 0x21, 0xdd, 0xc4, 0x7f, 0xa7, 0x60, 0x76, 0x8d, 0x99, 0xc5, 0xd1, 0x7a, 0xd7, 0xef, + 0xba, 0x24, 0xdc, 0x14, 0xec, 0x39, 0xa3, 0xb3, 0x9d, 0xd3, 0x4c, 0x2d, 0x75, 0xba, 0xa9, 0x7d, + 0x1d, 0xca, 0xfe, 0x73, 0xdc, 0x61, 0x7b, 0x41, 0x37, 0x6e, 0x6a, 0x69, 0x3e, 0x04, 0xb1, 0xb6, + 0x26, 0x6b, 0x8a, 0x46, 0xfc, 0xa6, 0x02, 0x6f, 0xc4, 0xa9, 0x44, 0xa3, 0x85, 0x54, 0xf5, 0xae, + 0xd5, 0x35, 0x79, 0x46, 0x94, 0xf0, 0x4c, 0xaa, 0x16, 0x9b, 0x67, 0x40, 0x9e, 0xb3, 0x67, 0x25, + 0x44, 0x1e, 0x2a, 0x83, 0x64, 0xa7, 0x51, 0xfd, 0x32, 0xa8, 0xfd, 0x24, 0x05, 0xd3, 0x61, 0xf8, + 0x3a, 0x2f, 0xe7, 0x09, 0xcc, 0x9e, 0x76, 0xfc, 0x90, 0x2c, 0xe1, 0x2c, 0xb7, 0x87, 0x9d, 0x3b, + 0x7c, 0x17, 0xca, 0x43, 0xcf, 0x1b, 0x92, 0x1d, 0x35, 0xa2, 0xf6, 0xe0, 0x41, 0xc3, 0x2f, 0xc2, + 0x8c, 0x4d, 0x0e, 0xa3, 0x63, 0xa1, 0x48, 0x23, 0x32, 0x5c, 0x23, 0xca, 0xac, 0x55, 0xce, 0x2a, + 0xd2, 0x89, 0xd8, 0xa9, 0x50, 0x78, 0x8e, 0x34, 0xd6, 0x73, 0x2a, 0x14, 0x1c, 0x20, 0xd5, 0xfe, + 0x4b, 0x81, 0x99, 0x3e, 0xf6, 0x4a, 0x38, 0xf4, 0x09, 0xa0, 0x48, 0x79, 0x82, 0x19, 0x08, 0x56, + 0xbf, 0xf4, 0xda, 0xae, 0x46, 0x48, 0x01, 0xfc, 0x13, 0x28, 0xc5, 0xe0, 0x85, 0xce, 0x24, 0x13, + 0xce, 0x54, 0x84, 0xc3, 0x75, 0x06, 0xdd, 0x81, 0xa2, 0x89, 0xbd, 0x41, 0xfb, 0x29, 0xb0, 0xda, + 0x90, 0x4d, 0xb5, 0x1f, 0x2a, 0x30, 0xdf, 0xbf, 0x61, 0x68, 0x86, 0xea, 0x77, 0xb6, 0x96, 0x0d, + 0xd3, 0xfa, 0xd4, 0xe5, 0x68, 0xfd, 0x37, 0xa1, 0xbc, 0x35, 0x4c, 0xb2, 0x77, 0xa0, 0xc8, 0xf5, + 0x21, 0x5a, 0x99, 0x22, 0x56, 0xc6, 0x6a, 0xa3, 0x95, 0xfd, 0x6e, 0x0a, 0x8a, 0x9b, 0xd4, 0xe0, + 0x58, 0x75, 0xdb, 0x68, 0x6d, 0x2f, 0xa3, 0x0f, 0x21, 0x67, 0x51, 0x43, 0xce, 0x52, 0x49, 0xe4, + 0x1f, 0xb3, 0x96, 0x84, 0x64, 0x41, 0x73, 0x97, 0x69, 0xfb, 0x6e, 0xf7, 0x68, 0x60, 0xdd, 0x2f, + 0x83, 0x98, 0x67, 0x28, 0xcb, 0xdd, 0x23, 0x81, 0xfa, 0x31, 0x4c, 0x71, 0x54, 0x8f, 0x98, 0xa6, + 0x84, 0x4d, 0x27, 0x82, 0x2d, 0x30, 0x98, 0x26, 0x31, 0x4d, 0xc1, 0xcc, 0x1f, 0x8e, 0x01, 0x34, + 0xc3, 0xbb, 0x8a, 0x53, 0xd3, 0xbb, 0x5b, 0x00, 0x6c, 0x2f, 0x28, 0x93, 0x13, 0x91, 0xdb, 0xe5, + 0x58, 0x8d, 0xc8, 0x4d, 0xfa, 0x92, 0x97, 0xf4, 0x40, 0xf2, 0x32, 0x98, 0x9f, 0x64, 0x5e, 0x49, + 0x7e, 0x32, 0xf6, 0x4a, 0xf3, 0x93, 0xf1, 0xcb, 0xcb, 0x4f, 0x46, 0xee, 0x43, 0xa3, 0xe4, 0x25, + 0x7b, 0xb9, 0xc9, 0x4b, 0xee, 0x95, 0x27, 0x2f, 0x70, 0x69, 0xc9, 0x4b, 0xed, 0x73, 0x05, 0x26, + 0x56, 0x49, 0xc7, 0xf1, 0xa8, 0x8f, 0xbe, 0x0d, 0x57, 0xf1, 0x01, 0xa6, 0x26, 0xde, 0xe5, 0xa7, + 0x12, 0x26, 0xdb, 0xed, 0x26, 0x74, 0xb7, 0xa5, 0x10, 0x68, 0x59, 0xe0, 0xa0, 0x26, 0x14, 0x7c, + 0xc7, 0xc7, 0x66, 0x08, 0x9c, 0x4a, 0xa8, 0x45, 0x0c, 0x44, 0x82, 0xd6, 0xbe, 0x06, 0xe5, 0x66, + 0x77, 0x17, 0xeb, 0xfc, 0xc4, 0xbb, 0xe5, 0x62, 0x83, 0x6c, 0x39, 0x8c, 0x58, 0x19, 0xc6, 0x6c, + 0x27, 0x98, 0x7d, 0x41, 0x15, 0x85, 0xda, 0xbf, 0x28, 0x90, 0xe3, 0xc7, 0x62, 0xdc, 0xb3, 0xde, + 0x86, 0x82, 0x17, 0x8e, 0x8d, 0xbc, 0x6b, 0x3e, 0xaa, 0x6c, 0x18, 0xac, 0x13, 0x57, 0x7b, 0xa2, + 0xd3, 0x0e, 0x25, 0xb6, 0x1f, 0xec, 0xb8, 0xf6, 0x08, 0x51, 0x83, 0x3a, 0xb4, 0x0a, 0x63, 0xfd, + 0xce, 0xe2, 0x65, 0x96, 0x24, 0x06, 0xa3, 0x0f, 0x20, 0x1b, 0x88, 0x3a, 0xa1, 0xdd, 0x86, 0xe3, + 0x6b, 0x9f, 0xa5, 0x20, 0xc7, 0x1c, 0x0e, 0x5f, 0xed, 0xe8, 0x18, 0xf2, 0x01, 0x80, 0x38, 0x8f, + 0xa4, 0xf6, 0x9e, 0x23, 0x2f, 0x43, 0xef, 0x8c, 0x32, 0x85, 0x90, 0x83, 0xf2, 0xbc, 0x3a, 0xe7, + 0x84, 0x2c, 0x5d, 0x0d, 0xb0, 0xf8, 0x86, 0x32, 0xcd, 0xcd, 0xea, 0x6c, 0x2c, 0xbe, 0xa3, 0x14, + 0x28, 0x7c, 0x43, 0xc9, 0x34, 0xc5, 0xa5, 0xfb, 0xfb, 0xc4, 0x95, 0x3e, 0x38, 0x93, 0xcc, 0xb5, + 0x4b, 0x10, 0xe1, 0x82, 0x5f, 0xa4, 0xa0, 0xc8, 0x38, 0xb2, 0x41, 0x2d, 0x2a, 0xd9, 0xd2, 0xbb, + 0x72, 0xe5, 0x12, 0x57, 0x9e, 0x4a, 0xb8, 0xf2, 0x0f, 0x20, 0xbb, 0x47, 0x4d, 0x6e, 0x36, 0x09, + 0x75, 0x29, 0x1c, 0xff, 0x4a, 0xb8, 0xc8, 0x22, 0x94, 0x58, 0x66, 0x1b, 0x7b, 0x6d, 0x1e, 0x07, + 0xf2, 0x72, 0xfe, 0x8f, 0xb0, 0xd7, 0xae, 0xfd, 0x5b, 0x0a, 0xa6, 0xa2, 0x38, 0x77, 0xf9, 0x5c, + 0xfe, 0x08, 0xf2, 0xd2, 0x7b, 0x68, 0xfc, 0x4e, 0x2a, 0x99, 0x0b, 0x99, 0x94, 0x18, 0x8f, 0x1c, + 0xd3, 0xe8, 0x5b, 0x51, 0xba, 0x6f, 0x45, 0x7d, 0x72, 0xcd, 0x5c, 0x96, 0x46, 0x8f, 0x5d, 0x82, + 0x46, 0xff, 0x63, 0x0a, 0xa6, 0xfa, 0x6e, 0xf6, 0xfe, 0xaf, 0x59, 0xfa, 0x3a, 0x8c, 0x8b, 0xc3, + 0xd9, 0x84, 0x0e, 0x4f, 0x8e, 0x7e, 0x35, 0xfc, 0xfd, 0xc3, 0x0c, 0xdc, 0x88, 0x82, 0x0b, 0x9f, + 0xff, 0xae, 0xe3, 0x3c, 0xdd, 0x24, 0x3e, 0x36, 0xb0, 0x8f, 0xd1, 0x2f, 0xc3, 0xf5, 0x03, 0x6c, + 0x33, 0x73, 0xd3, 0x4c, 0xe6, 0x54, 0xe4, 0xb5, 0x8e, 0xb8, 0x7c, 0x15, 0x71, 0x67, 0x46, 0x76, + 0x88, 0x9c, 0x8e, 0xb8, 0x77, 0x7d, 0x08, 0xb7, 0x5c, 0x62, 0x74, 0x75, 0xa2, 0x39, 0xb6, 0x79, + 0x34, 0x64, 0x78, 0x8a, 0x0f, 0xbf, 0x2e, 0x3a, 0x6d, 0xdb, 0xe6, 0x51, 0x3f, 0x82, 0x07, 0xf3, + 0x78, 0x7f, 0xdf, 0x25, 0xfb, 0x6c, 0x57, 0x19, 0xc7, 0x0a, 0x43, 0x48, 0x32, 0xff, 0x71, 0x23, + 0x44, 0x55, 0x43, 0xda, 0x41, 0xce, 0x80, 0x4c, 0x98, 0x8b, 0x88, 0x06, 0x6b, 0xbf, 0x60, 0xcc, + 0xaa, 0x84, 0x88, 0x1f, 0x0b, 0xc0, 0x90, 0xda, 0x1a, 0x2c, 0x04, 0x34, 0x74, 0xc7, 0x36, 0x28, + 0xdb, 0xff, 0x63, 0xb3, 0x87, 0x4d, 0xe2, 0x8c, 0xf1, 0xa6, 0xec, 0xb6, 0x12, 0xf5, 0x8a, 0x71, + 0x6a, 0x03, 0x6e, 0xc7, 0xf9, 0x73, 0x1a, 0xd4, 0x38, 0x87, 0x5a, 0x88, 0x38, 0x3e, 0x14, 0xad, + 0xf6, 0x77, 0x0a, 0x4c, 0xf5, 0x29, 0x45, 0x14, 0xfe, 0x95, 0xcb, 0x0a, 0xff, 0xa9, 0x8b, 0x85, + 0x7f, 0x54, 0x83, 0x3c, 0xf5, 0x22, 0x01, 0x72, 0x5d, 0xc8, 0xaa, 0x3d, 0x75, 0xb5, 0xe7, 0x30, + 0xdd, 0xb7, 0x90, 0x55, 0xa6, 0xd5, 0x75, 0x18, 0xe3, 0x6c, 0x91, 0x9e, 0xfa, 0xad, 0x51, 0x36, + 0xdd, 0x37, 0x5e, 0x15, 0x23, 0xfb, 0x5c, 0x6a, 0xaa, 0x3f, 0x48, 0xfc, 0x65, 0x1a, 0xca, 0x91, + 0xdf, 0xfa, 0x4a, 0xc7, 0xe3, 0xc8, 0x3f, 0xa5, 0x2f, 0xe4, 0x9f, 0xe2, 0x71, 0x3d, 0x73, 0xd9, + 0x71, 0x7d, 0xec, 0xd2, 0xe3, 0xfa, 0x78, 0xbf, 0xc8, 0xfe, 0x3a, 0x0d, 0xd7, 0xfa, 0xcf, 0x29, + 0xfe, 0xbf, 0xcb, 0x6c, 0x1b, 0x26, 0xe5, 0xc5, 0x21, 0x4f, 0x35, 0x92, 0x89, 0x0d, 0x04, 0x04, + 0xcf, 0x34, 0x7e, 0x16, 0x82, 0xfb, 0x8f, 0x14, 0x64, 0x77, 0xd8, 0xde, 0x8e, 0x3a, 0x36, 0x9a, + 0x81, 0x71, 0xea, 0x6d, 0x38, 0xf2, 0x08, 0x2d, 0xab, 0xca, 0xd2, 0xa5, 0x7a, 0x9e, 0x6d, 0x98, + 0x24, 0xb6, 0xef, 0x1e, 0x69, 0x17, 0xd9, 0x10, 0x01, 0x87, 0x10, 0x0b, 0xbc, 0xac, 0x14, 0xa1, + 0x0d, 0x95, 0xc1, 0xb3, 0x44, 0x8d, 0x13, 0x4a, 0x78, 0x9e, 0x31, 0x33, 0x70, 0xa2, 0xb8, 0xc6, + 0xd0, 0x6a, 0x0d, 0x28, 0xc7, 0x2c, 0xa4, 0x61, 0x1b, 0x54, 0xc7, 0xbe, 0x73, 0x46, 0x6e, 0x56, + 0x86, 0x31, 0xea, 0x2d, 0x77, 0x85, 0x00, 0xb2, 0xaa, 0x28, 0xd4, 0x7e, 0x92, 0x82, 0x2c, 0xdf, + 0xd5, 0x6e, 0x38, 0xbd, 0x62, 0x52, 0x2e, 0x28, 0xa6, 0x30, 0x64, 0xa5, 0x2e, 0x12, 0xb2, 0x06, + 0x76, 0xd0, 0x22, 0x7d, 0xee, 0xdd, 0x41, 0x3f, 0x84, 0xf4, 0x1e, 0x49, 0xea, 0xf6, 0xd8, 0xd0, + 0x33, 0x36, 0x1d, 0xe8, 0x5d, 0xb8, 0xd6, 0xb3, 0x45, 0xd7, 0xb0, 0x61, 0xb8, 0xc4, 0xf3, 0x84, + 0x35, 0x70, 0x37, 0xa3, 0xa8, 0xd3, 0xf1, 0x0d, 0x7b, 0x5d, 0x74, 0xa8, 0x7d, 0x9e, 0x82, 0x42, + 0x60, 0x1d, 0xab, 0xc4, 0xf4, 0x31, 0x9a, 0x85, 0x09, 0xea, 0x69, 0xe6, 0xa0, 0x8d, 0x7c, 0x02, + 0x88, 0x1c, 0x12, 0xbd, 0xcb, 0xaf, 0x38, 0x2e, 0x68, 0x2d, 0x57, 0x43, 0xa4, 0x30, 0xd7, 0x79, + 0x02, 0xa5, 0x08, 0xfe, 0x42, 0xee, 0x6b, 0x2a, 0xc4, 0x11, 0xef, 0x14, 0xd0, 0xb7, 0x20, 0xaa, + 0x1a, 0xd8, 0x09, 0xbe, 0x0c, 0x72, 0x31, 0x84, 0x11, 0xf9, 0xf1, 0xbf, 0xa7, 0x00, 0xc5, 0x1e, + 0xce, 0x06, 0x6a, 0x3a, 0xf4, 0x58, 0xa5, 0x5f, 0x29, 0x76, 0xa0, 0xd8, 0x91, 0x8c, 0xd7, 0x0c, + 0xc6, 0x79, 0xb9, 0x1d, 0x79, 0x73, 0x94, 0xbb, 0xef, 0x11, 0x95, 0x5a, 0xe8, 0xf4, 0x48, 0x6e, + 0x1d, 0xc6, 0x3b, 0xf8, 0xc8, 0xe9, 0xfa, 0x49, 0xdd, 0xbe, 0x18, 0xfd, 0x55, 0x56, 0xd7, 0x5f, + 0x03, 0x14, 0x65, 0x5c, 0xa1, 0x57, 0x7f, 0x08, 0xd9, 0x80, 0x13, 0x32, 0xfe, 0xbe, 0x7e, 0x1e, + 0x26, 0xaa, 0xe1, 0xa8, 0x41, 0x89, 0xa5, 0x06, 0x25, 0x56, 0x7b, 0x0e, 0x57, 0x23, 0xe2, 0xc1, + 0x81, 0xe1, 0xb9, 0x64, 0xfd, 0x4d, 0x98, 0x30, 0x44, 0x7f, 0x29, 0xe4, 0xdb, 0xa3, 0xe6, 0x27, + 0xa1, 0xd5, 0x60, 0x4c, 0xad, 0x03, 0x05, 0x59, 0xf7, 0xb8, 0x63, 0x60, 0x9f, 0x9f, 0xed, 0x89, + 0x03, 0x70, 0xe1, 0x43, 0x45, 0x01, 0x35, 0x20, 0x2b, 0x47, 0x78, 0x95, 0x54, 0x35, 0xbd, 0x38, + 0xf9, 0xe0, 0xed, 0xf3, 0xa5, 0xae, 0x01, 0xc1, 0x70, 0x78, 0xed, 0x85, 0x02, 0xa5, 0x1d, 0x87, + 0xda, 0xbe, 0x17, 0x7b, 0x55, 0xb6, 0x07, 0xb3, 0xe2, 0x6c, 0xbd, 0xc3, 0x5b, 0xe2, 0x2f, 0xc8, + 0x92, 0x39, 0xe3, 0x6b, 0x1c, 0x6e, 0x18, 0x1d, 0xff, 0x14, 0x3a, 0xc9, 0xbc, 0xcd, 0x35, 0x7f, + 0x18, 0x9d, 0xda, 0xff, 0xa4, 0x60, 0xbe, 0x15, 0x7f, 0x4c, 0xbb, 0x82, 0xad, 0x0e, 0xa6, 0xfb, + 0xf6, 0xb2, 0xe3, 0x78, 0xe2, 0xea, 0xe9, 0x97, 0x60, 0x76, 0x97, 0x15, 0x88, 0xa1, 0xf5, 0x7c, + 0xb0, 0x61, 0x78, 0x15, 0xa5, 0x9a, 0x5e, 0xcc, 0xa9, 0x65, 0xd9, 0x1c, 0x1d, 0xf9, 0x34, 0x0c, + 0x0f, 0x7d, 0x0a, 0xb3, 0xf1, 0xee, 0xd1, 0x02, 0x02, 0xc1, 0x7c, 0x6d, 0xb4, 0x7e, 0xf6, 0x4e, + 0x54, 0xa6, 0x89, 0xd7, 0xa2, 0x4f, 0x3d, 0xa2, 0x36, 0x0f, 0xd5, 0xe1, 0x56, 0x30, 0xc5, 0x21, + 0x1f, 0x7b, 0x18, 0x5e, 0x25, 0xcd, 0x27, 0x3a, 0x27, 0x3b, 0xf5, 0xe7, 0xb0, 0x6c, 0xba, 0x07, + 0x70, 0x6b, 0x70, 0x68, 0x7c, 0xd2, 0x99, 0xc4, 0x93, 0xbe, 0xd1, 0xff, 0xc9, 0x48, 0x6c, 0xea, + 0xb5, 0xbf, 0x51, 0x00, 0x05, 0x3c, 0x17, 0x12, 0xd8, 0x71, 0xc4, 0xeb, 0x9d, 0xfe, 0xab, 0x77, + 0x71, 0xc1, 0x56, 0xf4, 0x7a, 0xaf, 0xdd, 0x7f, 0x1d, 0xca, 0x16, 0x3e, 0xd4, 0x74, 0x09, 0x11, + 0xbc, 0x9c, 0x96, 0x3c, 0x1e, 0xf1, 0xca, 0xf8, 0xeb, 0x6c, 0x6e, 0x7f, 0xf6, 0x4f, 0x0b, 0x8b, + 0xe7, 0x50, 0x20, 0x36, 0xc0, 0x53, 0x91, 0x85, 0x0f, 0x7b, 0xa7, 0xea, 0xd5, 0xfe, 0x34, 0x05, + 0xd7, 0x87, 0xea, 0x0f, 0x57, 0x9d, 0xf7, 0xe0, 0x7a, 0x38, 0xb1, 0xe0, 0x09, 0xb7, 0xe6, 0x11, + 0xb6, 0xf9, 0xf6, 0xe4, 0x7a, 0x66, 0x83, 0x0e, 0xc1, 0xeb, 0xed, 0xa6, 0x68, 0x46, 0xaf, 0x41, + 0x3e, 0x76, 0xcd, 0x25, 0x16, 0x94, 0x53, 0x27, 0xa3, 0x7b, 0x2e, 0x0f, 0x75, 0xe1, 0x7a, 0xef, + 0x83, 0x71, 0x8d, 0x0b, 0x58, 0x6c, 0x42, 0xd2, 0xdc, 0xc9, 0xbc, 0x37, 0x4a, 0x5e, 0xa3, 0x15, + 0x5f, 0x9d, 0xe9, 0x79, 0x65, 0x1e, 0x19, 0xc4, 0x37, 0x60, 0xd6, 0xa0, 0xde, 0xb3, 0x2e, 0x36, + 0xe9, 0x1e, 0x25, 0x46, 0x5c, 0xcf, 0x32, 0x7c, 0x92, 0xd7, 0xe2, 0xcd, 0xa1, 0x8a, 0xd5, 0xfe, + 0x33, 0x05, 0xd3, 0xeb, 0x84, 0xac, 0x52, 0x4f, 0xdc, 0x53, 0x50, 0xb9, 0xe1, 0xf9, 0x0e, 0x4c, + 0x0b, 0x9f, 0x62, 0xc8, 0x16, 0x71, 0x01, 0x96, 0xf0, 0x82, 0x9b, 0x43, 0x05, 0x34, 0xf8, 0xf5, + 0xd7, 0x77, 0x60, 0xda, 0x1f, 0x82, 0x9f, 0x30, 0x6b, 0xf1, 0x07, 0xf0, 0x9b, 0x50, 0x90, 0x9f, + 0x0c, 0x60, 0x8b, 0x1f, 0xa2, 0xa4, 0x13, 0x7d, 0x23, 0x90, 0x17, 0x20, 0x75, 0x8e, 0xc1, 0x02, + 0xf9, 0x81, 0x63, 0x76, 0xad, 0xa4, 0x31, 0x58, 0x8e, 0xae, 0xfd, 0x5e, 0x2f, 0xd3, 0x9b, 0x7a, + 0x9b, 0x18, 0x5d, 0x93, 0x3f, 0xab, 0xdd, 0xed, 0xea, 0x4c, 0x6e, 0xd1, 0x49, 0x5d, 0x46, 0x9d, + 0x14, 0x75, 0xe2, 0xc8, 0xe8, 0x2e, 0x4c, 0xc9, 0x2e, 0xe1, 0xe7, 0x07, 0xe2, 0xc5, 0x4c, 0x51, + 0x54, 0x87, 0xdf, 0x1b, 0xf4, 0xab, 0x6a, 0x7a, 0x50, 0x55, 0xb7, 0x00, 0x7c, 0x2a, 0xf7, 0xc7, + 0x81, 0x2f, 0xb9, 0x3f, 0x4a, 0x37, 0x87, 0x28, 0x8a, 0x9a, 0xf3, 0xe5, 0x2f, 0x6f, 0x94, 0x0e, + 0x8e, 0x8d, 0xd2, 0xc1, 0x4d, 0x40, 0x7d, 0xc8, 0xad, 0xd6, 0x06, 0x42, 0x90, 0xf1, 0x83, 0x10, + 0x96, 0x51, 0xf9, 0x6f, 0x16, 0xd4, 0x7d, 0xdf, 0x1c, 0x78, 0x2d, 0x94, 0xf7, 0x7d, 0x33, 0xba, + 0xdf, 0xff, 0x2b, 0x05, 0xf2, 0x1f, 0x73, 0x46, 0xab, 0x44, 0x77, 0x5c, 0x03, 0x7d, 0x04, 0xe2, + 0xd6, 0x58, 0x93, 0xc2, 0x4b, 0xa6, 0xc4, 0x93, 0x1c, 0x43, 0x00, 0x33, 0x48, 0x3f, 0x0e, 0x99, + 0xf0, 0xb4, 0xdf, 0x8f, 0x20, 0x6b, 0x7f, 0xa0, 0x40, 0xb1, 0x2e, 0xe2, 0xbe, 0x74, 0x64, 0xa8, + 0x02, 0x13, 0x32, 0x13, 0x90, 0x09, 0x45, 0x50, 0x44, 0x04, 0x26, 0x5e, 0xa1, 0x53, 0x0d, 0xb0, + 0x6b, 0xbf, 0xad, 0x40, 0x9e, 0x67, 0xcf, 0x82, 0x93, 0xde, 0x59, 0x4f, 0x3e, 0xca, 0x26, 0xf6, + 0x89, 0xe7, 0x6b, 0xcc, 0x49, 0xf1, 0x3c, 0xd2, 0x89, 0x66, 0x78, 0xf7, 0x2c, 0xaf, 0x27, 0x89, + 0xa8, 0x48, 0x80, 0xc4, 0xe9, 0xd6, 0xbe, 0x01, 0x85, 0x28, 0x2d, 0x6a, 0xac, 0x7a, 0xe8, 0x0e, + 0x14, 0x7b, 0xd2, 0x3b, 0x11, 0xf7, 0xf3, 0x6a, 0x21, 0x9e, 0xdf, 0x79, 0xb5, 0xbf, 0x55, 0x60, + 0x32, 0x06, 0x84, 0x6e, 0x42, 0xae, 0x3f, 0x78, 0x45, 0x15, 0x97, 0xb4, 0xf5, 0x8c, 0x6f, 0x86, + 0xd3, 0x17, 0xbc, 0x2c, 0xfd, 0xbe, 0x02, 0x63, 0xe2, 0x8b, 0x96, 0x5f, 0x01, 0xa5, 0x93, 0x50, + 0x73, 0x95, 0x0e, 0x1b, 0xfd, 0x2c, 0xe1, 0xaa, 0x94, 0x67, 0xb5, 0x3f, 0x56, 0x60, 0xa1, 0x1e, + 0x9c, 0x85, 0x47, 0x72, 0xe8, 0x31, 0xb2, 0x73, 0x5d, 0x59, 0x6f, 0x43, 0x51, 0xaa, 0x8f, 0xb0, + 0x9b, 0x40, 0x37, 0xce, 0xf1, 0xbe, 0x41, 0x12, 0x2b, 0x58, 0xb1, 0x92, 0x57, 0xfb, 0x81, 0x02, + 0x37, 0xc3, 0x99, 0xd5, 0x87, 0x4c, 0xeb, 0x74, 0x13, 0xba, 0xf4, 0xb9, 0x78, 0x90, 0x8f, 0x37, + 0x8f, 0xb6, 0x95, 0x28, 0x94, 0x88, 0x8d, 0xc7, 0x48, 0xaa, 0xf1, 0x15, 0xc9, 0xfc, 0x2d, 0x08, + 0x25, 0x75, 0xb6, 0x05, 0xb1, 0x1d, 0x6b, 0x95, 0xe8, 0xd4, 0xc2, 0xa6, 0x77, 0xca, 0x16, 0x64, + 0x8e, 0x6d, 0x41, 0x44, 0x0f, 0x4e, 0x30, 0xa3, 0x86, 0xe5, 0x7b, 0x3e, 0xdc, 0x1c, 0xf5, 0xa5, + 0x15, 0x02, 0x18, 0xdf, 0x72, 0x76, 0x1d, 0xe3, 0xa8, 0x74, 0x05, 0xd5, 0x60, 0x7e, 0x99, 0xec, + 0x53, 0x7b, 0xd9, 0x74, 0xf4, 0xa7, 0xc4, 0x6d, 0x5a, 0xd8, 0xf5, 0x57, 0x1c, 0xdb, 0x77, 0xb1, + 0xee, 0x7b, 0xdb, 0xb6, 0x79, 0x54, 0x52, 0xd0, 0x0c, 0xa0, 0x21, 0xf5, 0x29, 0x94, 0x87, 0xec, + 0xda, 0x01, 0x71, 0x8f, 0x1c, 0x9b, 0x94, 0xd2, 0xf7, 0x5a, 0x01, 0xb7, 0xc4, 0xc3, 0x15, 0x34, + 0x05, 0x93, 0x8f, 0x6d, 0xaf, 0x43, 0x74, 0x1e, 0x1c, 0x4a, 0x57, 0x18, 0xd9, 0x3a, 0xe7, 0x47, + 0x49, 0x61, 0xbf, 0x77, 0x70, 0xd7, 0x23, 0x46, 0x29, 0x85, 0x8a, 0x00, 0xab, 0xc4, 0x72, 0x4c, + 0xea, 0xb5, 0x89, 0x51, 0x4a, 0xa3, 0x49, 0x98, 0xe0, 0x0f, 0x50, 0x89, 0x51, 0xca, 0xdc, 0xfb, + 0x3c, 0x25, 0x9f, 0x51, 0xf0, 0xf3, 0xd6, 0x2a, 0x4c, 0x3e, 0xde, 0x6a, 0xee, 0xac, 0xad, 0x34, + 0xd6, 0x1b, 0x6b, 0xab, 0xa5, 0x2b, 0x73, 0x53, 0xc7, 0x27, 0xd5, 0x78, 0x15, 0x2a, 0x41, 0x7a, + 0xf9, 0xf1, 0x93, 0x92, 0x32, 0x37, 0x71, 0x7c, 0x52, 0x65, 0x3f, 0x59, 0xd8, 0x69, 0xae, 0x6d, + 0x6c, 0x94, 0x52, 0x73, 0xd9, 0xe3, 0x93, 0x2a, 0xff, 0xcd, 0xb8, 0xd7, 0x6c, 0x6d, 0xef, 0x68, + 0xac, 0x6b, 0x7a, 0x2e, 0x7f, 0x7c, 0x52, 0x0d, 0xcb, 0xcc, 0xa3, 0xf0, 0xdf, 0x7c, 0x50, 0x66, + 0xae, 0x70, 0x7c, 0x52, 0x8d, 0x2a, 0xd8, 0xc8, 0x56, 0xfd, 0xc3, 0x35, 0x3e, 0x72, 0x4c, 0x8c, + 0x0c, 0xca, 0x6c, 0x24, 0xff, 0xcd, 0x47, 0x8e, 0x8b, 0x91, 0x61, 0x05, 0x9a, 0x81, 0xf1, 0xe5, + 0xc7, 0x4f, 0xb4, 0x9d, 0xed, 0xd2, 0xc4, 0x1c, 0x1c, 0x9f, 0x54, 0x65, 0x89, 0x29, 0x34, 0x6b, + 0x67, 0x0d, 0xd9, 0xb9, 0xc9, 0xe3, 0x93, 0x6a, 0x50, 0x44, 0xf3, 0x00, 0xac, 0x4f, 0xbd, 0xb5, + 0xbd, 0xd9, 0x58, 0x29, 0xe5, 0xe6, 0x8a, 0xc7, 0x27, 0xd5, 0x58, 0x0d, 0xe3, 0x06, 0xef, 0x2a, + 0x3b, 0x80, 0xe0, 0x46, 0xac, 0xea, 0xde, 0x5f, 0x28, 0x50, 0x58, 0x0b, 0x4e, 0x52, 0x38, 0x07, + 0x6f, 0x42, 0x25, 0x26, 0x95, 0x9e, 0x36, 0x21, 0x22, 0x21, 0xc3, 0x92, 0x82, 0x0a, 0x90, 0xe3, + 0xf7, 0x25, 0xeb, 0xd4, 0x34, 0x4b, 0x29, 0x34, 0x07, 0x33, 0xbc, 0xb8, 0x89, 0x7d, 0xbd, 0xad, + 0x8a, 0x6f, 0x21, 0xb9, 0x60, 0x4a, 0x69, 0xa6, 0x20, 0x51, 0xdb, 0x16, 0x79, 0x2e, 0xea, 0x33, + 0xe8, 0x1a, 0x5c, 0x95, 0x9f, 0x54, 0xc9, 0x8f, 0x1a, 0xa9, 0x63, 0x97, 0xc6, 0x18, 0x94, 0x78, + 0x61, 0xdc, 0xff, 0x08, 0xb1, 0x34, 0x7e, 0xef, 0x07, 0x81, 0xbc, 0x37, 0xb1, 0xf7, 0x94, 0xf1, + 0xec, 0xf1, 0xd6, 0xe3, 0x26, 0x17, 0x35, 0xe7, 0x99, 0x28, 0x31, 0x29, 0xd7, 0xb7, 0x42, 0x29, + 0xd7, 0xb7, 0x9e, 0x30, 0x2e, 0xaa, 0x6b, 0xef, 0x3f, 0xde, 0xa8, 0xab, 0xa5, 0x94, 0xe0, 0xa2, + 0x2c, 0x32, 0x2e, 0xad, 0x6c, 0x6f, 0xad, 0x36, 0x5a, 0x8d, 0xed, 0xad, 0x3a, 0x93, 0x28, 0xe7, + 0x52, 0xac, 0x0a, 0x2d, 0xc1, 0xec, 0x6a, 0x43, 0x5d, 0x5b, 0x61, 0x45, 0x26, 0x48, 0x6d, 0x5b, + 0xd5, 0x1e, 0x35, 0xde, 0x7f, 0xb4, 0xa6, 0x96, 0xb2, 0x73, 0x57, 0x8f, 0x4f, 0xaa, 0x85, 0x9e, + 0xca, 0xde, 0xfe, 0x9c, 0xdd, 0xdb, 0xaa, 0xb6, 0xb1, 0xfd, 0xad, 0x35, 0xb5, 0x54, 0x12, 0xfd, + 0x7b, 0x2a, 0xd1, 0x0d, 0x98, 0x6c, 0x3d, 0xd9, 0x59, 0xd3, 0x36, 0xeb, 0xea, 0x87, 0x6b, 0xad, + 0x52, 0x55, 0x2c, 0x45, 0x94, 0xd0, 0x75, 0x00, 0xde, 0xb8, 0xd1, 0xd8, 0x6c, 0xb4, 0x4a, 0x0f, + 0xe7, 0x72, 0xc7, 0x27, 0xd5, 0x31, 0x5e, 0x58, 0x6e, 0xff, 0xf8, 0xc5, 0xbc, 0xf2, 0xc5, 0x8b, + 0x79, 0xe5, 0x9f, 0x5f, 0xcc, 0x2b, 0xbf, 0xff, 0xe5, 0xfc, 0x95, 0x2f, 0xbe, 0x9c, 0xbf, 0xf2, + 0xf7, 0x5f, 0xce, 0x5f, 0xf9, 0xd5, 0xad, 0x98, 0xab, 0x6f, 0x04, 0x6e, 0x66, 0x03, 0xef, 0x7a, + 0xf7, 0x43, 0xa7, 0xf3, 0xb6, 0xee, 0xb8, 0x24, 0x5e, 0x6c, 0x63, 0x6a, 0xdf, 0xb7, 0x1c, 0x96, + 0x97, 0x7a, 0xd1, 0xff, 0x6e, 0xe0, 0x61, 0x61, 0x77, 0x9c, 0x7f, 0xa2, 0xf7, 0x0b, 0xff, 0x1b, + 0x00, 0x00, 0xff, 0xff, 0x0c, 0x1e, 0x9c, 0x40, 0xde, 0x41, 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { @@ -4201,6 +4296,65 @@ func (m *NextFundingTimestamp) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *MidPriceAndTOB) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MidPriceAndTOB) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MidPriceAndTOB) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.BestSellPrice != nil { + { + size := m.BestSellPrice.Size() + i -= size + if _, err := m.BestSellPrice.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintExchange(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + if m.BestBuyPrice != nil { + { + size := m.BestBuyPrice.Size() + i -= size + if _, err := m.BestBuyPrice.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintExchange(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if m.MidPrice != nil { + { + size := m.MidPrice.Size() + i -= size + if _, err := m.MidPrice.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintExchange(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *SpotMarket) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -6544,6 +6698,27 @@ func (m *NextFundingTimestamp) Size() (n int) { return n } +func (m *MidPriceAndTOB) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.MidPrice != nil { + l = m.MidPrice.Size() + n += 1 + l + sovExchange(uint64(l)) + } + if m.BestBuyPrice != nil { + l = m.BestBuyPrice.Size() + n += 1 + l + sovExchange(uint64(l)) + } + if m.BestSellPrice != nil { + l = m.BestSellPrice.Size() + n += 1 + l + sovExchange(uint64(l)) + } + return n +} + func (m *SpotMarket) Size() (n int) { if m == nil { return 0 @@ -9978,6 +10153,164 @@ func (m *NextFundingTimestamp) Unmarshal(dAtA []byte) error { } return nil } +func (m *MidPriceAndTOB) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExchange + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MidPriceAndTOB: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MidPriceAndTOB: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MidPrice", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExchange + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthExchange + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthExchange + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var v github_com_cosmos_cosmos_sdk_types.Dec + m.MidPrice = &v + if err := m.MidPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BestBuyPrice", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExchange + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthExchange + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthExchange + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var v github_com_cosmos_cosmos_sdk_types.Dec + m.BestBuyPrice = &v + if err := m.BestBuyPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BestSellPrice", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExchange + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthExchange + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthExchange + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var v github_com_cosmos_cosmos_sdk_types.Dec + m.BestSellPrice = &v + if err := m.BestSellPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipExchange(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthExchange + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *SpotMarket) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/chain/exchange/types/expected_keepers.go b/chain/exchange/types/expected_keepers.go index 60f02ded..4a565c43 100644 --- a/chain/exchange/types/expected_keepers.go +++ b/chain/exchange/types/expected_keepers.go @@ -3,13 +3,13 @@ package types import ( "time" + sdkmath "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/distribution/types" + v1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" "github.com/ethereum/go-ethereum/common" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" insurancetypes "github.com/InjectiveLabs/sdk-go/chain/insurance/types" @@ -44,16 +44,16 @@ type InsuranceKeeper interface { // GetInsuranceFund returns the insurance fund corresponding to the given marketID. GetInsuranceFund(ctx sdk.Context, marketID common.Hash) *insurancetypes.InsuranceFund // DepositIntoInsuranceFund increments the insurance fund balance by amount. - DepositIntoInsuranceFund(ctx sdk.Context, marketID common.Hash, amount sdk.Int) error + DepositIntoInsuranceFund(ctx sdk.Context, marketID common.Hash, amount sdkmath.Int) error // WithdrawFromInsuranceFund decrements the insurance fund balance by amount and sends - WithdrawFromInsuranceFund(ctx sdk.Context, marketID common.Hash, amount sdk.Int) error + WithdrawFromInsuranceFund(ctx sdk.Context, marketID common.Hash, amount sdkmath.Int) error // UpdateInsuranceFundOracleParams updates the insurance fund's oracle parameters UpdateInsuranceFundOracleParams(ctx sdk.Context, marketID common.Hash, oracleParams *OracleParams) error } type GovKeeper interface { - IterateActiveProposalsQueue(ctx sdk.Context, endTime time.Time, cb func(proposal govtypes.Proposal) (stop bool)) - GetVotingParams(ctx sdk.Context) govtypes.VotingParams + IterateActiveProposalsQueue(ctx sdk.Context, endTime time.Time, cb func(proposal v1.Proposal) (stop bool)) + GetParams(ctx sdk.Context) v1.Params } type DistributionKeeper interface { diff --git a/chain/exchange/types/fee_discounts.go b/chain/exchange/types/fee_discounts.go index 19602f05..c9f16850 100644 --- a/chain/exchange/types/fee_discounts.go +++ b/chain/exchange/types/fee_discounts.go @@ -1,6 +1,7 @@ package types import ( + sdkmath "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -10,7 +11,7 @@ type FeeDiscountRates struct { } func (s *FeeDiscountSchedule) CalculateFeeDiscountTier( - stakedAmount sdk.Int, + stakedAmount sdkmath.Int, tradingVolume sdk.Dec, ) ( feeDiscountRates *FeeDiscountRates, @@ -44,7 +45,7 @@ func (s *FeeDiscountSchedule) CalculateFeeDiscountTier( } func (s *FeeDiscountSchedule) TierOneRequirements() ( - minStakedAmount sdk.Int, + minStakedAmount sdkmath.Int, minTradingFeePaid sdk.Dec, ) { // s.TierInfos[0] is tier one, since tier 0 is implicit diff --git a/chain/exchange/types/fee_validation.go b/chain/exchange/types/fee_validation.go index 326496eb..9284639c 100644 --- a/chain/exchange/types/fee_validation.go +++ b/chain/exchange/types/fee_validation.go @@ -3,8 +3,8 @@ package types import ( "fmt" + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) func ValidateMakerWithTakerFee(makerFeeRate, takerFeeRate, relayerFeeShareRate, minimalProtocolFeeRate sdk.Dec) error { @@ -19,7 +19,7 @@ func ValidateMakerWithTakerFee(makerFeeRate, takerFeeRate, relayerFeeShareRate, // if makerFeeRate is negative, must hold: takerFeeRate * (1 - relayerFeeShareRate) + makerFeeRate > minimalProtocolFeeRate if takerFeeRate.Mul(sdk.OneDec().Sub(relayerFeeShareRate)).Add(makerFeeRate).LT(minimalProtocolFeeRate) { errMsg := fmt.Sprintf("if makerFeeRate (%v) is negative, (takerFeeRate = %v) * (1 - relayerFeeShareRate = %v) + makerFeeRate < %v", makerFeeRate.String(), takerFeeRate.String(), relayerFeeShareRate.String(), minimalProtocolFeeRate.String()) - return sdkerrors.Wrap(ErrFeeRatesRelation, errMsg) + return errors.Wrap(ErrFeeRatesRelation, errMsg) } return nil diff --git a/chain/exchange/types/genesis.pb.go b/chain/exchange/types/genesis.pb.go index dcd8aef6..92998d1d 100644 --- a/chain/exchange/types/genesis.pb.go +++ b/chain/exchange/types/genesis.pb.go @@ -6,8 +6,8 @@ package types import ( fmt "fmt" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" @@ -34,21 +34,27 @@ type GenesisState struct { DerivativeMarkets []*DerivativeMarket `protobuf:"bytes,3,rep,name=derivative_markets,json=derivativeMarkets,proto3" json:"derivative_markets,omitempty"` // spot_orderbook defines the spot exchange limit orderbook active at genesis. SpotOrderbook []SpotOrderBook `protobuf:"bytes,4,rep,name=spot_orderbook,json=spotOrderbook,proto3" json:"spot_orderbook"` - // derivative_orderbook defines the derivative exchange limit orderbook active at genesis. + // derivative_orderbook defines the derivative exchange limit orderbook active + // at genesis. DerivativeOrderbook []DerivativeOrderBook `protobuf:"bytes,5,rep,name=derivative_orderbook,json=derivativeOrderbook,proto3" json:"derivative_orderbook"` // balances defines the exchange users balances active at genesis. Balances []Balance `protobuf:"bytes,6,rep,name=balances,proto3" json:"balances"` // positions defines the exchange derivative positions at genesis Positions []DerivativePosition `protobuf:"bytes,7,rep,name=positions,proto3" json:"positions"` - // subaccount_trade_nonces defines the subaccount trade nonces for the subaccounts at genesis + // subaccount_trade_nonces defines the subaccount trade nonces for the + // subaccounts at genesis SubaccountTradeNonces []SubaccountNonce `protobuf:"bytes,8,rep,name=subaccount_trade_nonces,json=subaccountTradeNonces,proto3" json:"subaccount_trade_nonces"` - // expiry_futures_market_info defines the market info for the expiry futures markets at genesis + // expiry_futures_market_info defines the market info for the expiry futures + // markets at genesis ExpiryFuturesMarketInfoState []ExpiryFuturesMarketInfoState `protobuf:"bytes,9,rep,name=expiry_futures_market_info_state,json=expiryFuturesMarketInfoState,proto3" json:"expiry_futures_market_info_state"` - // perpetual_market_info defines the market info for the perpetual derivative markets at genesis + // perpetual_market_info defines the market info for the perpetual derivative + // markets at genesis PerpetualMarketInfo []PerpetualMarketInfo `protobuf:"bytes,10,rep,name=perpetual_market_info,json=perpetualMarketInfo,proto3" json:"perpetual_market_info"` - // perpetual_market_funding_state defines the funding state for the perpetual derivative markets at genesis + // perpetual_market_funding_state defines the funding state for the perpetual + // derivative markets at genesis PerpetualMarketFundingState []PerpetualMarketFundingState `protobuf:"bytes,11,rep,name=perpetual_market_funding_state,json=perpetualMarketFundingState,proto3" json:"perpetual_market_funding_state"` - // derivative_market_settlement_scheduled defines the scheduled markets for settlement at genesis + // derivative_market_settlement_scheduled defines the scheduled markets for + // settlement at genesis DerivativeMarketSettlementScheduled []DerivativeMarketSettlementInfo `protobuf:"bytes,12,rep,name=derivative_market_settlement_scheduled,json=derivativeMarketSettlementScheduled,proto3" json:"derivative_market_settlement_scheduled"` // sets spot markets as enabled IsSpotExchangeEnabled bool `protobuf:"varint,13,opt,name=is_spot_exchange_enabled,json=isSpotExchangeEnabled,proto3" json:"is_spot_exchange_enabled,omitempty"` @@ -75,17 +81,22 @@ type GenesisState struct { // the addresses opting out of trading rewards RewardsOptOutAddresses []string `protobuf:"bytes,24,rep,name=rewards_opt_out_addresses,json=rewardsOptOutAddresses,proto3" json:"rewards_opt_out_addresses,omitempty"` HistoricalTradeRecords []*TradeRecords `protobuf:"bytes,25,rep,name=historical_trade_records,json=historicalTradeRecords,proto3" json:"historical_trade_records,omitempty"` - // binary_options_markets is an array containing the genesis binary options markets + // binary_options_markets is an array containing the genesis binary options + // markets BinaryOptionsMarkets []*BinaryOptionsMarket `protobuf:"bytes,26,rep,name=binary_options_markets,json=binaryOptionsMarkets,proto3" json:"binary_options_markets,omitempty"` - // binary_options_markets_scheduled_for_settlement contains the marketIDs of binary options markets scheduled for next-block settlement + // binary_options_markets_scheduled_for_settlement contains the marketIDs of + // binary options markets scheduled for next-block settlement BinaryOptionsMarketIdsScheduledForSettlement []string `protobuf:"bytes,27,rep,name=binary_options_market_ids_scheduled_for_settlement,json=binaryOptionsMarketIdsScheduledForSettlement,proto3" json:"binary_options_market_ids_scheduled_for_settlement,omitempty"` - // spot_market_ids_scheduled_to_force_close defines the scheduled markets for forced closings at genesis + // spot_market_ids_scheduled_to_force_close defines the scheduled markets for + // forced closings at genesis SpotMarketIdsScheduledToForceClose []string `protobuf:"bytes,28,rep,name=spot_market_ids_scheduled_to_force_close,json=spotMarketIdsScheduledToForceClose,proto3" json:"spot_market_ids_scheduled_to_force_close,omitempty"` // denom_decimals defines the denom decimals for the exchange. DenomDecimals []DenomDecimals `protobuf:"bytes,29,rep,name=denom_decimals,json=denomDecimals,proto3" json:"denom_decimals"` - // conditional_derivative_orderbook contains conditional orderbooks for all markets (both lmit and market conditional orders) + // conditional_derivative_orderbook contains conditional orderbooks for all + // markets (both lmit and market conditional orders) ConditionalDerivativeOrderbooks []*ConditionalDerivativeOrderBook `protobuf:"bytes,30,rep,name=conditional_derivative_orderbooks,json=conditionalDerivativeOrderbooks,proto3" json:"conditional_derivative_orderbooks,omitempty"` - // market_fee_multipliers contains any non-default atomic order fee multipliers + // market_fee_multipliers contains any non-default atomic order fee + // multipliers MarketFeeMultipliers []*MarketFeeMultiplier `protobuf:"bytes,31,rep,name=market_fee_multipliers,json=marketFeeMultipliers,proto3" json:"market_fee_multipliers,omitempty"` OrderbookSequences []*OrderbookSequence `protobuf:"bytes,32,rep,name=orderbook_sequences,json=orderbookSequences,proto3" json:"orderbook_sequences,omitempty"` SubaccountVolumes []*AggregateSubaccountVolumeRecord `protobuf:"bytes,33,rep,name=subaccount_volumes,json=subaccountVolumes,proto3" json:"subaccount_volumes,omitempty"` diff --git a/chain/exchange/types/key.go b/chain/exchange/types/key.go index 095c9977..e0942bff 100644 --- a/chain/exchange/types/key.go +++ b/chain/exchange/types/key.go @@ -20,7 +20,7 @@ const ( TStoreKey = "transient_exchange" ) const PriceDecimalPlaces = 18 -const DefaultQueryOrderbookLimit = 20 +const DefaultQueryOrderbookLimit uint64 = 20 const Uint64BytesLen = 8 var ( @@ -37,6 +37,7 @@ var ( OrderbookSequencePrefix = []byte{0x0a} // prefix for each key to a market's orderbook sequence SubaccountMarketVolumePrefix = []byte{0x0b} // prefix for each key to the aggregate volume for a subaccount in a market MarketVolumePrefix = []byte{0x0c} // prefix for each key to the aggregate volume for a market + ParamsKey = []byte{0x0d} // prefix for module params DenomDecimalsPrefix = []byte{0x10} // prefix for denom decimals SpotMarketsPrefix = []byte{0x11} // prefix for each key to a spot market by (isEnabled, marketID) @@ -325,10 +326,18 @@ func GetSpotLimitOrderIndexPrefix(marketID common.Hash, isBuy bool, subaccountID return append(SpotLimitOrdersIndexPrefix, GetLimitOrderIndexSubaccountPrefix(marketID, isBuy, subaccountID)...) } +func GetSpotLimitOrderIndexByAccountAddressPrefix(marketID common.Hash, isBuy bool, account sdk.AccAddress) []byte { + return append(SpotLimitOrdersIndexPrefix, GetLimitOrderIndexAccountAddressPrefix(marketID, isBuy, account)...) +} + func GetDerivativeLimitOrderIndexPrefix(marketID common.Hash, isBuy bool, subaccountID common.Hash) []byte { return append(DerivativeLimitOrdersIndexPrefix, GetLimitOrderIndexSubaccountPrefix(marketID, isBuy, subaccountID)...) } +func GetDerivativeLimitOrderIndexByAccountAddressPrefix(marketID common.Hash, isBuy bool, account sdk.AccAddress) []byte { + return append(DerivativeLimitOrdersIndexPrefix, GetLimitOrderIndexAccountAddressPrefix(marketID, isBuy, account)...) +} + func GetLimitOrderIndexKey(marketID common.Hash, isBuy bool, subaccountID, orderHash common.Hash) []byte { return append(GetLimitOrderIndexSubaccountPrefix(marketID, isBuy, subaccountID), orderHash.Bytes()...) } @@ -342,6 +351,11 @@ func GetLimitOrderIndexSubaccountPrefix(marketID common.Hash, isBuy bool, subacc return append(MarketDirectionPrefix(marketID, isBuy), subaccountID.Bytes()...) } +// GetLimitOrderIndexAccountAddressPrefix returns a prefix containing marketID + isBuy + account +func GetLimitOrderIndexAccountAddressPrefix(marketID common.Hash, isBuy bool, account sdk.AccAddress) []byte { + return append(MarketDirectionPrefix(marketID, isBuy), account.Bytes()...) +} + func GetOrderByPriceKeyPrefix(marketID common.Hash, isBuy bool, price sdk.Dec, orderHash common.Hash) []byte { return append(append(MarketDirectionPrefix(marketID, isBuy), []byte(GetPaddedPrice(price))...), orderHash.Bytes()...) } diff --git a/chain/exchange/types/msgs.go b/chain/exchange/types/msgs.go index 26ee919d..73479b65 100644 --- a/chain/exchange/types/msgs.go +++ b/chain/exchange/types/msgs.go @@ -4,11 +4,12 @@ import ( "bytes" "encoding/json" + "cosmossdk.io/errors" sdksecp256k1 "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" signingtypes "github.com/cosmos/cosmos-sdk/types/tx/signing" - "github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx" + "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx" "github.com/cosmos/cosmos-sdk/x/auth/signing" "github.com/ethereum/go-ethereum/common" @@ -49,6 +50,7 @@ var ( _ sdk.Msg = &MsgAdminUpdateBinaryOptionsMarket{} _ sdk.Msg = &MsgBatchCancelBinaryOptionsOrders{} _ sdk.Msg = &MsgReclaimLockedFunds{} + _ sdk.Msg = &MsgUpdateParams{} ) // exchange message types @@ -82,17 +84,43 @@ const ( TypeMsgAdminUpdateBinaryOptionsMarket = "adminUpdateBinaryOptionsMarket" TypeMsgBatchCancelBinaryOptionsOrders = "batchCancelBinaryOptionsOrders" TypeMsgReclaimLockedFunds = "reclaimLockedFunds" + TypeMsgUpdateParams = "updateParams" ) +func (msg MsgUpdateParams) Route() string { return RouterKey } + +func (msg MsgUpdateParams) Type() string { return TypeMsgUpdateParams } + +func (msg MsgUpdateParams) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Authority); err != nil { + return errors.Wrap(err, "invalid authority address") + } + + if err := msg.Params.Validate(); err != nil { + return err + } + + return nil +} + +func (msg *MsgUpdateParams) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(msg)) +} + +func (msg MsgUpdateParams) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(msg.Authority) + return []sdk.AccAddress{addr} +} + func (o *SpotOrder) ValidateBasic(senderAddr sdk.AccAddress) error { if !IsHexHash(o.MarketId) { - return sdkerrors.Wrap(ErrMarketInvalid, o.MarketId) + return errors.Wrap(ErrMarketInvalid, o.MarketId) } switch o.OrderType { case OrderType_BUY, OrderType_SELL, OrderType_BUY_PO, OrderType_SELL_PO, OrderType_BUY_ATOMIC, OrderType_SELL_ATOMIC: // do nothing default: - return sdkerrors.Wrap(ErrUnrecognizedOrderType, string(o.OrderType)) + return errors.Wrap(ErrUnrecognizedOrderType, string(o.OrderType)) } // for legacy support purposes, allow non-conditional orders to send a 0 trigger price @@ -103,7 +131,7 @@ func (o *SpotOrder) ValidateBasic(senderAddr sdk.AccAddress) error { if o.OrderInfo.FeeRecipient != "" { _, err := sdk.AccAddressFromBech32(o.OrderInfo.FeeRecipient) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, o.OrderInfo.FeeRecipient) + return errors.Wrap(sdkerrors.ErrInvalidAddress, o.OrderInfo.FeeRecipient) } } return o.OrderInfo.ValidateBasic(senderAddr, false, false) @@ -115,7 +143,7 @@ func (o *OrderInfo) ValidateBasic(senderAddr sdk.AccAddress, hasBinaryPriceBand, } if o.Quantity.IsNil() || o.Quantity.LTE(sdk.ZeroDec()) || o.Quantity.GT(MaxOrderQuantity) { - return sdkerrors.Wrap(ErrInvalidQuantity, o.Quantity.String()) + return errors.Wrap(ErrInvalidQuantity, o.Quantity.String()) } if hasBinaryPriceBand { @@ -123,16 +151,16 @@ func (o *OrderInfo) ValidateBasic(senderAddr sdk.AccAddress, hasBinaryPriceBand, // and we have no idea what the scale factor of the market is here when we execute ValidateBasic(), and thus we allow // very high ceiling price to cover all cases if o.Price.IsNil() || o.Price.LT(sdk.ZeroDec()) || o.Price.GT(MaxOrderPrice) { - return sdkerrors.Wrap(ErrInvalidPrice, o.Price.String()) + return errors.Wrap(ErrInvalidPrice, o.Price.String()) } } else { if o.Price.IsNil() || o.Price.LTE(sdk.ZeroDec()) || o.Price.GT(MaxOrderPrice) { - return sdkerrors.Wrap(ErrInvalidPrice, o.Price.String()) + return errors.Wrap(ErrInvalidPrice, o.Price.String()) } } if isDerivative && !hasBinaryPriceBand && o.Price.LT(MinDerivativeOrderPrice) { - return sdkerrors.Wrap(ErrInvalidPrice, o.Price.String()) + return errors.Wrap(ErrInvalidPrice, o.Price.String()) } return nil @@ -140,22 +168,22 @@ func (o *OrderInfo) ValidateBasic(senderAddr sdk.AccAddress, hasBinaryPriceBand, func (o *DerivativeOrder) ValidateBasic(senderAddr sdk.AccAddress, hasBinaryPriceBand bool) error { if !IsHexHash(o.MarketId) { - return sdkerrors.Wrap(ErrMarketInvalid, o.MarketId) + return errors.Wrap(ErrMarketInvalid, o.MarketId) } switch o.OrderType { case OrderType_BUY, OrderType_SELL, OrderType_BUY_PO, OrderType_SELL_PO, OrderType_STOP_BUY, OrderType_STOP_SELL, OrderType_TAKE_BUY, OrderType_TAKE_SELL, OrderType_BUY_ATOMIC, OrderType_SELL_ATOMIC: // do nothing default: - return sdkerrors.Wrap(ErrUnrecognizedOrderType, string(o.OrderType)) + return errors.Wrap(ErrUnrecognizedOrderType, string(o.OrderType)) } if o.Margin.IsNil() || o.Margin.LT(sdk.ZeroDec()) { - return sdkerrors.Wrap(ErrInsufficientOrderMargin, o.Margin.String()) + return errors.Wrap(ErrInsufficientOrderMargin, o.Margin.String()) } if o.Margin.GT(MaxOrderMargin) { - return sdkerrors.Wrap(ErrTooMuchOrderMargin, o.Margin.String()) + return errors.Wrap(ErrTooMuchOrderMargin, o.Margin.String()) } // for legacy support purposes, allow non-conditional orders to send a 0 trigger price @@ -165,13 +193,13 @@ func (o *DerivativeOrder) ValidateBasic(senderAddr sdk.AccAddress, hasBinaryPric if o.IsConditional() && (o.TriggerPrice == nil || o.TriggerPrice.LT(MinDerivativeOrderPrice)) { /*|| !o.IsConditional() && o.TriggerPrice != nil */// commented out this check since FE is sending to us 0.0 trigger price for all orders - return sdkerrors.Wrapf(ErrInvalidTriggerPrice, "Mismatch between triggerPrice: %v and orderType: %v, or triggerPrice is incorrect", o.TriggerPrice, o.OrderType) + return errors.Wrapf(ErrInvalidTriggerPrice, "Mismatch between triggerPrice: %v and orderType: %v, or triggerPrice is incorrect", o.TriggerPrice, o.OrderType) } if o.OrderInfo.FeeRecipient != "" { _, err := sdk.AccAddressFromBech32(o.OrderInfo.FeeRecipient) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, o.OrderInfo.FeeRecipient) + return errors.Wrap(sdkerrors.ErrInvalidAddress, o.OrderInfo.FeeRecipient) } } return o.OrderInfo.ValidateBasic(senderAddr, hasBinaryPriceBand, !hasBinaryPriceBand) @@ -179,7 +207,7 @@ func (o *DerivativeOrder) ValidateBasic(senderAddr sdk.AccAddress, hasBinaryPric func (o *OrderData) ValidateBasic(senderAddr sdk.AccAddress) error { if !IsHexHash(o.MarketId) { - return sdkerrors.Wrap(ErrMarketInvalid, o.MarketId) + return errors.Wrap(ErrMarketInvalid, o.MarketId) } if err := CheckValidSubaccountIDOrNonce(senderAddr, o.SubaccountId); err != nil { @@ -187,7 +215,7 @@ func (o *OrderData) ValidateBasic(senderAddr sdk.AccAddress) error { } if ok := IsValidOrderHash(o.OrderHash); !ok { - return sdkerrors.Wrap(ErrOrderHashInvalid, o.OrderHash) + return errors.Wrap(ErrOrderHashInvalid, o.OrderHash) } return nil } @@ -203,33 +231,33 @@ func (msg MsgDeposit) ValidateBasic() error { senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if !msg.Amount.IsValid() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) } if !msg.Amount.IsPositive() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) } if IsNonceDerivedSubaccountID(msg.SubaccountId) { subaccountID, err := GetSubaccountIDOrDeriveFromNonce(senderAddr, msg.SubaccountId) if err != nil { - return sdkerrors.Wrap(ErrBadSubaccountID, msg.SubaccountId) + return errors.Wrap(ErrBadSubaccountID, msg.SubaccountId) } if IsDefaultSubaccountID(subaccountID) { - return sdkerrors.Wrap(ErrBadSubaccountID, msg.SubaccountId) + return errors.Wrap(ErrBadSubaccountID, msg.SubaccountId) } } else { // deposits to externally owned subaccounts are allowed but they MUST be explicitly specified _, ok := IsValidSubaccountID(msg.SubaccountId) if !ok { - return sdkerrors.Wrap(ErrBadSubaccountID, msg.SubaccountId) + return errors.Wrap(ErrBadSubaccountID, msg.SubaccountId) } if IsDefaultSubaccountID(common.HexToHash(msg.SubaccountId)) { - return sdkerrors.Wrap(ErrBadSubaccountID, msg.SubaccountId) + return errors.Wrap(ErrBadSubaccountID, msg.SubaccountId) } } @@ -260,15 +288,15 @@ func (msg MsgWithdraw) Type() string { return TypeMsgWithdraw } func (msg MsgWithdraw) ValidateBasic() error { senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if !msg.Amount.IsValid() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) } if !msg.Amount.IsPositive() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) } if err := CheckValidSubaccountIDOrNonce(senderAddr, msg.SubaccountId); err != nil { @@ -277,11 +305,11 @@ func (msg MsgWithdraw) ValidateBasic() error { subaccountID, err := GetSubaccountIDOrDeriveFromNonce(senderAddr, msg.SubaccountId) if err != nil { - return sdkerrors.Wrap(ErrBadSubaccountID, msg.SubaccountId) + return errors.Wrap(ErrBadSubaccountID, msg.SubaccountId) } if IsDefaultSubaccountID(subaccountID) { - return sdkerrors.Wrap(ErrBadSubaccountID, msg.SubaccountId) + return errors.Wrap(ErrBadSubaccountID, msg.SubaccountId) } return nil } @@ -310,26 +338,26 @@ func (msg MsgInstantSpotMarketLaunch) Type() string { return TypeMsgInstantSpotM func (msg MsgInstantSpotMarketLaunch) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.Ticker == "" || len(msg.Ticker) > MaxTickerLength { - return sdkerrors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") } if msg.BaseDenom == "" { - return sdkerrors.Wrap(ErrInvalidBaseDenom, "base denom should not be empty") + return errors.Wrap(ErrInvalidBaseDenom, "base denom should not be empty") } if msg.QuoteDenom == "" { - return sdkerrors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") + return errors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") } if msg.BaseDenom == msg.QuoteDenom { return ErrSameDenoms } if err := ValidateTickSize(msg.MinPriceTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidPriceTickSize, err.Error()) + return errors.Wrap(ErrInvalidPriceTickSize, err.Error()) } if err := ValidateTickSize(msg.MinQuantityTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidQuantityTickSize, err.Error()) + return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } return nil @@ -359,13 +387,13 @@ func (msg MsgInstantPerpetualMarketLaunch) Type() string { return TypeMsgInstant func (msg MsgInstantPerpetualMarketLaunch) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.Ticker == "" || len(msg.Ticker) > MaxTickerLength { - return sdkerrors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") } if msg.QuoteDenom == "" { - return sdkerrors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") + return errors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") } oracleParams := NewOracleParams(msg.OracleBase, msg.OracleQuote, msg.OracleScaleFactor, msg.OracleType) if err := oracleParams.ValidateBasic(); err != nil { @@ -390,10 +418,10 @@ func (msg MsgInstantPerpetualMarketLaunch) ValidateBasic() error { return ErrMarginsRelation } if err := ValidateTickSize(msg.MinPriceTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidPriceTickSize, err.Error()) + return errors.Wrap(ErrInvalidPriceTickSize, err.Error()) } if err := ValidateTickSize(msg.MinQuantityTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidQuantityTickSize, err.Error()) + return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } return nil @@ -425,19 +453,19 @@ func (msg MsgInstantBinaryOptionsMarketLaunch) Type() string { func (msg MsgInstantBinaryOptionsMarketLaunch) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.Ticker == "" || len(msg.Ticker) > MaxTickerLength { - return sdkerrors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") } if msg.OracleSymbol == "" { - return sdkerrors.Wrap(ErrInvalidOracle, "oracle symbol should not be empty") + return errors.Wrap(ErrInvalidOracle, "oracle symbol should not be empty") } if msg.OracleProvider == "" { - return sdkerrors.Wrap(ErrInvalidOracle, "oracle provider should not be empty") + return errors.Wrap(ErrInvalidOracle, "oracle provider should not be empty") } if msg.OracleType != oracletypes.OracleType_Provider { - return sdkerrors.Wrap(ErrInvalidOracleType, msg.OracleType.String()) + return errors.Wrap(ErrInvalidOracleType, msg.OracleType.String()) } if msg.OracleScaleFactor > MaxOracleScaleFactor { return ErrExceedsMaxOracleScaleFactor @@ -457,17 +485,17 @@ func (msg MsgInstantBinaryOptionsMarketLaunch) ValidateBasic() error { if msg.Admin != "" { _, err := sdk.AccAddressFromBech32(msg.Admin) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Admin) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Admin) } } if msg.QuoteDenom == "" { - return sdkerrors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") + return errors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") } if err := ValidateTickSize(msg.MinPriceTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidPriceTickSize, err.Error()) + return errors.Wrap(ErrInvalidPriceTickSize, err.Error()) } if err := ValidateTickSize(msg.MinQuantityTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidQuantityTickSize, err.Error()) + return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } return nil @@ -499,13 +527,13 @@ func (msg MsgInstantExpiryFuturesMarketLaunch) Type() string { func (msg MsgInstantExpiryFuturesMarketLaunch) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.Ticker == "" || len(msg.Ticker) > MaxTickerLength { - return sdkerrors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") } if msg.QuoteDenom == "" { - return sdkerrors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") + return errors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") } oracleParams := NewOracleParams(msg.OracleBase, msg.OracleQuote, msg.OracleScaleFactor, msg.OracleType) @@ -513,7 +541,7 @@ func (msg MsgInstantExpiryFuturesMarketLaunch) ValidateBasic() error { return err } if msg.Expiry <= 0 { - return sdkerrors.Wrap(ErrInvalidExpiry, "expiry should not be empty") + return errors.Wrap(ErrInvalidExpiry, "expiry should not be empty") } if err := ValidateMakerFee(msg.MakerFeeRate); err != nil { return err @@ -534,10 +562,10 @@ func (msg MsgInstantExpiryFuturesMarketLaunch) ValidateBasic() error { return ErrMarginsRelation } if err := ValidateTickSize(msg.MinPriceTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidPriceTickSize, err.Error()) + return errors.Wrap(ErrInvalidPriceTickSize, err.Error()) } if err := ValidateTickSize(msg.MinQuantityTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidQuantityTickSize, err.Error()) + return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } return nil @@ -567,7 +595,7 @@ func (msg MsgCreateSpotLimitOrder) Type() string { return TypeMsgCreateSpotLimit func (msg MsgCreateSpotLimitOrder) ValidateBasic() error { senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { // We don't need to check if sender is empty. - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if err := msg.Order.ValidateBasic(senderAddr); err != nil { return err @@ -599,11 +627,11 @@ func (msg MsgBatchCreateSpotLimitOrders) Type() string { return TypeMsgBatchCrea func (msg MsgBatchCreateSpotLimitOrders) ValidateBasic() error { senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { // We don't need to check if sender is empty. - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if len(msg.Orders) == 0 { - return sdkerrors.Wrap(ErrOrderDoesntExist, "must create at least 1 order") + return errors.Wrap(ErrOrderDoesntExist, "must create at least 1 order") } for idx := range msg.Orders { @@ -639,11 +667,11 @@ func (msg MsgCreateSpotMarketOrder) Type() string { return TypeMsgCreateSpotMark func (msg MsgCreateSpotMarketOrder) ValidateBasic() error { senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.Order.OrderType == OrderType_BUY_PO || msg.Order.OrderType == OrderType_SELL_PO { - return sdkerrors.Wrap(ErrInvalidOrderTypeForMessage, "Spot market order can't be a post only order") + return errors.Wrap(ErrInvalidOrderTypeForMessage, "Spot market order can't be a post only order") } if err := msg.Order.ValidateBasic(senderAddr); err != nil { @@ -677,7 +705,7 @@ func (msg *MsgCancelSpotOrder) Type() string { return TypeMsgCancelSpotOrder } func (msg *MsgCancelSpotOrder) ValidateBasic() error { senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } orderData := OrderData{ @@ -712,11 +740,11 @@ func (msg *MsgBatchCancelSpotOrders) Type() string { return TypeMsgBatchCancelSp func (msg *MsgBatchCancelSpotOrders) ValidateBasic() error { senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if len(msg.Data) == 0 { - return sdkerrors.Wrap(ErrOrderDoesntExist, "must cancel at least 1 order") + return errors.Wrap(ErrOrderDoesntExist, "must cancel at least 1 order") } for idx := range msg.Data { @@ -752,10 +780,10 @@ func (msg MsgCreateDerivativeLimitOrder) Type() string { return TypeMsgCreateDer func (msg MsgCreateDerivativeLimitOrder) ValidateBasic() error { senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.Order.OrderType == OrderType_BUY_ATOMIC || msg.Order.OrderType == OrderType_SELL_ATOMIC { - return sdkerrors.Wrap(ErrInvalidOrderTypeForMessage, "Derivative limit orders can't be atomic orders") + return errors.Wrap(ErrInvalidOrderTypeForMessage, "Derivative limit orders can't be atomic orders") } if err := msg.Order.ValidateBasic(senderAddr, false); err != nil { return err @@ -818,10 +846,10 @@ func (msg MsgCreateBinaryOptionsLimitOrder) Type() string { func (msg MsgCreateBinaryOptionsLimitOrder) ValidateBasic() error { senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.Order.OrderType.IsConditional() { - return sdkerrors.Wrap(ErrUnrecognizedOrderType, string(msg.Order.OrderType)) + return errors.Wrap(ErrUnrecognizedOrderType, string(msg.Order.OrderType)) } if err := msg.Order.ValidateBasic(senderAddr, true); err != nil { return err @@ -856,11 +884,11 @@ func (msg MsgBatchCreateDerivativeLimitOrders) Type() string { func (msg MsgBatchCreateDerivativeLimitOrders) ValidateBasic() error { senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if len(msg.Orders) == 0 { - return sdkerrors.Wrap(ErrOrderDoesntExist, "must create at least 1 order") + return errors.Wrap(ErrOrderDoesntExist, "must create at least 1 order") } for idx := range msg.Orders { @@ -896,11 +924,11 @@ func (msg MsgCreateDerivativeMarketOrder) Type() string { return TypeMsgCreateDe func (msg MsgCreateDerivativeMarketOrder) ValidateBasic() error { senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.Order.OrderType == OrderType_BUY_PO || msg.Order.OrderType == OrderType_SELL_PO { - return sdkerrors.Wrap(ErrInvalidOrderTypeForMessage, "Derivative market order can't be a post only order") + return errors.Wrap(ErrInvalidOrderTypeForMessage, "Derivative market order can't be a post only order") } if err := msg.Order.ValidateBasic(senderAddr, false); err != nil { @@ -963,14 +991,14 @@ func (msg MsgCreateBinaryOptionsMarketOrder) Type() string { func (msg MsgCreateBinaryOptionsMarketOrder) ValidateBasic() error { senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.Order.OrderType == OrderType_BUY_PO || msg.Order.OrderType == OrderType_SELL_PO { - return sdkerrors.Wrap(ErrInvalidOrderTypeForMessage, "market order can't be a post only order") + return errors.Wrap(ErrInvalidOrderTypeForMessage, "market order can't be a post only order") } if msg.Order.OrderType.IsConditional() { - return sdkerrors.Wrap(ErrUnrecognizedOrderType, string(msg.Order.OrderType)) + return errors.Wrap(ErrUnrecognizedOrderType, string(msg.Order.OrderType)) } if err := msg.Order.ValidateBasic(senderAddr, true); err != nil { @@ -1007,7 +1035,7 @@ func (msg *MsgCancelDerivativeOrder) Type() string { func (msg *MsgCancelDerivativeOrder) ValidateBasic() error { senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } orderData := OrderData{ @@ -1046,11 +1074,11 @@ func (msg *MsgBatchCancelDerivativeOrders) Type() string { func (msg *MsgBatchCancelDerivativeOrders) ValidateBasic() error { senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if len(msg.Data) == 0 { - return sdkerrors.Wrap(ErrOrderDoesntExist, "must cancel at least 1 order") + return errors.Wrap(ErrOrderDoesntExist, "must cancel at least 1 order") } for idx := range msg.Data { @@ -1090,7 +1118,7 @@ func (msg *MsgCancelBinaryOptionsOrder) Type() string { func (msg *MsgCancelBinaryOptionsOrder) ValidateBasic() error { senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } orderData := OrderData{ @@ -1128,11 +1156,11 @@ func (msg *MsgBatchCancelBinaryOptionsOrders) Type() string { func (msg *MsgBatchCancelBinaryOptionsOrders) ValidateBasic() error { senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if len(msg.Data) == 0 { - return sdkerrors.Wrap(ErrOrderDoesntExist, "must cancel at least 1 order") + return errors.Wrap(ErrOrderDoesntExist, "must cancel at least 1 order") } for idx := range msg.Data { @@ -1169,14 +1197,14 @@ func (msg *MsgSubaccountTransfer) Type() string { func (msg *MsgSubaccountTransfer) ValidateBasic() error { senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if !msg.Amount.IsValid() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) } if !msg.Amount.IsPositive() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) } if err := CheckValidSubaccountIDOrNonce(senderAddr, msg.SourceSubaccountId); err != nil { @@ -1189,24 +1217,24 @@ func (msg *MsgSubaccountTransfer) ValidateBasic() error { sourceSubaccount, err := GetSubaccountIDOrDeriveFromNonce(senderAddr, msg.SourceSubaccountId) if err != nil { - return sdkerrors.Wrap(ErrBadSubaccountID, msg.SourceSubaccountId) + return errors.Wrap(ErrBadSubaccountID, msg.SourceSubaccountId) } destinationSubaccount, err := GetSubaccountIDOrDeriveFromNonce(senderAddr, msg.DestinationSubaccountId) if err != nil { - return sdkerrors.Wrap(ErrBadSubaccountID, msg.DestinationSubaccountId) + return errors.Wrap(ErrBadSubaccountID, msg.DestinationSubaccountId) } if IsDefaultSubaccountID(sourceSubaccount) { - return sdkerrors.Wrap(ErrBadSubaccountID, msg.SourceSubaccountId) + return errors.Wrap(ErrBadSubaccountID, msg.SourceSubaccountId) } if IsDefaultSubaccountID(destinationSubaccount) { - return sdkerrors.Wrap(ErrBadSubaccountID, msg.DestinationSubaccountId) + return errors.Wrap(ErrBadSubaccountID, msg.DestinationSubaccountId) } if !bytes.Equal(SubaccountIDToSdkAddress(sourceSubaccount).Bytes(), SubaccountIDToSdkAddress(destinationSubaccount).Bytes()) { - return sdkerrors.Wrap(ErrBadSubaccountID, msg.DestinationSubaccountId) + return errors.Wrap(ErrBadSubaccountID, msg.DestinationSubaccountId) } return nil @@ -1235,15 +1263,15 @@ func (msg *MsgExternalTransfer) Type() string { func (msg *MsgExternalTransfer) ValidateBasic() error { senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if !msg.Amount.IsValid() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) } if !msg.Amount.IsPositive() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) } if err := CheckValidSubaccountIDOrNonce(senderAddr, msg.SourceSubaccountId); err != nil { @@ -1252,20 +1280,20 @@ func (msg *MsgExternalTransfer) ValidateBasic() error { sourceSubaccountId, err := GetSubaccountIDOrDeriveFromNonce(senderAddr, msg.SourceSubaccountId) if err != nil { - return sdkerrors.Wrap(ErrBadSubaccountID, msg.SourceSubaccountId) + return errors.Wrap(ErrBadSubaccountID, msg.SourceSubaccountId) } if IsDefaultSubaccountID(common.HexToHash(msg.SourceSubaccountId)) { - return sdkerrors.Wrap(ErrBadSubaccountID, msg.SourceSubaccountId) + return errors.Wrap(ErrBadSubaccountID, msg.SourceSubaccountId) } _, ok := IsValidSubaccountID(msg.DestinationSubaccountId) if !ok || IsDefaultSubaccountID(common.HexToHash(msg.DestinationSubaccountId)) { - return sdkerrors.Wrap(ErrBadSubaccountID, msg.DestinationSubaccountId) + return errors.Wrap(ErrBadSubaccountID, msg.DestinationSubaccountId) } if !bytes.Equal(SubaccountIDToSdkAddress(sourceSubaccountId).Bytes(), senderAddr.Bytes()) { - return sdkerrors.Wrap(ErrBadSubaccountID, msg.DestinationSubaccountId) + return errors.Wrap(ErrBadSubaccountID, msg.DestinationSubaccountId) } return nil } @@ -1293,19 +1321,19 @@ func (msg *MsgIncreasePositionMargin) Type() string { func (msg *MsgIncreasePositionMargin) ValidateBasic() error { senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if !IsHexHash(msg.MarketId) { - return sdkerrors.Wrap(ErrMarketInvalid, msg.MarketId) + return errors.Wrap(ErrMarketInvalid, msg.MarketId) } if !msg.Amount.IsPositive() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) } if msg.Amount.GT(MaxOrderMargin) { - return sdkerrors.Wrap(ErrTooMuchOrderMargin, msg.Amount.String()) + return errors.Wrap(ErrTooMuchOrderMargin, msg.Amount.String()) } if err := CheckValidSubaccountIDOrNonce(senderAddr, msg.SourceSubaccountId); err != nil { @@ -1314,7 +1342,7 @@ func (msg *MsgIncreasePositionMargin) ValidateBasic() error { _, ok := IsValidSubaccountID(msg.DestinationSubaccountId) if !ok { - return sdkerrors.Wrap(ErrBadSubaccountID, msg.DestinationSubaccountId) + return errors.Wrap(ErrBadSubaccountID, msg.DestinationSubaccountId) } return nil @@ -1343,30 +1371,30 @@ func (msg *MsgPrivilegedExecuteContract) Type() string { func (msg *MsgPrivilegedExecuteContract) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } // funds must either be "empty" or a valid funds coins string if !msg.HasEmptyFunds() { if coins, err := sdk.ParseDecCoins(msg.Funds); err != nil || !coins.IsAllPositive() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, msg.Funds) + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.Funds) } } _, err = sdk.AccAddressFromBech32(msg.ContractAddress) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.ContractAddress) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.ContractAddress) } var e wasmxtypes.ExecutionData if err := json.Unmarshal([]byte(msg.Data), &e); err != nil { - return sdkerrors.Wrap(err, msg.Data) + return errors.Wrap(err, msg.Data) } if e.Name == "" { - return sdkerrors.Wrap(ErrBadField, "name should not be empty") + return errors.Wrap(ErrBadField, "name should not be empty") } else if e.Origin != "" && e.Origin != msg.Sender { - return sdkerrors.Wrap(ErrBadField, "origin must match sender or be empty") + return errors.Wrap(ErrBadField, "origin must match sender or be empty") } return nil @@ -1425,16 +1453,16 @@ func (msg *MsgLiquidatePosition) ValidateBasic() error { senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if !IsHexHash(msg.MarketId) { - return sdkerrors.Wrap(ErrMarketInvalid, msg.MarketId) + return errors.Wrap(ErrMarketInvalid, msg.MarketId) } _, ok := IsValidSubaccountID(msg.SubaccountId) if !ok { - return sdkerrors.Wrap(ErrBadSubaccountID, msg.SubaccountId) + return errors.Wrap(ErrBadSubaccountID, msg.SubaccountId) } if msg.Order != nil { @@ -1478,7 +1506,7 @@ func (msg MsgBatchUpdateOrders) Type() string { return TypeMsgBatchUpdateOrders func (msg MsgBatchUpdateOrders) ValidateBasic() error { sender, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } hasCancelAllMarketId := len(msg.SpotMarketIdsToCancelAll) > 0 || len(msg.DerivativeMarketIdsToCancelAll) > 0 || len(msg.BinaryOptionsMarketIdsToCancelAll) > 0 @@ -1487,11 +1515,11 @@ func (msg MsgBatchUpdateOrders) ValidateBasic() error { hasSubaccountIdForCancelAll := msg.SubaccountId != "" if hasCancelAllMarketId && !hasSubaccountIdForCancelAll { - return sdkerrors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains cancel all marketIDs but no subaccountID") + return errors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains cancel all marketIDs but no subaccountID") } if hasSubaccountIdForCancelAll && !hasCancelAllMarketId { - return sdkerrors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains subaccountID but no cancel all marketIDs") + return errors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains subaccountID but no cancel all marketIDs") } if hasSubaccountIdForCancelAll { @@ -1501,16 +1529,16 @@ func (msg MsgBatchUpdateOrders) ValidateBasic() error { hasDuplicateSpotMarketIds := HasDuplicatesHexHash(msg.SpotMarketIdsToCancelAll) if hasDuplicateSpotMarketIds { - return sdkerrors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains duplicate cancel all spot market ids") + return errors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains duplicate cancel all spot market ids") } hasDuplicateDerivativesMarketIds := HasDuplicatesHexHash(msg.DerivativeMarketIdsToCancelAll) if hasDuplicateDerivativesMarketIds { - return sdkerrors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains duplicate cancel all derivative market ids") + return errors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains duplicate cancel all derivative market ids") } hasDuplicateBinaryOptionsMarketIds := HasDuplicatesHexHash(msg.BinaryOptionsMarketIdsToCancelAll) if hasDuplicateBinaryOptionsMarketIds { - return sdkerrors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains duplicate cancel all binary options market ids") + return errors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains duplicate cancel all binary options market ids") } } @@ -1521,36 +1549,36 @@ func (msg MsgBatchUpdateOrders) ValidateBasic() error { len(msg.SpotOrdersToCreate) == 0 && len(msg.BinaryOptionsOrdersToCreate) == 0 && len(msg.BinaryOptionsOrdersToCancel) == 0 { - return sdkerrors.Wrap(ErrInvalidBatchMsgUpdate, "msg is empty") + return errors.Wrap(ErrInvalidBatchMsgUpdate, "msg is empty") } hasDuplicateSpotOrderToCancel := HasDuplicatesOrder(msg.SpotOrdersToCancel) if hasDuplicateSpotOrderToCancel { - return sdkerrors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains duplicate spot order to cancel") + return errors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains duplicate spot order to cancel") } hasDuplicateDerivativeOrderToCancel := HasDuplicatesOrder(msg.DerivativeOrdersToCancel) if hasDuplicateDerivativeOrderToCancel { - return sdkerrors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains duplicate derivative order to cancel") + return errors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains duplicate derivative order to cancel") } hasDuplicateBinaryOptionsOrderToCancel := HasDuplicatesOrder(msg.BinaryOptionsOrdersToCancel) if hasDuplicateBinaryOptionsOrderToCancel { - return sdkerrors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains duplicate binary options order to cancel") + return errors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains duplicate binary options order to cancel") } if len(msg.SpotMarketIdsToCancelAll) > 0 && len(msg.SpotOrdersToCancel) > 0 { seen := make(map[common.Hash]struct{}) for _, marketID := range msg.SpotMarketIdsToCancelAll { if !IsHexHash(marketID) { - return sdkerrors.Wrap(ErrMarketInvalid, marketID) + return errors.Wrap(ErrMarketInvalid, marketID) } seen[common.HexToHash(marketID)] = struct{}{} } for idx := range msg.SpotOrdersToCancel { if _, ok := seen[common.HexToHash(msg.SpotOrdersToCancel[idx].MarketId)]; ok { - return sdkerrors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains order to cancel in a spot market that is also in cancel all") + return errors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains order to cancel in a spot market that is also in cancel all") } } } @@ -1559,14 +1587,14 @@ func (msg MsgBatchUpdateOrders) ValidateBasic() error { seen := make(map[common.Hash]struct{}) for _, marketID := range msg.DerivativeMarketIdsToCancelAll { if !IsHexHash(marketID) { - return sdkerrors.Wrap(ErrMarketInvalid, marketID) + return errors.Wrap(ErrMarketInvalid, marketID) } seen[common.HexToHash(marketID)] = struct{}{} } for idx := range msg.DerivativeOrdersToCancel { if _, ok := seen[common.HexToHash(msg.DerivativeOrdersToCancel[idx].MarketId)]; ok { - return sdkerrors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains order to cancel in a derivative market that is also in cancel all") + return errors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains order to cancel in a derivative market that is also in cancel all") } } } @@ -1575,14 +1603,14 @@ func (msg MsgBatchUpdateOrders) ValidateBasic() error { seen := make(map[common.Hash]struct{}) for _, marketID := range msg.BinaryOptionsMarketIdsToCancelAll { if !IsHexHash(marketID) { - return sdkerrors.Wrap(ErrMarketInvalid, marketID) + return errors.Wrap(ErrMarketInvalid, marketID) } seen[common.HexToHash(marketID)] = struct{}{} } for idx := range msg.BinaryOptionsOrdersToCancel { if _, ok := seen[common.HexToHash(msg.BinaryOptionsOrdersToCancel[idx].MarketId)]; ok { - return sdkerrors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains order to cancel in a binary options market that is also in cancel all") + return errors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains order to cancel in a binary options market that is also in cancel all") } } } @@ -1609,7 +1637,7 @@ func (msg MsgBatchUpdateOrders) ValidateBasic() error { return err } if msg.SpotOrdersToCreate[idx].OrderType.IsAtomic() { // must be checked separately as type is SpotOrder, so it won't check for atomic orders properly - return sdkerrors.Wrap(ErrInvalidOrderTypeForMessage, "Spot limit orders can't be atomic orders") + return errors.Wrap(ErrInvalidOrderTypeForMessage, "Spot limit orders can't be atomic orders") } } @@ -1618,7 +1646,7 @@ func (msg MsgBatchUpdateOrders) ValidateBasic() error { return err } if msg.DerivativeOrdersToCreate[idx].OrderType.IsAtomic() { - return sdkerrors.Wrap(ErrInvalidOrderTypeForMessage, "Derivative limit orders can't be atomic orders") + return errors.Wrap(ErrInvalidOrderTypeForMessage, "Derivative limit orders can't be atomic orders") } } @@ -1627,7 +1655,7 @@ func (msg MsgBatchUpdateOrders) ValidateBasic() error { return err } if msg.BinaryOptionsOrdersToCreate[idx].OrderType.IsAtomic() { - return sdkerrors.Wrap(ErrInvalidOrderTypeForMessage, "Binary limit orders can't be atomic orders") + return errors.Wrap(ErrInvalidOrderTypeForMessage, "Binary limit orders can't be atomic orders") } } @@ -1658,11 +1686,11 @@ func (msg *MsgAdminUpdateBinaryOptionsMarket) Type() string { func (msg *MsgAdminUpdateBinaryOptionsMarket) ValidateBasic() error { if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if !IsHexHash(msg.MarketId) { - return sdkerrors.Wrap(ErrMarketInvalid, msg.MarketId) + return errors.Wrap(ErrMarketInvalid, msg.MarketId) } if (msg.SettlementTimestamp > 0 && msg.ExpirationTimestamp >= msg.SettlementTimestamp) || @@ -1682,11 +1710,11 @@ func (msg *MsgAdminUpdateBinaryOptionsMarket) ValidateBasic() error { case msg.SettlementPrice.Equal(BinaryOptionsMarketRefundFlagPrice), msg.SettlementPrice.GTE(sdk.ZeroDec()) && msg.SettlementPrice.LTE(MaxBinaryOptionsOrderPrice): if msg.Status != MarketStatus_Demolished { - return sdkerrors.Wrapf(ErrInvalidMarketStatus, "status should be set to demolished when the settlement price is set, status: %s", msg.Status.String()) + return errors.Wrapf(ErrInvalidMarketStatus, "status should be set to demolished when the settlement price is set, status: %s", msg.Status.String()) } // ok default: - return sdkerrors.Wrap(ErrInvalidPrice, msg.SettlementPrice.String()) + return errors.Wrap(ErrInvalidPrice, msg.SettlementPrice.String()) } // admin can only change status to demolished switch msg.Status { @@ -1694,7 +1722,7 @@ func (msg *MsgAdminUpdateBinaryOptionsMarket) ValidateBasic() error { MarketStatus_Unspecified, MarketStatus_Demolished: default: - return sdkerrors.Wrap(ErrInvalidMarketStatus, msg.Status.String()) + return errors.Wrap(ErrInvalidMarketStatus, msg.Status.String()) } return nil @@ -1723,13 +1751,13 @@ func (msg *MsgReclaimLockedFunds) Type() string { func (msg *MsgReclaimLockedFunds) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } // TODO: restrict the msg.Sender to be a specific EOA? // Placeholder for now obviously, if we decide so, change this check to the actual address // if !senderAddr.Equals(senderAddr) { - // return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + // return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) // } lockedPubKey := sdksecp256k1.PubKey{ @@ -1792,7 +1820,7 @@ func (msg *MsgReclaimLockedFunds) ValidateBasic() error { } if !lockedPubKey.VerifySignature(signBz, tx.GetSignatures()[0]) { - return sdkerrors.Wrapf(ErrBadField, "signature verification failed with signature %s on signBz %s, msg.Signature is %s", common.Bytes2Hex(tx.GetSignatures()[0]), string(signBz), common.Bytes2Hex(msg.Signature)) + return errors.Wrapf(ErrBadField, "signature verification failed with signature %s on signBz %s, msg.Signature is %s", common.Bytes2Hex(tx.GetSignatures()[0]), string(signBz), common.Bytes2Hex(msg.Signature)) } return nil @@ -1816,7 +1844,7 @@ var _ legacytx.LegacyMsg = &MsgSignData{} func (msg *MsgSignData) ValidateBasic() error { if msg.Signer.Empty() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Signer.String()) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Signer.String()) } return nil diff --git a/chain/exchange/types/params.go b/chain/exchange/types/params.go index b01ef691..f2fc5576 100644 --- a/chain/exchange/types/params.go +++ b/chain/exchange/types/params.go @@ -3,6 +3,7 @@ package types import ( "fmt" + sdkmath "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" ) @@ -108,7 +109,7 @@ func NewParams( defaultHourlyFundingRateCap sdk.Dec, defaultHourlyInterestRate sdk.Dec, maxDerivativeSideOrderCount uint32, - injRewardStakedRequirementThreshold sdk.Int, + injRewardStakedRequirementThreshold sdkmath.Int, tradingRewardsVestingDuration int64, liquidatorRewardShareRate sdk.Dec, binaryOptionsMarketInstantListingFee sdk.Coin, @@ -178,8 +179,8 @@ func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { // DefaultParams returns a default set of parameters. func DefaultParams() Params { return Params{ - SpotMarketInstantListingFee: sdk.NewCoin("inj", sdk.NewIntWithDecimal(SpotMarketInstantListingFee, 18)), - DerivativeMarketInstantListingFee: sdk.NewCoin("inj", sdk.NewIntWithDecimal(DerivativeMarketInstantListingFee, 18)), + SpotMarketInstantListingFee: sdk.NewCoin("inj", sdkmath.NewIntWithDecimal(SpotMarketInstantListingFee, 18)), + DerivativeMarketInstantListingFee: sdk.NewCoin("inj", sdkmath.NewIntWithDecimal(DerivativeMarketInstantListingFee, 18)), DefaultSpotMakerFeeRate: sdk.NewDecWithPrec(-1, 4), // default -0.01% maker fees DefaultSpotTakerFeeRate: sdk.NewDecWithPrec(1, 3), // default 0.1% taker fees DefaultDerivativeMakerFeeRate: sdk.NewDecWithPrec(-1, 4), // default -0.01% maker fees @@ -192,10 +193,10 @@ func DefaultParams() Params { DefaultHourlyFundingRateCap: sdk.NewDecWithPrec(625, 6), // default 0.0625% max hourly funding rate DefaultHourlyInterestRate: sdk.NewDecWithPrec(416666, 11), // 0.01% daily interest rate = 0.0001 / 24 = 0.00000416666 MaxDerivativeOrderSideCount: MaxDerivativeOrderSideCount, - InjRewardStakedRequirementThreshold: sdk.NewIntWithDecimal(100, 18), // 100 INJ - TradingRewardsVestingDuration: 604800, // 7 days - LiquidatorRewardShareRate: sdk.NewDecWithPrec(5, 2), // 5% liquidator reward - BinaryOptionsMarketInstantListingFee: sdk.NewCoin("inj", sdk.NewIntWithDecimal(BinaryOptionsMarketInstantListingFee, 18)), + InjRewardStakedRequirementThreshold: sdkmath.NewIntWithDecimal(100, 18), // 100 INJ + TradingRewardsVestingDuration: 604800, // 7 days + LiquidatorRewardShareRate: sdk.NewDecWithPrec(5, 2), // 5% liquidator reward + BinaryOptionsMarketInstantListingFee: sdk.NewCoin("inj", sdkmath.NewIntWithDecimal(BinaryOptionsMarketInstantListingFee, 18)), AtomicMarketOrderAccessLevel: AtomicMarketOrderAccessLevel_SmartContractsOnly, SpotAtomicMarketOrderFeeMultiplier: sdk.NewDecWithPrec(25, 1), // default 2.5 multiplier DerivativeAtomicMarketOrderFeeMultiplier: sdk.NewDecWithPrec(25, 1), // default 2.5 multiplier @@ -504,7 +505,7 @@ func validateDerivativeOrderSideCount(i interface{}) error { } func validateInjRewardStakedRequirementThreshold(i interface{}) error { - v, ok := i.(sdk.Int) + v, ok := i.(sdkmath.Int) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } diff --git a/chain/exchange/types/proposal.go b/chain/exchange/types/proposal.go index 8c6080bb..19a0170a 100644 --- a/chain/exchange/types/proposal.go +++ b/chain/exchange/types/proposal.go @@ -3,12 +3,14 @@ package types import ( "fmt" + "cosmossdk.io/errors" + sdkmath "cosmossdk.io/math" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" oracletypes "github.com/InjectiveLabs/sdk-go/chain/oracle/types" sdk "github.com/cosmos/cosmos-sdk/types" - distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" gov "github.com/cosmos/cosmos-sdk/x/gov/types" "github.com/ethereum/go-ethereum/common" ) @@ -35,43 +37,26 @@ const ( ) func init() { - gov.RegisterProposalType(ProposalTypeExchangeEnable) - gov.RegisterProposalTypeCodec(&ExchangeEnableProposal{}, "injective/ExchangeEnableProposal") - gov.RegisterProposalType(ProposalTypeBatchExchangeModification) - gov.RegisterProposalTypeCodec(&BatchExchangeModificationProposal{}, "injective/BatchExchangeModificationProposal") - gov.RegisterProposalType(ProposalTypeSpotMarketParamUpdate) - gov.RegisterProposalTypeCodec(&SpotMarketParamUpdateProposal{}, "injective/SpotMarketParamUpdateProposal") - gov.RegisterProposalType(ProposalTypeSpotMarketLaunch) - gov.RegisterProposalTypeCodec(&SpotMarketLaunchProposal{}, "injective/SpotMarketLaunchProposal") - gov.RegisterProposalType(ProposalTypePerpetualMarketLaunch) - gov.RegisterProposalTypeCodec(&PerpetualMarketLaunchProposal{}, "injective/PerpetualMarketLaunchProposal") - gov.RegisterProposalType(ProposalTypeExpiryFuturesMarketLaunch) - gov.RegisterProposalTypeCodec(&ExpiryFuturesMarketLaunchProposal{}, "injective/ExpiryFuturesMarketLaunchProposal") - gov.RegisterProposalType(ProposalTypeDerivativeMarketParamUpdate) - gov.RegisterProposalTypeCodec(&DerivativeMarketParamUpdateProposal{}, "injective/DerivativeMarketParamUpdateProposal") - gov.RegisterProposalType(ProposalTypeMarketForcedSettlement) - gov.RegisterProposalTypeCodec(&MarketForcedSettlementProposal{}, "injective/MarketForcedSettlementProposal") - gov.RegisterProposalType(ProposalUpdateDenomDecimals) - gov.RegisterProposalTypeCodec(&UpdateDenomDecimalsProposal{}, "injective/UpdateDenomDecimalsProposal") - gov.RegisterProposalType(ProposalTypeTradingRewardCampaign) - gov.RegisterProposalTypeCodec(&TradingRewardCampaignLaunchProposal{}, "injective/TradingRewardCampaignLaunchProposal") - gov.RegisterProposalType(ProposalTypeTradingRewardCampaignUpdate) - gov.RegisterProposalTypeCodec(&TradingRewardCampaignUpdateProposal{}, "injective/TradingRewardCampaignUpdateProposal") - gov.RegisterProposalType(ProposalTypeTradingRewardPointsUpdate) - gov.RegisterProposalTypeCodec(&TradingRewardPendingPointsUpdateProposal{}, "injective/TradingRewardPendingPointsUpdateProposal") - gov.RegisterProposalType(ProposalTypeFeeDiscountProposal) - gov.RegisterProposalTypeCodec(&FeeDiscountProposal{}, "injective/FeeDiscountProposal") - gov.RegisterProposalType(ProposalTypeBatchCommunityPoolSpendProposal) - gov.RegisterProposalTypeCodec(&BatchCommunityPoolSpendProposal{}, "injective/BatchCommunityPoolSpendProposal") - gov.RegisterProposalType(ProposalTypeBinaryOptionsMarketLaunch) - gov.RegisterProposalTypeCodec(&BinaryOptionsMarketLaunchProposal{}, "injective/BinaryOptionsMarketLaunchProposal") - gov.RegisterProposalType(ProposalTypeBinaryOptionsMarketParamUpdate) - gov.RegisterProposalTypeCodec(&BinaryOptionsMarketParamUpdateProposal{}, "injective/BinaryOptionsMarketParamUpdateProposal") - gov.RegisterProposalType(ProposalAtomicMarketOrderFeeMultiplierSchedule) - gov.RegisterProposalTypeCodec(&AtomicMarketOrderFeeMultiplierScheduleProposal{}, "injective/AtomicMarketOrderFeeMultiplierScheduleProposal") -} - -func SafeIsPositiveInt(v sdk.Int) bool { + govtypes.RegisterProposalType(ProposalTypeExchangeEnable) + govtypes.RegisterProposalType(ProposalTypeBatchExchangeModification) + govtypes.RegisterProposalType(ProposalTypeSpotMarketParamUpdate) + govtypes.RegisterProposalType(ProposalTypeSpotMarketLaunch) + govtypes.RegisterProposalType(ProposalTypePerpetualMarketLaunch) + govtypes.RegisterProposalType(ProposalTypeExpiryFuturesMarketLaunch) + govtypes.RegisterProposalType(ProposalTypeDerivativeMarketParamUpdate) + govtypes.RegisterProposalType(ProposalTypeMarketForcedSettlement) + govtypes.RegisterProposalType(ProposalUpdateDenomDecimals) + govtypes.RegisterProposalType(ProposalTypeTradingRewardCampaign) + govtypes.RegisterProposalType(ProposalTypeTradingRewardCampaignUpdate) + govtypes.RegisterProposalType(ProposalTypeTradingRewardPointsUpdate) + govtypes.RegisterProposalType(ProposalTypeFeeDiscountProposal) + govtypes.RegisterProposalType(ProposalTypeBatchCommunityPoolSpendProposal) + govtypes.RegisterProposalType(ProposalTypeBinaryOptionsMarketLaunch) + govtypes.RegisterProposalType(ProposalTypeBinaryOptionsMarketParamUpdate) + govtypes.RegisterProposalType(ProposalAtomicMarketOrderFeeMultiplierSchedule) +} + +func SafeIsPositiveInt(v sdkmath.Int) bool { if v.IsNil() { return false } @@ -95,7 +80,7 @@ func SafeIsNonNegativeDec(v sdk.Dec) bool { return !v.IsNegative() } -func IsZeroOrNilInt(v sdk.Int) bool { +func IsZeroOrNilInt(v sdkmath.Int) bool { return v.IsNil() || v.IsZero() } @@ -104,7 +89,7 @@ func IsZeroOrNilDec(v sdk.Dec) bool { } // Implements Proposal Interface -var _ gov.Content = &ExchangeEnableProposal{} +var _ govtypes.Content = &ExchangeEnableProposal{} // GetTitle returns the title of this proposal. func (p *ExchangeEnableProposal) GetTitle() string { @@ -132,11 +117,11 @@ func (p *ExchangeEnableProposal) ValidateBasic() error { default: return ErrBadField } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // Implements Proposal Interface -var _ gov.Content = &BatchExchangeModificationProposal{} +var _ govtypes.Content = &BatchExchangeModificationProposal{} // GetTitle returns the title of this proposal. func (p *BatchExchangeModificationProposal) GetTitle() string { @@ -212,7 +197,7 @@ func (p *BatchExchangeModificationProposal) ValidateBasic() error { } } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // NewSpotMarketParamUpdateProposal returns new instance of SpotMarketParamUpdateProposal @@ -232,7 +217,7 @@ func NewSpotMarketParamUpdateProposal(title, description string, marketID common } // Implements Proposal Interface -var _ gov.Content = &SpotMarketParamUpdateProposal{} +var _ govtypes.Content = &SpotMarketParamUpdateProposal{} // GetTitle returns the title of this proposal. func (p *SpotMarketParamUpdateProposal) GetTitle() string { @@ -255,10 +240,10 @@ func (p *SpotMarketParamUpdateProposal) ProposalType() string { // ValidateBasic returns ValidateBasic result of this proposal. func (p *SpotMarketParamUpdateProposal) ValidateBasic() error { if !IsHexHash(p.MarketId) { - return sdkerrors.Wrap(ErrMarketInvalid, p.MarketId) + return errors.Wrap(ErrMarketInvalid, p.MarketId) } if p.MakerFeeRate == nil && p.TakerFeeRate == nil && p.RelayerFeeShareRate == nil && p.MinPriceTickSize == nil && p.MinQuantityTickSize == nil && p.Status == MarketStatus_Unspecified { - return sdkerrors.Wrap(gov.ErrInvalidProposalContent, "At least one field should not be nil") + return errors.Wrap(gov.ErrInvalidProposalContent, "At least one field should not be nil") } if p.MakerFeeRate != nil { @@ -279,12 +264,12 @@ func (p *SpotMarketParamUpdateProposal) ValidateBasic() error { if p.MinPriceTickSize != nil { if err := ValidateTickSize(*p.MinPriceTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidPriceTickSize, err.Error()) + return errors.Wrap(ErrInvalidPriceTickSize, err.Error()) } } if p.MinQuantityTickSize != nil { if err := ValidateTickSize(*p.MinQuantityTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidQuantityTickSize, err.Error()) + return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } } @@ -297,10 +282,10 @@ func (p *SpotMarketParamUpdateProposal) ValidateBasic() error { MarketStatus_Expired: default: - return sdkerrors.Wrap(ErrInvalidMarketStatus, p.Status.String()) + return errors.Wrap(ErrInvalidMarketStatus, p.Status.String()) } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // NewSpotMarketLaunchProposal returns new instance of SpotMarketLaunchProposal @@ -329,7 +314,7 @@ func NewSpotMarketLaunchProposal( } // Implements Proposal Interface -var _ gov.Content = &SpotMarketLaunchProposal{} +var _ govtypes.Content = &SpotMarketLaunchProposal{} // GetTitle returns the title of this proposal. func (p *SpotMarketLaunchProposal) GetTitle() string { @@ -352,23 +337,23 @@ func (p *SpotMarketLaunchProposal) ProposalType() string { // ValidateBasic returns ValidateBasic result of this proposal. func (p *SpotMarketLaunchProposal) ValidateBasic() error { if p.Ticker == "" || len(p.Ticker) > MaxTickerLength { - return sdkerrors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") } if p.BaseDenom == "" { - return sdkerrors.Wrap(ErrInvalidBaseDenom, "base denom should not be empty") + return errors.Wrap(ErrInvalidBaseDenom, "base denom should not be empty") } if p.QuoteDenom == "" { - return sdkerrors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") + return errors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") } if p.BaseDenom == p.QuoteDenom { return ErrSameDenoms } if err := ValidateTickSize(p.MinPriceTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidPriceTickSize, err.Error()) + return errors.Wrap(ErrInvalidPriceTickSize, err.Error()) } if err := ValidateTickSize(p.MinQuantityTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidQuantityTickSize, err.Error()) + return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } if p.MakerFeeRate != nil { @@ -384,7 +369,7 @@ func (p *SpotMarketLaunchProposal) ValidateBasic() error { } if (p.MakerFeeRate == nil && p.TakerFeeRate != nil) || (p.MakerFeeRate != nil && p.TakerFeeRate == nil) { - return sdkerrors.Wrap(ErrFeeRatesRelation, "maker and taker fee rate must either be both nil or both specified") + return errors.Wrap(ErrFeeRatesRelation, "maker and taker fee rate must either be both nil or both specified") } if p.MakerFeeRate != nil && p.TakerFeeRate != nil { @@ -393,7 +378,7 @@ func (p *SpotMarketLaunchProposal) ValidateBasic() error { } } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // NewDerivativeMarketParamUpdateProposal returns new instance of DerivativeMarketParamUpdateProposal @@ -423,7 +408,7 @@ func NewDerivativeMarketParamUpdateProposal( } // Implements Proposal Interface -var _ gov.Content = &DerivativeMarketParamUpdateProposal{} +var _ govtypes.Content = &DerivativeMarketParamUpdateProposal{} // GetTitle returns the title of this proposal func (p *DerivativeMarketParamUpdateProposal) GetTitle() string { @@ -446,7 +431,7 @@ func (p *DerivativeMarketParamUpdateProposal) ProposalType() string { // ValidateBasic returns ValidateBasic result of this proposal. func (p *DerivativeMarketParamUpdateProposal) ValidateBasic() error { if !IsHexHash(p.MarketId) { - return sdkerrors.Wrap(ErrMarketInvalid, p.MarketId) + return errors.Wrap(ErrMarketInvalid, p.MarketId) } if p.MakerFeeRate == nil && p.TakerFeeRate == nil && @@ -459,7 +444,7 @@ func (p *DerivativeMarketParamUpdateProposal) ValidateBasic() error { p.HourlyFundingRateCap == nil && p.Status == MarketStatus_Unspecified && p.OracleParams == nil { - return sdkerrors.Wrap(gov.ErrInvalidProposalContent, "At least one field should not be nil") + return errors.Wrap(gov.ErrInvalidProposalContent, "At least one field should not be nil") } if p.MakerFeeRate != nil { @@ -492,24 +477,24 @@ func (p *DerivativeMarketParamUpdateProposal) ValidateBasic() error { if p.MinPriceTickSize != nil { if err := ValidateTickSize(*p.MinPriceTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidPriceTickSize, err.Error()) + return errors.Wrap(ErrInvalidPriceTickSize, err.Error()) } } if p.MinQuantityTickSize != nil { if err := ValidateTickSize(*p.MinQuantityTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidQuantityTickSize, err.Error()) + return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } } if p.HourlyInterestRate != nil { if err := ValidateHourlyInterestRate(*p.HourlyInterestRate); err != nil { - return sdkerrors.Wrap(ErrInvalidHourlyInterestRate, err.Error()) + return errors.Wrap(ErrInvalidHourlyInterestRate, err.Error()) } } if p.HourlyFundingRateCap != nil { if err := ValidateHourlyFundingRateCap(*p.HourlyFundingRateCap); err != nil { - return sdkerrors.Wrap(ErrInvalidHourlyFundingRateCap, err.Error()) + return errors.Wrap(ErrInvalidHourlyFundingRateCap, err.Error()) } } @@ -522,7 +507,7 @@ func (p *DerivativeMarketParamUpdateProposal) ValidateBasic() error { MarketStatus_Expired: default: - return sdkerrors.Wrap(ErrInvalidMarketStatus, p.Status.String()) + return errors.Wrap(ErrInvalidMarketStatus, p.Status.String()) } if p.OracleParams != nil { @@ -531,7 +516,7 @@ func (p *DerivativeMarketParamUpdateProposal) ValidateBasic() error { } } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // NewMarketForcedSettlementProposal returns new instance of MarketForcedSettlementProposal @@ -548,7 +533,7 @@ func NewMarketForcedSettlementProposal( } // Implements Proposal Interface -var _ gov.Content = &MarketForcedSettlementProposal{} +var _ govtypes.Content = &MarketForcedSettlementProposal{} // GetTitle returns the title of this proposal func (p *MarketForcedSettlementProposal) GetTitle() string { @@ -571,14 +556,14 @@ func (p *MarketForcedSettlementProposal) ProposalType() string { // ValidateBasic returns ValidateBasic result of this proposal. func (p *MarketForcedSettlementProposal) ValidateBasic() error { if !IsHexHash(p.MarketId) { - return sdkerrors.Wrap(ErrMarketInvalid, p.MarketId) + return errors.Wrap(ErrMarketInvalid, p.MarketId) } if p.SettlementPrice != nil && !SafeIsPositiveDec(*p.SettlementPrice) { - return sdkerrors.Wrap(ErrInvalidSettlement, "settlement price must be positive for derivatives and nil for spot") + return errors.Wrap(ErrInvalidSettlement, "settlement price must be positive for derivatives and nil for spot") } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // NewUpdateDenomDecimalsProposal returns new instance of UpdateDenomDecimalsProposal @@ -594,7 +579,7 @@ func NewUpdateDenomDecimalsProposal( } // Implements Proposal Interface -var _ gov.Content = &UpdateDenomDecimalsProposal{} +var _ govtypes.Content = &UpdateDenomDecimalsProposal{} // GetTitle returns the title of this proposal func (p *UpdateDenomDecimalsProposal) GetTitle() string { @@ -621,16 +606,16 @@ func (p *UpdateDenomDecimalsProposal) ValidateBasic() error { return err } } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } func (d *DenomDecimals) Validate() error { if d.Denom == "" { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, d.Denom) + return errors.Wrap(sdkerrors.ErrInvalidCoins, d.Denom) } if d.Decimals <= 0 || d.Decimals > uint64(MaxOracleScaleFactor) { - return sdkerrors.Wrapf(ErrInvalidDenomDecimal, "invalid decimals passed: %d", d.Decimals) + return errors.Wrapf(ErrInvalidDenomDecimal, "invalid decimals passed: %d", d.Decimals) } return nil } @@ -651,10 +636,10 @@ func NewOracleParams( func (p *OracleParams) ValidateBasic() error { if p.OracleBase == "" { - return sdkerrors.Wrap(ErrInvalidOracle, "oracle base should not be empty") + return errors.Wrap(ErrInvalidOracle, "oracle base should not be empty") } if p.OracleQuote == "" { - return sdkerrors.Wrap(ErrInvalidOracle, "oracle quote should not be empty") + return errors.Wrap(ErrInvalidOracle, "oracle quote should not be empty") } if p.OracleBase == p.OracleQuote { return ErrSameOracles @@ -664,7 +649,7 @@ func (p *OracleParams) ValidateBasic() error { oracletypes.OracleType_Dia, oracletypes.OracleType_API3, oracletypes.OracleType_Uma, oracletypes.OracleType_Pyth, oracletypes.OracleType_BandIBC, oracletypes.OracleType_Provider: default: - return sdkerrors.Wrap(ErrInvalidOracleType, p.OracleType.String()) + return errors.Wrap(ErrInvalidOracleType, p.OracleType.String()) } if p.OracleScaleFactor > MaxOracleScaleFactor { @@ -690,14 +675,14 @@ func NewProviderOracleParams( func (p *ProviderOracleParams) ValidateBasic() error { if p.Symbol == "" { - return sdkerrors.Wrap(ErrInvalidOracle, "oracle symbol should not be empty") + return errors.Wrap(ErrInvalidOracle, "oracle symbol should not be empty") } if p.Provider == "" { - return sdkerrors.Wrap(ErrInvalidOracle, "oracle provider should not be empty") + return errors.Wrap(ErrInvalidOracle, "oracle provider should not be empty") } if p.OracleType != oracletypes.OracleType_Provider { - return sdkerrors.Wrap(ErrInvalidOracleType, p.OracleType.String()) + return errors.Wrap(ErrInvalidOracleType, p.OracleType.String()) } if p.OracleScaleFactor > MaxOracleScaleFactor { @@ -732,7 +717,7 @@ func NewPerpetualMarketLaunchProposal( } // Implements Proposal Interface -var _ gov.Content = &PerpetualMarketLaunchProposal{} +var _ govtypes.Content = &PerpetualMarketLaunchProposal{} // GetTitle returns the title of this proposal. func (p *PerpetualMarketLaunchProposal) GetTitle() string { @@ -755,10 +740,10 @@ func (p *PerpetualMarketLaunchProposal) ProposalType() string { // ValidateBasic returns ValidateBasic result of a perpetual market launch proposal. func (p *PerpetualMarketLaunchProposal) ValidateBasic() error { if p.Ticker == "" || len(p.Ticker) > MaxTickerLength { - return sdkerrors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") } if p.QuoteDenom == "" { - return sdkerrors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") + return errors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") } oracleParams := NewOracleParams(p.OracleBase, p.OracleQuote, p.OracleScaleFactor, p.OracleType) @@ -785,13 +770,13 @@ func (p *PerpetualMarketLaunchProposal) ValidateBasic() error { } if err := ValidateTickSize(p.MinPriceTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidPriceTickSize, err.Error()) + return errors.Wrap(ErrInvalidPriceTickSize, err.Error()) } if err := ValidateTickSize(p.MinQuantityTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidQuantityTickSize, err.Error()) + return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // NewExpiryFuturesMarketLaunchProposal returns new instance of ExpiryFuturesMarketLaunchProposal @@ -820,7 +805,7 @@ func NewExpiryFuturesMarketLaunchProposal( } // Implements Proposal Interface -var _ gov.Content = &ExpiryFuturesMarketLaunchProposal{} +var _ govtypes.Content = &ExpiryFuturesMarketLaunchProposal{} // GetTitle returns the title of this proposal. func (p *ExpiryFuturesMarketLaunchProposal) GetTitle() string { @@ -843,10 +828,10 @@ func (p *ExpiryFuturesMarketLaunchProposal) ProposalType() string { // ValidateBasic returns ValidateBasic result of a perpetual market launch proposal. func (p *ExpiryFuturesMarketLaunchProposal) ValidateBasic() error { if p.Ticker == "" || len(p.Ticker) > MaxTickerLength { - return sdkerrors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") } if p.QuoteDenom == "" { - return sdkerrors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") + return errors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") } oracleParams := NewOracleParams(p.OracleBase, p.OracleQuote, p.OracleScaleFactor, p.OracleType) @@ -854,7 +839,7 @@ func (p *ExpiryFuturesMarketLaunchProposal) ValidateBasic() error { return err } if p.Expiry <= 0 { - return sdkerrors.Wrap(ErrInvalidExpiry, "expiry should not be empty") + return errors.Wrap(ErrInvalidExpiry, "expiry should not be empty") } if err := ValidateMakerFee(p.MakerFeeRate); err != nil { return err @@ -876,13 +861,13 @@ func (p *ExpiryFuturesMarketLaunchProposal) ValidateBasic() error { } if err := ValidateTickSize(p.MinPriceTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidPriceTickSize, err.Error()) + return errors.Wrap(ErrInvalidPriceTickSize, err.Error()) } if err := ValidateTickSize(p.MinQuantityTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidQuantityTickSize, err.Error()) + return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // NewTradingRewardCampaignUpdateProposal returns new instance of TradingRewardCampaignLaunchProposal @@ -906,7 +891,7 @@ func NewTradingRewardCampaignUpdateProposal( } // Implements Proposal Interface -var _ gov.Content = &TradingRewardCampaignUpdateProposal{} +var _ govtypes.Content = &TradingRewardCampaignUpdateProposal{} // GetTitle returns the title of this proposal func (p *TradingRewardCampaignUpdateProposal) GetTitle() string { @@ -937,7 +922,7 @@ func (p *TradingRewardCampaignUpdateProposal) ValidateBasic() error { prevStartTimestamp := int64(0) for _, pool := range p.CampaignRewardPoolsAdditions { if pool == nil { - return sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "campaign reward pool addition cannot be nil") + return errors.Wrap(ErrInvalidTradingRewardCampaign, "campaign reward pool addition cannot be nil") } prevStartTimestamp, err = validateCampaignRewardPool(pool, p.CampaignInfo.CampaignDurationSeconds, prevStartTimestamp) @@ -954,11 +939,11 @@ func (p *TradingRewardCampaignUpdateProposal) ValidateBasic() error { } } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // Implements Proposal Interface -var _ gov.Content = &TradingRewardPendingPointsUpdateProposal{} +var _ govtypes.Content = &TradingRewardPendingPointsUpdateProposal{} // GetTitle returns the title of this proposal func (p *TradingRewardPendingPointsUpdateProposal) GetTitle() string { @@ -981,43 +966,43 @@ func (p *TradingRewardPendingPointsUpdateProposal) ProposalType() string { // ValidateBasic returns ValidateBasic result of this proposal. func (p *TradingRewardPendingPointsUpdateProposal) ValidateBasic() error { if len(p.RewardPointUpdates) == 0 { - return sdkerrors.Wrap(ErrInvalidTradingRewardsPendingPointsUpdate, "reward pending points update cannot be nil") + return errors.Wrap(ErrInvalidTradingRewardsPendingPointsUpdate, "reward pending points update cannot be nil") } if p.PendingPoolTimestamp <= 0 { - return sdkerrors.Wrap(ErrInvalidTradingRewardsPendingPointsUpdate, "pending pool timestamp cannot be zero") + return errors.Wrap(ErrInvalidTradingRewardsPendingPointsUpdate, "pending pool timestamp cannot be zero") } accountAddresses := make([]string, 0) for _, rewardPointUpdate := range p.RewardPointUpdates { if rewardPointUpdate == nil { - return sdkerrors.Wrap(ErrInvalidTradingRewardsPendingPointsUpdate, "reward pending point update cannot be nil") + return errors.Wrap(ErrInvalidTradingRewardsPendingPointsUpdate, "reward pending point update cannot be nil") } _, err := sdk.AccAddressFromBech32(rewardPointUpdate.AccountAddress) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, rewardPointUpdate.AccountAddress) + return errors.Wrap(sdkerrors.ErrInvalidAddress, rewardPointUpdate.AccountAddress) } accountAddresses = append(accountAddresses, rewardPointUpdate.AccountAddress) if rewardPointUpdate.NewPoints.IsNil() { - return sdkerrors.Wrap(ErrInvalidTradingRewardsPendingPointsUpdate, "reward pending points cannot be nil") + return errors.Wrap(ErrInvalidTradingRewardsPendingPointsUpdate, "reward pending points cannot be nil") } if rewardPointUpdate.NewPoints.IsNegative() { - return sdkerrors.Wrap(ErrInvalidTradingRewardsPendingPointsUpdate, "reward pending points cannot be negative") + return errors.Wrap(ErrInvalidTradingRewardsPendingPointsUpdate, "reward pending points cannot be negative") } } hasDuplicateAccountAddresses := HasDuplicates(accountAddresses) if hasDuplicateAccountAddresses { - return sdkerrors.Wrap(ErrInvalidTradingRewardsPendingPointsUpdate, "account address cannot have duplicates") + return errors.Wrap(ErrInvalidTradingRewardsPendingPointsUpdate, "account address cannot have duplicates") } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // NewTradingRewardCampaignLaunchProposal returns new instance of TradingRewardCampaignLaunchProposal @@ -1039,7 +1024,7 @@ func NewTradingRewardCampaignLaunchProposal( } // Implements Proposal Interface -var _ gov.Content = &TradingRewardCampaignLaunchProposal{} +var _ govtypes.Content = &TradingRewardCampaignLaunchProposal{} // GetTitle returns the title of this proposal func (p *TradingRewardCampaignLaunchProposal) GetTitle() string { @@ -1064,11 +1049,11 @@ func (p *TradingRewardCampaignLaunchProposal) ValidateBasic() error { var err error if p.CampaignInfo == nil { - return sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "new campaign info cannot be nil") + return errors.Wrap(ErrInvalidTradingRewardCampaign, "new campaign info cannot be nil") } if len(p.CampaignRewardPools) == 0 { - return sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "new campaign reward pools cannot be nil") + return errors.Wrap(ErrInvalidTradingRewardCampaign, "new campaign reward pools cannot be nil") } err = p.CampaignInfo.ValidateBasic() @@ -1089,63 +1074,63 @@ func (p *TradingRewardCampaignLaunchProposal) ValidateBasic() error { func (t *TradingRewardCampaignBoostInfo) ValidateBasic() error { if len(t.BoostedSpotMarketIds) != len(t.SpotMarketMultipliers) { - return sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "boosted spot market ids is not matching spot market multipliers") + return errors.Wrap(ErrInvalidTradingRewardCampaign, "boosted spot market ids is not matching spot market multipliers") } for _, marketID := range t.BoostedSpotMarketIds { if !IsHexHash(marketID) { - return sdkerrors.Wrap(ErrMarketInvalid, marketID) + return errors.Wrap(ErrMarketInvalid, marketID) } } for _, marketID := range t.BoostedDerivativeMarketIds { if !IsHexHash(marketID) { - return sdkerrors.Wrap(ErrMarketInvalid, marketID) + return errors.Wrap(ErrMarketInvalid, marketID) } } if len(t.BoostedDerivativeMarketIds) != len(t.DerivativeMarketMultipliers) { - return sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "boosted derivative market ids is not matching derivative market multipliers") + return errors.Wrap(ErrInvalidTradingRewardCampaign, "boosted derivative market ids is not matching derivative market multipliers") } hasDuplicatesInMarkets := HasDuplicates(t.BoostedSpotMarketIds) || HasDuplicates(t.BoostedDerivativeMarketIds) if hasDuplicatesInMarkets { - return sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "campaign contains duplicate boosted market ids") + return errors.Wrap(ErrInvalidTradingRewardCampaign, "campaign contains duplicate boosted market ids") } for _, multiplier := range t.SpotMarketMultipliers { if IsZeroOrNilDec(multiplier.MakerPointsMultiplier) { - return sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "spot market maker multiplier cannot be zero or nil") + return errors.Wrap(ErrInvalidTradingRewardCampaign, "spot market maker multiplier cannot be zero or nil") } if IsZeroOrNilDec(multiplier.TakerPointsMultiplier) { - return sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "spot market taker multiplier cannot be zero or nil") + return errors.Wrap(ErrInvalidTradingRewardCampaign, "spot market taker multiplier cannot be zero or nil") } if !SafeIsPositiveDec(multiplier.MakerPointsMultiplier) { - return sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "spot market maker multiplier cannot be negative") + return errors.Wrap(ErrInvalidTradingRewardCampaign, "spot market maker multiplier cannot be negative") } if !SafeIsPositiveDec(multiplier.TakerPointsMultiplier) { - return sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "spot market taker multiplier cannot be negative") + return errors.Wrap(ErrInvalidTradingRewardCampaign, "spot market taker multiplier cannot be negative") } } for _, multiplier := range t.DerivativeMarketMultipliers { if IsZeroOrNilDec(multiplier.MakerPointsMultiplier) { - return sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "derivative market maker multiplier cannot be zero or nil") + return errors.Wrap(ErrInvalidTradingRewardCampaign, "derivative market maker multiplier cannot be zero or nil") } if IsZeroOrNilDec(multiplier.TakerPointsMultiplier) { - return sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "derivative market taker multiplier cannot be zero or nil") + return errors.Wrap(ErrInvalidTradingRewardCampaign, "derivative market taker multiplier cannot be zero or nil") } if !SafeIsPositiveDec(multiplier.MakerPointsMultiplier) { - return sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "derivative market maker multiplier cannot be negative") + return errors.Wrap(ErrInvalidTradingRewardCampaign, "derivative market maker multiplier cannot be negative") } if !SafeIsPositiveDec(multiplier.TakerPointsMultiplier) { - return sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "derivative market taker multiplier cannot be negative") + return errors.Wrap(ErrInvalidTradingRewardCampaign, "derivative market taker multiplier cannot be negative") } } return nil @@ -1153,15 +1138,15 @@ func (t *TradingRewardCampaignBoostInfo) ValidateBasic() error { func (c *TradingRewardCampaignInfo) ValidateBasic() error { if c == nil { - return sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "campaign info cannot be nil") + return errors.Wrap(ErrInvalidTradingRewardCampaign, "campaign info cannot be nil") } if c.CampaignDurationSeconds <= 0 { - return sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "campaign duration cannot be zero") + return errors.Wrap(ErrInvalidTradingRewardCampaign, "campaign duration cannot be zero") } if len(c.QuoteDenoms) == 0 { - return sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "campaign quote denoms cannot be nil") + return errors.Wrap(ErrInvalidTradingRewardCampaign, "campaign quote denoms cannot be nil") } hasTradingRewardBoostInfoDefined := c != nil && c.TradingRewardBoostInfo != nil @@ -1173,13 +1158,13 @@ func (c *TradingRewardCampaignInfo) ValidateBasic() error { for _, marketID := range c.DisqualifiedMarketIds { if !IsHexHash(marketID) { - return sdkerrors.Wrap(ErrMarketInvalid, marketID) + return errors.Wrap(ErrMarketInvalid, marketID) } } hasDuplicatesInDisqualifiedMarkets := c != nil && HasDuplicates(c.DisqualifiedMarketIds) if hasDuplicatesInDisqualifiedMarkets { - return sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "campaign contains duplicate disqualified market ids") + return errors.Wrap(ErrInvalidTradingRewardCampaign, "campaign contains duplicate disqualified market ids") } return nil @@ -1187,32 +1172,32 @@ func (c *TradingRewardCampaignInfo) ValidateBasic() error { func validateCampaignRewardPool(pool *CampaignRewardPool, campaignDurationSeconds, prevStartTimestamp int64) (int64, error) { if pool == nil { - return 0, sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "new campaign reward pool cannot be nil") + return 0, errors.Wrap(ErrInvalidTradingRewardCampaign, "new campaign reward pool cannot be nil") } if pool.StartTimestamp <= prevStartTimestamp { - return 0, sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "reward pool start timestamps must be in ascending order") + return 0, errors.Wrap(ErrInvalidTradingRewardCampaign, "reward pool start timestamps must be in ascending order") } hasValidStartTimestamp := prevStartTimestamp == 0 || pool.StartTimestamp == (prevStartTimestamp+campaignDurationSeconds) if !hasValidStartTimestamp { - return 0, sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "start timestamps not matching campaign duration") + return 0, errors.Wrap(ErrInvalidTradingRewardCampaign, "start timestamps not matching campaign duration") } prevStartTimestamp = pool.StartTimestamp hasDuplicatesInEpochRewards := HasDuplicatesCoin(pool.MaxCampaignRewards) if hasDuplicatesInEpochRewards { - return 0, sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "reward pool campaign contains duplicate market coins") + return 0, errors.Wrap(ErrInvalidTradingRewardCampaign, "reward pool campaign contains duplicate market coins") } for _, epochRewardDenom := range pool.MaxCampaignRewards { if !epochRewardDenom.IsValid() { - return 0, sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, epochRewardDenom.String()) + return 0, errors.Wrap(sdkerrors.ErrInvalidCoins, epochRewardDenom.String()) } if IsZeroOrNilInt(epochRewardDenom.Amount) { - return 0, sdkerrors.Wrap(ErrInvalidTradingRewardCampaign, "reward pool contains zero or nil reward amount") + return 0, errors.Wrap(ErrInvalidTradingRewardCampaign, "reward pool contains zero or nil reward amount") } } @@ -1229,7 +1214,7 @@ func NewFeeDiscountProposal(title, description string, schedule *FeeDiscountSche } // Implements Proposal Interface -var _ gov.Content = &FeeDiscountProposal{} +var _ govtypes.Content = &FeeDiscountProposal{} // GetTitle returns the title of this proposal func (p *FeeDiscountProposal) GetTitle() string { @@ -1252,33 +1237,33 @@ func (p *FeeDiscountProposal) ProposalType() string { // ValidateBasic returns ValidateBasic result of this proposal. func (p *FeeDiscountProposal) ValidateBasic() error { if p.Schedule == nil { - return sdkerrors.Wrap(ErrInvalidFeeDiscountSchedule, "new fee discount schedule cannot be nil") + return errors.Wrap(ErrInvalidFeeDiscountSchedule, "new fee discount schedule cannot be nil") } if p.Schedule.BucketCount < 2 { - return sdkerrors.Wrap(ErrInvalidFeeDiscountSchedule, "new fee discount schedule must have at least 2 buckets") + return errors.Wrap(ErrInvalidFeeDiscountSchedule, "new fee discount schedule must have at least 2 buckets") } if p.Schedule.BucketDuration < 10 { - return sdkerrors.Wrap(ErrInvalidFeeDiscountSchedule, "new fee discount schedule must have have bucket durations of at least 10 seconds") + return errors.Wrap(ErrInvalidFeeDiscountSchedule, "new fee discount schedule must have have bucket durations of at least 10 seconds") } if HasDuplicates(p.Schedule.QuoteDenoms) { - return sdkerrors.Wrap(ErrInvalidFeeDiscountSchedule, "new fee discount schedule cannot have duplicate quote denoms") + return errors.Wrap(ErrInvalidFeeDiscountSchedule, "new fee discount schedule cannot have duplicate quote denoms") } for _, marketID := range p.Schedule.DisqualifiedMarketIds { if !IsHexHash(marketID) { - return sdkerrors.Wrap(ErrMarketInvalid, marketID) + return errors.Wrap(ErrMarketInvalid, marketID) } } if HasDuplicates(p.Schedule.DisqualifiedMarketIds) { - return sdkerrors.Wrap(ErrInvalidFeeDiscountSchedule, "new fee discount schedule cannot have duplicate disqualified market ids") + return errors.Wrap(ErrInvalidFeeDiscountSchedule, "new fee discount schedule cannot have duplicate disqualified market ids") } if len(p.Schedule.TierInfos) < 1 { - return sdkerrors.Wrap(ErrInvalidFeeDiscountSchedule, "new fee discount schedule must have at least one discount tier") + return errors.Wrap(ErrInvalidFeeDiscountSchedule, "new fee discount schedule must have at least one discount tier") } for idx, tierInfo := range p.Schedule.TierInfos { @@ -1290,56 +1275,47 @@ func (p *FeeDiscountProposal) ValidateBasic() error { prevTierInfo := p.Schedule.TierInfos[idx-1] if prevTierInfo.MakerDiscountRate.GT(tierInfo.MakerDiscountRate) { - return sdkerrors.Wrap(ErrInvalidFeeDiscountSchedule, "successive MakerDiscountRates must be equal or larger than those of lower tiers") + return errors.Wrap(ErrInvalidFeeDiscountSchedule, "successive MakerDiscountRates must be equal or larger than those of lower tiers") } if prevTierInfo.TakerDiscountRate.GT(tierInfo.TakerDiscountRate) { - return sdkerrors.Wrap(ErrInvalidFeeDiscountSchedule, "successive TakerDiscountRates must be equal or larger than those of lower tiers") + return errors.Wrap(ErrInvalidFeeDiscountSchedule, "successive TakerDiscountRates must be equal or larger than those of lower tiers") } if prevTierInfo.StakedAmount.GT(tierInfo.StakedAmount) { - return sdkerrors.Wrap(ErrInvalidFeeDiscountSchedule, "successive StakedAmount must be equal or larger than those of lower tiers") + return errors.Wrap(ErrInvalidFeeDiscountSchedule, "successive StakedAmount must be equal or larger than those of lower tiers") } if prevTierInfo.Volume.GT(tierInfo.Volume) { - return sdkerrors.Wrap(ErrInvalidFeeDiscountSchedule, "successive Volume must be equal or larger than those of lower tiers") + return errors.Wrap(ErrInvalidFeeDiscountSchedule, "successive Volume must be equal or larger than those of lower tiers") } } } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } func (t *FeeDiscountTierInfo) ValidateBasic() error { if !SafeIsNonNegativeDec(t.MakerDiscountRate) || t.MakerDiscountRate.GT(sdk.OneDec()) { - return sdkerrors.Wrap(ErrInvalidFeeDiscountSchedule, "MakerDiscountRate must be between 0 and 1") + return errors.Wrap(ErrInvalidFeeDiscountSchedule, "MakerDiscountRate must be between 0 and 1") } if !SafeIsNonNegativeDec(t.TakerDiscountRate) || t.TakerDiscountRate.GT(sdk.OneDec()) { - return sdkerrors.Wrap(ErrInvalidFeeDiscountSchedule, "TakerDiscountRate must be between 0 and 1") + return errors.Wrap(ErrInvalidFeeDiscountSchedule, "TakerDiscountRate must be between 0 and 1") } if !SafeIsPositiveInt(t.StakedAmount) { - return sdkerrors.Wrap(ErrInvalidFeeDiscountSchedule, "StakedAmount must be non-negative") + return errors.Wrap(ErrInvalidFeeDiscountSchedule, "StakedAmount must be non-negative") } if !SafeIsPositiveDec(t.Volume) { - return sdkerrors.Wrap(ErrInvalidFeeDiscountSchedule, "Volume must be non-negative") + return errors.Wrap(ErrInvalidFeeDiscountSchedule, "Volume must be non-negative") } return nil } -// NewBatchCommunityPoolSpendProposal returns new instance of BatchCommunityPoolSpendProposal -func NewBatchCommunityPoolSpendProposal(title, description string, proposals []*distributiontypes.CommunityPoolSpendProposal) *BatchCommunityPoolSpendProposal { - return &BatchCommunityPoolSpendProposal{ - Title: title, - Description: description, - Proposals: proposals, - } -} - // Implements Proposal Interface -var _ gov.Content = &BatchCommunityPoolSpendProposal{} +var _ govtypes.Content = &BatchCommunityPoolSpendProposal{} // GetTitle returns the title of this proposal. func (p *BatchCommunityPoolSpendProposal) GetTitle() string { @@ -1366,7 +1342,7 @@ func (p *BatchCommunityPoolSpendProposal) ValidateBasic() error { return err } } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // NewBinaryOptionsMarketLaunchProposal returns new instance of BinaryOptionsMarketLaunchProposal @@ -1398,7 +1374,7 @@ func NewBinaryOptionsMarketLaunchProposal( } // Implements Proposal Interface -var _ gov.Content = &BinaryOptionsMarketLaunchProposal{} +var _ govtypes.Content = &BinaryOptionsMarketLaunchProposal{} // GetTitle returns the title of this proposal. func (p *BinaryOptionsMarketLaunchProposal) GetTitle() string { @@ -1421,16 +1397,16 @@ func (p *BinaryOptionsMarketLaunchProposal) ProposalType() string { // ValidateBasic returns ValidateBasic result of a perpetual market launch proposal. func (p *BinaryOptionsMarketLaunchProposal) ValidateBasic() error { if p.Ticker == "" || len(p.Ticker) > MaxTickerLength { - return sdkerrors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") } if p.OracleSymbol == "" { - return sdkerrors.Wrap(ErrInvalidOracle, "oracle symbol should not be empty") + return errors.Wrap(ErrInvalidOracle, "oracle symbol should not be empty") } if p.OracleProvider == "" { - return sdkerrors.Wrap(ErrInvalidOracle, "oracle provider should not be empty") + return errors.Wrap(ErrInvalidOracle, "oracle provider should not be empty") } if p.OracleType != oracletypes.OracleType_Provider { - return sdkerrors.Wrap(ErrInvalidOracleType, p.OracleType.String()) + return errors.Wrap(ErrInvalidOracleType, p.OracleType.String()) } if p.OracleScaleFactor > MaxOracleScaleFactor { return ErrExceedsMaxOracleScaleFactor @@ -1443,11 +1419,11 @@ func (p *BinaryOptionsMarketLaunchProposal) ValidateBasic() error { if p.Admin != "" { _, err := sdk.AccAddressFromBech32(p.Admin) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, p.Admin) + return errors.Wrap(sdkerrors.ErrInvalidAddress, p.Admin) } } if p.QuoteDenom == "" { - return sdkerrors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") + return errors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") } if err := ValidateMakerFee(p.MakerFeeRate); err != nil { return err @@ -1461,13 +1437,13 @@ func (p *BinaryOptionsMarketLaunchProposal) ValidateBasic() error { } if err := ValidateTickSize(p.MinPriceTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidPriceTickSize, err.Error()) + return errors.Wrap(ErrInvalidPriceTickSize, err.Error()) } if err := ValidateTickSize(p.MinQuantityTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidQuantityTickSize, err.Error()) + return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // NewBinaryOptionsMarketParamUpdateProposal returns new instance of BinaryOptionsMarketParamUpdateProposal @@ -1496,7 +1472,7 @@ func NewBinaryOptionsMarketParamUpdateProposal( } // Implements Proposal Interface -var _ gov.Content = &BinaryOptionsMarketParamUpdateProposal{} +var _ govtypes.Content = &BinaryOptionsMarketParamUpdateProposal{} // GetTitle returns the title of this proposal func (p *BinaryOptionsMarketParamUpdateProposal) GetTitle() string { @@ -1519,7 +1495,7 @@ func (p *BinaryOptionsMarketParamUpdateProposal) ProposalType() string { // ValidateBasic returns ValidateBasic result of this proposal. func (p *BinaryOptionsMarketParamUpdateProposal) ValidateBasic() error { if !IsHexHash(p.MarketId) { - return sdkerrors.Wrap(ErrMarketInvalid, p.MarketId) + return errors.Wrap(ErrMarketInvalid, p.MarketId) } if p.MakerFeeRate == nil && p.TakerFeeRate == nil && @@ -1532,7 +1508,7 @@ func (p *BinaryOptionsMarketParamUpdateProposal) ValidateBasic() error { p.SettlementPrice == nil && p.Admin == "" && p.OracleParams == nil { - return sdkerrors.Wrap(gov.ErrInvalidProposalContent, "At least one field should not be nil") + return errors.Wrap(gov.ErrInvalidProposalContent, "At least one field should not be nil") } if p.MakerFeeRate != nil { @@ -1554,13 +1530,13 @@ func (p *BinaryOptionsMarketParamUpdateProposal) ValidateBasic() error { if p.MinPriceTickSize != nil { if err := ValidateTickSize(*p.MinPriceTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidPriceTickSize, err.Error()) + return errors.Wrap(ErrInvalidPriceTickSize, err.Error()) } } if p.MinQuantityTickSize != nil { if err := ValidateTickSize(*p.MinQuantityTickSize); err != nil { - return sdkerrors.Wrap(ErrInvalidQuantityTickSize, err.Error()) + return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } } @@ -1588,11 +1564,11 @@ func (p *BinaryOptionsMarketParamUpdateProposal) ValidateBasic() error { case p.SettlementPrice.Equal(BinaryOptionsMarketRefundFlagPrice), p.SettlementPrice.GTE(sdk.ZeroDec()) && p.SettlementPrice.LTE(MaxBinaryOptionsOrderPrice): if p.Status != MarketStatus_Demolished { - return sdkerrors.Wrapf(ErrInvalidMarketStatus, "status should be set to demolished when the settlement price is set, status: %s", p.Status.String()) + return errors.Wrapf(ErrInvalidMarketStatus, "status should be set to demolished when the settlement price is set, status: %s", p.Status.String()) } // ok default: - return sdkerrors.Wrap(ErrInvalidPrice, p.SettlementPrice.String()) + return errors.Wrap(ErrInvalidPrice, p.SettlementPrice.String()) } switch p.Status { @@ -1600,7 +1576,7 @@ func (p *BinaryOptionsMarketParamUpdateProposal) ValidateBasic() error { MarketStatus_Unspecified, MarketStatus_Demolished: default: - return sdkerrors.Wrap(ErrInvalidMarketStatus, p.Status.String()) + return errors.Wrap(ErrInvalidMarketStatus, p.Status.String()) } if p.OracleParams != nil { @@ -1609,11 +1585,11 @@ func (p *BinaryOptionsMarketParamUpdateProposal) ValidateBasic() error { } } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // Implements Proposal Interface -var _ gov.Content = &AtomicMarketOrderFeeMultiplierScheduleProposal{} +var _ govtypes.Content = &AtomicMarketOrderFeeMultiplierScheduleProposal{} // GetTitle returns the title of this proposal func (p *AtomicMarketOrderFeeMultiplierScheduleProposal) GetTitle() string { @@ -1635,11 +1611,11 @@ func (p *AtomicMarketOrderFeeMultiplierScheduleProposal) ProposalType() string { func (p *AtomicMarketOrderFeeMultiplierScheduleProposal) ValidateBasic() error { if len(p.MarketFeeMultipliers) == 0 { - return sdkerrors.Wrap(gov.ErrInvalidProposalContent, "At least one fee multiplier should be provided") + return errors.Wrap(gov.ErrInvalidProposalContent, "At least one fee multiplier should be provided") } for _, m := range p.MarketFeeMultipliers { if !IsHexHash(m.MarketId) { - return sdkerrors.Wrap(ErrMarketInvalid, m.MarketId) + return errors.Wrap(ErrMarketInvalid, m.MarketId) } multiplier := m.FeeMultiplier if multiplier.IsNil() { @@ -1654,5 +1630,5 @@ func (p *AtomicMarketOrderFeeMultiplierScheduleProposal) ValidateBasic() error { return fmt.Errorf("atomicMarketOrderFeeMultiplier cannot be bigger than %v: %v", multiplier, MaxFeeMultiplier) } } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } diff --git a/chain/exchange/types/query.pb.go b/chain/exchange/types/query.pb.go index cc42ddc6..a9d39357 100644 --- a/chain/exchange/types/query.pb.go +++ b/chain/exchange/types/query.pb.go @@ -8,9 +8,9 @@ import ( fmt "fmt" types "github.com/InjectiveLabs/sdk-go/chain/oracle/types" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" @@ -31,6 +31,35 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package +type OrderSide int32 + +const ( + // will return both + OrderSide_Side_Unspecified OrderSide = 0 + OrderSide_Buy OrderSide = 1 + OrderSide_Sell OrderSide = 2 +) + +var OrderSide_name = map[int32]string{ + 0: "Side_Unspecified", + 1: "Buy", + 2: "Sell", +} + +var OrderSide_value = map[string]int32{ + "Side_Unspecified": 0, + "Buy": 1, + "Sell": 2, +} + +func (x OrderSide) String() string { + return proto.EnumName(OrderSide_name, int32(x)) +} + +func (OrderSide) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{0} +} + // CancellationStrategy is the list of cancellation strategies. type CancellationStrategy int32 @@ -60,7 +89,7 @@ func (x CancellationStrategy) String() string { } func (CancellationStrategy) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{0} + return fileDescriptor_523db28b8af54781, []int{1} } type Subaccount struct { @@ -279,7 +308,8 @@ func (m *SubaccountOrderbookMetadataWithMarket) GetIsBuy() bool { return false } -// QueryExchangeParamsRequest is the request type for the Query/ExchangeParams RPC method. +// QueryExchangeParamsRequest is the request type for the Query/ExchangeParams +// RPC method. type QueryExchangeParamsRequest struct { } @@ -316,7 +346,8 @@ func (m *QueryExchangeParamsRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryExchangeParamsRequest proto.InternalMessageInfo -// QueryExchangeParamsRequest is the response type for the Query/ExchangeParams RPC method. +// QueryExchangeParamsRequest is the response type for the Query/ExchangeParams +// RPC method. type QueryExchangeParamsResponse struct { Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` } @@ -361,7 +392,8 @@ func (m *QueryExchangeParamsResponse) GetParams() Params { return Params{} } -// QuerySubaccountDepositsRequest is the request type for the Query/SubaccountDeposits RPC method. +// QuerySubaccountDepositsRequest is the request type for the +// Query/SubaccountDeposits RPC method. type QuerySubaccountDepositsRequest struct { SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` Subaccount *Subaccount `protobuf:"bytes,2,opt,name=subaccount,proto3" json:"subaccount,omitempty"` @@ -414,7 +446,8 @@ func (m *QuerySubaccountDepositsRequest) GetSubaccount() *Subaccount { return nil } -// QuerySubaccountDepositsResponse is the response type for the Query/SubaccountDeposits RPC method. +// QuerySubaccountDepositsResponse is the response type for the +// Query/SubaccountDeposits RPC method. type QuerySubaccountDepositsResponse struct { Deposits map[string]*Deposit `protobuf:"bytes,1,rep,name=deposits,proto3" json:"deposits,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -459,7 +492,8 @@ func (m *QuerySubaccountDepositsResponse) GetDeposits() map[string]*Deposit { return nil } -// QueryExchangeBalancesRequest is the request type for the Query/ExchangeBalances RPC method. +// QueryExchangeBalancesRequest is the request type for the +// Query/ExchangeBalances RPC method. type QueryExchangeBalancesRequest struct { } @@ -496,7 +530,8 @@ func (m *QueryExchangeBalancesRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryExchangeBalancesRequest proto.InternalMessageInfo -// QuerySubaccountDepositsResponse is the response type for the Query/SubaccountDeposits RPC method. +// QuerySubaccountDepositsResponse is the response type for the +// Query/SubaccountDeposits RPC method. type QueryExchangeBalancesResponse struct { Balances []Balance `protobuf:"bytes,1,rep,name=balances,proto3" json:"balances"` } @@ -541,7 +576,8 @@ func (m *QueryExchangeBalancesResponse) GetBalances() []Balance { return nil } -// QueryAggregateVolumeRequest is the request type for the Query/AggregateVolume RPC method. +// QueryAggregateVolumeRequest is the request type for the Query/AggregateVolume +// RPC method. type QueryAggregateVolumeRequest struct { // can either be an address or a subaccount Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` @@ -587,9 +623,11 @@ func (m *QueryAggregateVolumeRequest) GetAccount() string { return "" } -// QueryAggregateVolumeResponse is the response type for the Query/AggregateVolume RPC method. +// QueryAggregateVolumeResponse is the response type for the +// Query/AggregateVolume RPC method. type QueryAggregateVolumeResponse struct { - // if an address is specified, then the aggregate_volumes will aggregate the volumes across all subaccounts for the address + // if an address is specified, then the aggregate_volumes will aggregate the + // volumes across all subaccounts for the address AggregateVolumes []*MarketVolume `protobuf:"bytes,1,rep,name=aggregate_volumes,json=aggregateVolumes,proto3" json:"aggregate_volumes,omitempty"` } @@ -633,7 +671,8 @@ func (m *QueryAggregateVolumeResponse) GetAggregateVolumes() []*MarketVolume { return nil } -// QueryAggregateVolumesRequest is the request type for the Query/AggregateVolumes RPC method. +// QueryAggregateVolumesRequest is the request type for the +// Query/AggregateVolumes RPC method. type QueryAggregateVolumesRequest struct { Accounts []string `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` MarketIds []string `protobuf:"bytes,2,rep,name=market_ids,json=marketIds,proto3" json:"market_ids,omitempty"` @@ -686,7 +725,8 @@ func (m *QueryAggregateVolumesRequest) GetMarketIds() []string { return nil } -// QueryAggregateVolumesResponse is the response type for the Query/AggregateVolumes RPC method. +// QueryAggregateVolumesResponse is the response type for the +// Query/AggregateVolumes RPC method. type QueryAggregateVolumesResponse struct { // the aggregate volume records for the accounts specified AggregateAccountVolumes []*AggregateAccountVolumeRecord `protobuf:"bytes,1,rep,name=aggregate_account_volumes,json=aggregateAccountVolumes,proto3" json:"aggregate_account_volumes,omitempty"` @@ -741,7 +781,8 @@ func (m *QueryAggregateVolumesResponse) GetAggregateMarketVolumes() []*MarketVol return nil } -// QueryAggregateMarketVolumeRequest is the request type for the Query/AggregateMarketVolume RPC method. +// QueryAggregateMarketVolumeRequest is the request type for the +// Query/AggregateMarketVolume RPC method. type QueryAggregateMarketVolumeRequest struct { MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` } @@ -786,7 +827,8 @@ func (m *QueryAggregateMarketVolumeRequest) GetMarketId() string { return "" } -// QueryAggregateMarketVolumeResponse is the response type for the Query/AggregateMarketVolume RPC method. +// QueryAggregateMarketVolumeResponse is the response type for the +// Query/AggregateMarketVolume RPC method. type QueryAggregateMarketVolumeResponse struct { Volume VolumeRecord `protobuf:"bytes,1,opt,name=volume,proto3" json:"volume"` } @@ -831,7 +873,8 @@ func (m *QueryAggregateMarketVolumeResponse) GetVolume() VolumeRecord { return VolumeRecord{} } -// QueryDenomDecimalRequest is the request type for the Query/DenomDecimal RPC method. +// QueryDenomDecimalRequest is the request type for the Query/DenomDecimal RPC +// method. type QueryDenomDecimalRequest struct { Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` } @@ -876,7 +919,8 @@ func (m *QueryDenomDecimalRequest) GetDenom() string { return "" } -// QueryDenomDecimalResponse is the response type for the Query/DenomDecimal RPC method. +// QueryDenomDecimalResponse is the response type for the Query/DenomDecimal RPC +// method. type QueryDenomDecimalResponse struct { Decimal uint64 `protobuf:"varint,1,opt,name=decimal,proto3" json:"decimal,omitempty"` } @@ -921,7 +965,8 @@ func (m *QueryDenomDecimalResponse) GetDecimal() uint64 { return 0 } -// QueryDenomDecimalsRequest is the request type for the Query/DenomDecimals RPC method. +// QueryDenomDecimalsRequest is the request type for the Query/DenomDecimals RPC +// method. type QueryDenomDecimalsRequest struct { // denoms can be empty to query all denom decimals Denoms []string `protobuf:"bytes,1,rep,name=denoms,proto3" json:"denoms,omitempty"` @@ -967,7 +1012,8 @@ func (m *QueryDenomDecimalsRequest) GetDenoms() []string { return nil } -// QueryDenomDecimalsRequest is the response type for the Query/DenomDecimals RPC method. +// QueryDenomDecimalsRequest is the response type for the Query/DenomDecimals +// RPC method. type QueryDenomDecimalsResponse struct { DenomDecimals []DenomDecimals `protobuf:"bytes,1,rep,name=denom_decimals,json=denomDecimals,proto3" json:"denom_decimals"` } @@ -1012,7 +1058,8 @@ func (m *QueryDenomDecimalsResponse) GetDenomDecimals() []DenomDecimals { return nil } -// QueryAggregateMarketVolumesRequest is the request type for the Query/AggregateMarketVolumes RPC method. +// QueryAggregateMarketVolumesRequest is the request type for the +// Query/AggregateMarketVolumes RPC method. type QueryAggregateMarketVolumesRequest struct { MarketIds []string `protobuf:"bytes,1,rep,name=market_ids,json=marketIds,proto3" json:"market_ids,omitempty"` } @@ -1057,7 +1104,8 @@ func (m *QueryAggregateMarketVolumesRequest) GetMarketIds() []string { return nil } -// QueryAggregateMarketVolumesResponse is the response type for the Query/AggregateMarketVolumes RPC method. +// QueryAggregateMarketVolumesResponse is the response type for the +// Query/AggregateMarketVolumes RPC method. type QueryAggregateMarketVolumesResponse struct { // the aggregate volumes for the entire market Volumes []*MarketVolume `protobuf:"bytes,1,rep,name=volumes,proto3" json:"volumes,omitempty"` @@ -1103,7 +1151,8 @@ func (m *QueryAggregateMarketVolumesResponse) GetVolumes() []*MarketVolume { return nil } -// QuerySubaccountDepositsRequest is the request type for the Query/SubaccountDeposits RPC method. +// QuerySubaccountDepositsRequest is the request type for the +// Query/SubaccountDeposits RPC method. type QuerySubaccountDepositRequest struct { SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` @@ -1156,7 +1205,8 @@ func (m *QuerySubaccountDepositRequest) GetDenom() string { return "" } -// QuerySubaccountDepositsResponse is the response type for the Query/SubaccountDeposits RPC method. +// QuerySubaccountDepositsResponse is the response type for the +// Query/SubaccountDeposits RPC method. type QuerySubaccountDepositResponse struct { Deposits *Deposit `protobuf:"bytes,1,opt,name=deposits,proto3" json:"deposits,omitempty"` } @@ -1201,10 +1251,13 @@ func (m *QuerySubaccountDepositResponse) GetDeposits() *Deposit { return nil } -// QuerySpotMarketsRequest is the request type for the Query/SpotMarkets RPC method. +// QuerySpotMarketsRequest is the request type for the Query/SpotMarkets RPC +// method. type QuerySpotMarketsRequest struct { // Status of the market, for convenience it is set to string - not enum Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + // Filter by market IDs + MarketIds []string `protobuf:"bytes,2,rep,name=market_ids,json=marketIds,proto3" json:"market_ids,omitempty"` } func (m *QuerySpotMarketsRequest) Reset() { *m = QuerySpotMarketsRequest{} } @@ -1247,7 +1300,15 @@ func (m *QuerySpotMarketsRequest) GetStatus() string { return "" } -// QuerySpotMarketsResponse is the response type for the Query/SpotMarkets RPC method. +func (m *QuerySpotMarketsRequest) GetMarketIds() []string { + if m != nil { + return m.MarketIds + } + return nil +} + +// QuerySpotMarketsResponse is the response type for the Query/SpotMarkets RPC +// method. type QuerySpotMarketsResponse struct { Markets []*SpotMarket `protobuf:"bytes,1,rep,name=markets,proto3" json:"markets,omitempty"` } @@ -1292,7 +1353,8 @@ func (m *QuerySpotMarketsResponse) GetMarkets() []*SpotMarket { return nil } -// QuerySpotMarketRequest is the request type for the Query/SpotMarket RPC method. +// QuerySpotMarketRequest is the request type for the Query/SpotMarket RPC +// method. type QuerySpotMarketRequest struct { // Market ID for the market MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` @@ -1338,7 +1400,8 @@ func (m *QuerySpotMarketRequest) GetMarketId() string { return "" } -// QuerySpotMarketResponse is the response type for the Query/SpotMarket RPC method. +// QuerySpotMarketResponse is the response type for the Query/SpotMarket RPC +// method. type QuerySpotMarketResponse struct { Market *SpotMarket `protobuf:"bytes,1,opt,name=market,proto3" json:"market,omitempty"` } @@ -1383,11 +1446,15 @@ func (m *QuerySpotMarketResponse) GetMarket() *SpotMarket { return nil } -// QuerySpotOrderbookRequest is the request type for the Query/SpotOrderbook RPC method. +// QuerySpotOrderbookRequest is the request type for the Query/SpotOrderbook RPC +// method. type QuerySpotOrderbookRequest struct { // Market ID for the market - MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + OrderSide OrderSide `protobuf:"varint,3,opt,name=order_side,json=orderSide,proto3,enum=injective.exchange.v1beta1.OrderSide" json:"order_side,omitempty"` + LimitCumulativeNotional *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=limit_cumulative_notional,json=limitCumulativeNotional,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"limit_cumulative_notional,omitempty"` + LimitCumulativeQuantity *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=limit_cumulative_quantity,json=limitCumulativeQuantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"limit_cumulative_quantity,omitempty"` } func (m *QuerySpotOrderbookRequest) Reset() { *m = QuerySpotOrderbookRequest{} } @@ -1437,7 +1504,15 @@ func (m *QuerySpotOrderbookRequest) GetLimit() uint64 { return 0 } -// QuerySpotOrderbookResponse is the response type for the Query/SpotOrderbook RPC method. +func (m *QuerySpotOrderbookRequest) GetOrderSide() OrderSide { + if m != nil { + return m.OrderSide + } + return OrderSide_Side_Unspecified +} + +// QuerySpotOrderbookResponse is the response type for the Query/SpotOrderbook +// RPC method. type QuerySpotOrderbookResponse struct { BuysPriceLevel []*Level `protobuf:"bytes,1,rep,name=buys_price_level,json=buysPriceLevel,proto3" json:"buys_price_level,omitempty"` SellsPriceLevel []*Level `protobuf:"bytes,2,rep,name=sells_price_level,json=sellsPriceLevel,proto3" json:"sells_price_level,omitempty"` @@ -1490,7 +1565,277 @@ func (m *QuerySpotOrderbookResponse) GetSellsPriceLevel() []*Level { return nil } -// QueryTraderSpotOrdersRequest is the request type for the Query/TraderSpotOrders RPC method. +type FullSpotMarket struct { + Market *SpotMarket `protobuf:"bytes,1,opt,name=market,proto3" json:"market,omitempty"` + // mid_price_and_tob defines the mid price for this market and the best ask + // and bid orders + MidPriceAndTob *MidPriceAndTOB `protobuf:"bytes,2,opt,name=mid_price_and_tob,json=midPriceAndTob,proto3" json:"mid_price_and_tob,omitempty"` +} + +func (m *FullSpotMarket) Reset() { *m = FullSpotMarket{} } +func (m *FullSpotMarket) String() string { return proto.CompactTextString(m) } +func (*FullSpotMarket) ProtoMessage() {} +func (*FullSpotMarket) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{30} +} +func (m *FullSpotMarket) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *FullSpotMarket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_FullSpotMarket.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *FullSpotMarket) XXX_Merge(src proto.Message) { + xxx_messageInfo_FullSpotMarket.Merge(m, src) +} +func (m *FullSpotMarket) XXX_Size() int { + return m.Size() +} +func (m *FullSpotMarket) XXX_DiscardUnknown() { + xxx_messageInfo_FullSpotMarket.DiscardUnknown(m) +} + +var xxx_messageInfo_FullSpotMarket proto.InternalMessageInfo + +func (m *FullSpotMarket) GetMarket() *SpotMarket { + if m != nil { + return m.Market + } + return nil +} + +func (m *FullSpotMarket) GetMidPriceAndTob() *MidPriceAndTOB { + if m != nil { + return m.MidPriceAndTob + } + return nil +} + +// QueryFullSpotMarketsRequest is the request type for the Query/FullSpotMarkets +// RPC method. +type QueryFullSpotMarketsRequest struct { + // Status of the market, for convenience it is set to string - not enum + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + // Filter by market IDs + MarketIds []string `protobuf:"bytes,2,rep,name=market_ids,json=marketIds,proto3" json:"market_ids,omitempty"` + // Flag to return the markets mid price and top of the book buy and sell + // orders. + WithMidPriceAndTob bool `protobuf:"varint,3,opt,name=with_mid_price_and_tob,json=withMidPriceAndTob,proto3" json:"with_mid_price_and_tob,omitempty"` +} + +func (m *QueryFullSpotMarketsRequest) Reset() { *m = QueryFullSpotMarketsRequest{} } +func (m *QueryFullSpotMarketsRequest) String() string { return proto.CompactTextString(m) } +func (*QueryFullSpotMarketsRequest) ProtoMessage() {} +func (*QueryFullSpotMarketsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{31} +} +func (m *QueryFullSpotMarketsRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryFullSpotMarketsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryFullSpotMarketsRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryFullSpotMarketsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryFullSpotMarketsRequest.Merge(m, src) +} +func (m *QueryFullSpotMarketsRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryFullSpotMarketsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryFullSpotMarketsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryFullSpotMarketsRequest proto.InternalMessageInfo + +func (m *QueryFullSpotMarketsRequest) GetStatus() string { + if m != nil { + return m.Status + } + return "" +} + +func (m *QueryFullSpotMarketsRequest) GetMarketIds() []string { + if m != nil { + return m.MarketIds + } + return nil +} + +func (m *QueryFullSpotMarketsRequest) GetWithMidPriceAndTob() bool { + if m != nil { + return m.WithMidPriceAndTob + } + return false +} + +// QueryFullSpotMarketsResponse is the response type for the +// Query/FullSpotMarkets RPC method. +type QueryFullSpotMarketsResponse struct { + Markets []*FullSpotMarket `protobuf:"bytes,1,rep,name=markets,proto3" json:"markets,omitempty"` +} + +func (m *QueryFullSpotMarketsResponse) Reset() { *m = QueryFullSpotMarketsResponse{} } +func (m *QueryFullSpotMarketsResponse) String() string { return proto.CompactTextString(m) } +func (*QueryFullSpotMarketsResponse) ProtoMessage() {} +func (*QueryFullSpotMarketsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{32} +} +func (m *QueryFullSpotMarketsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryFullSpotMarketsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryFullSpotMarketsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryFullSpotMarketsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryFullSpotMarketsResponse.Merge(m, src) +} +func (m *QueryFullSpotMarketsResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryFullSpotMarketsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryFullSpotMarketsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryFullSpotMarketsResponse proto.InternalMessageInfo + +func (m *QueryFullSpotMarketsResponse) GetMarkets() []*FullSpotMarket { + if m != nil { + return m.Markets + } + return nil +} + +// QuerySpotMarketRequest is the request type for the Query/SpotMarket RPC +// method. +type QueryFullSpotMarketRequest struct { + // Market ID for the market + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // Flag to return the markets mid price and top of the book buy and sell + // orders. + WithMidPriceAndTob bool `protobuf:"varint,2,opt,name=with_mid_price_and_tob,json=withMidPriceAndTob,proto3" json:"with_mid_price_and_tob,omitempty"` +} + +func (m *QueryFullSpotMarketRequest) Reset() { *m = QueryFullSpotMarketRequest{} } +func (m *QueryFullSpotMarketRequest) String() string { return proto.CompactTextString(m) } +func (*QueryFullSpotMarketRequest) ProtoMessage() {} +func (*QueryFullSpotMarketRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{33} +} +func (m *QueryFullSpotMarketRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryFullSpotMarketRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryFullSpotMarketRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryFullSpotMarketRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryFullSpotMarketRequest.Merge(m, src) +} +func (m *QueryFullSpotMarketRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryFullSpotMarketRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryFullSpotMarketRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryFullSpotMarketRequest proto.InternalMessageInfo + +func (m *QueryFullSpotMarketRequest) GetMarketId() string { + if m != nil { + return m.MarketId + } + return "" +} + +func (m *QueryFullSpotMarketRequest) GetWithMidPriceAndTob() bool { + if m != nil { + return m.WithMidPriceAndTob + } + return false +} + +// QuerySpotMarketResponse is the response type for the Query/SpotMarket RPC +// method. +type QueryFullSpotMarketResponse struct { + Market *FullSpotMarket `protobuf:"bytes,1,opt,name=market,proto3" json:"market,omitempty"` +} + +func (m *QueryFullSpotMarketResponse) Reset() { *m = QueryFullSpotMarketResponse{} } +func (m *QueryFullSpotMarketResponse) String() string { return proto.CompactTextString(m) } +func (*QueryFullSpotMarketResponse) ProtoMessage() {} +func (*QueryFullSpotMarketResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{34} +} +func (m *QueryFullSpotMarketResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryFullSpotMarketResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryFullSpotMarketResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryFullSpotMarketResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryFullSpotMarketResponse.Merge(m, src) +} +func (m *QueryFullSpotMarketResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryFullSpotMarketResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryFullSpotMarketResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryFullSpotMarketResponse proto.InternalMessageInfo + +func (m *QueryFullSpotMarketResponse) GetMarket() *FullSpotMarket { + if m != nil { + return m.Market + } + return nil +} + +// QuerySpotOrdersByHashesRequest is the request type for the +// Query/SpotOrdersByHashes RPC method. type QuerySpotOrdersByHashesRequest struct { // Market ID for the market MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` @@ -1504,7 +1849,7 @@ func (m *QuerySpotOrdersByHashesRequest) Reset() { *m = QuerySpotOrdersB func (m *QuerySpotOrdersByHashesRequest) String() string { return proto.CompactTextString(m) } func (*QuerySpotOrdersByHashesRequest) ProtoMessage() {} func (*QuerySpotOrdersByHashesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{30} + return fileDescriptor_523db28b8af54781, []int{35} } func (m *QuerySpotOrdersByHashesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1554,7 +1899,8 @@ func (m *QuerySpotOrdersByHashesRequest) GetOrderHashes() []string { return nil } -// QuerySpotOrdersByHashesResponse is the response type for the Query/SpotOrdersByHashes RPC method. +// QuerySpotOrdersByHashesResponse is the response type for the +// Query/SpotOrdersByHashes RPC method. type QuerySpotOrdersByHashesResponse struct { Orders []*TrimmedSpotLimitOrder `protobuf:"bytes,1,rep,name=orders,proto3" json:"orders,omitempty"` } @@ -1563,7 +1909,7 @@ func (m *QuerySpotOrdersByHashesResponse) Reset() { *m = QuerySpotOrders func (m *QuerySpotOrdersByHashesResponse) String() string { return proto.CompactTextString(m) } func (*QuerySpotOrdersByHashesResponse) ProtoMessage() {} func (*QuerySpotOrdersByHashesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{31} + return fileDescriptor_523db28b8af54781, []int{36} } func (m *QuerySpotOrdersByHashesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1599,7 +1945,8 @@ func (m *QuerySpotOrdersByHashesResponse) GetOrders() []*TrimmedSpotLimitOrder { return nil } -// QueryTraderSpotOrdersRequest is the request type for the Query/TraderSpotOrders RPC method. +// QueryTraderSpotOrdersRequest is the request type for the +// Query/TraderSpotOrders RPC method. type QueryTraderSpotOrdersRequest struct { // Market ID for the market MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` @@ -1611,7 +1958,7 @@ func (m *QueryTraderSpotOrdersRequest) Reset() { *m = QueryTraderSpotOrd func (m *QueryTraderSpotOrdersRequest) String() string { return proto.CompactTextString(m) } func (*QueryTraderSpotOrdersRequest) ProtoMessage() {} func (*QueryTraderSpotOrdersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{32} + return fileDescriptor_523db28b8af54781, []int{37} } func (m *QueryTraderSpotOrdersRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1654,6 +2001,62 @@ func (m *QueryTraderSpotOrdersRequest) GetSubaccountId() string { return "" } +// QueryAccountAddressSpotOrdersRequest is the request type for the +// Query/AccountAddressSpotOrders RPC method. +type QueryAccountAddressSpotOrdersRequest struct { + // Market ID for the market + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // Account address of the trader + AccountAddress string `protobuf:"bytes,2,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (m *QueryAccountAddressSpotOrdersRequest) Reset() { *m = QueryAccountAddressSpotOrdersRequest{} } +func (m *QueryAccountAddressSpotOrdersRequest) String() string { return proto.CompactTextString(m) } +func (*QueryAccountAddressSpotOrdersRequest) ProtoMessage() {} +func (*QueryAccountAddressSpotOrdersRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{38} +} +func (m *QueryAccountAddressSpotOrdersRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAccountAddressSpotOrdersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAccountAddressSpotOrdersRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryAccountAddressSpotOrdersRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAccountAddressSpotOrdersRequest.Merge(m, src) +} +func (m *QueryAccountAddressSpotOrdersRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryAccountAddressSpotOrdersRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAccountAddressSpotOrdersRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAccountAddressSpotOrdersRequest proto.InternalMessageInfo + +func (m *QueryAccountAddressSpotOrdersRequest) GetMarketId() string { + if m != nil { + return m.MarketId + } + return "" +} + +func (m *QueryAccountAddressSpotOrdersRequest) GetAccountAddress() string { + if m != nil { + return m.AccountAddress + } + return "" +} + type TrimmedSpotLimitOrder struct { // price of the order Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` @@ -1670,7 +2073,7 @@ func (m *TrimmedSpotLimitOrder) Reset() { *m = TrimmedSpotLimitOrder{} } func (m *TrimmedSpotLimitOrder) String() string { return proto.CompactTextString(m) } func (*TrimmedSpotLimitOrder) ProtoMessage() {} func (*TrimmedSpotLimitOrder) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{33} + return fileDescriptor_523db28b8af54781, []int{39} } func (m *TrimmedSpotLimitOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1713,7 +2116,8 @@ func (m *TrimmedSpotLimitOrder) GetOrderHash() string { return "" } -// QueryTraderSpotOrdersResponse is the response type for the Query/TraderSpotOrders RPC method. +// QueryTraderSpotOrdersResponse is the response type for the +// Query/TraderSpotOrders RPC method. type QueryTraderSpotOrdersResponse struct { Orders []*TrimmedSpotLimitOrder `protobuf:"bytes,1,rep,name=orders,proto3" json:"orders,omitempty"` } @@ -1722,7 +2126,7 @@ func (m *QueryTraderSpotOrdersResponse) Reset() { *m = QueryTraderSpotOr func (m *QueryTraderSpotOrdersResponse) String() string { return proto.CompactTextString(m) } func (*QueryTraderSpotOrdersResponse) ProtoMessage() {} func (*QueryTraderSpotOrdersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{34} + return fileDescriptor_523db28b8af54781, []int{40} } func (m *QueryTraderSpotOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1758,24 +2162,24 @@ func (m *QueryTraderSpotOrdersResponse) GetOrders() []*TrimmedSpotLimitOrder { return nil } -// QuerySpotMidPriceAndTOBRequest is the request type for the Query/SpotMidPriceAndTOB RPC method. -type QuerySpotMidPriceAndTOBRequest struct { - // Market ID for the market - MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` +// QueryAccountAddressSpotOrdersResponse is the response type for the +// Query/AccountAddressSpotOrders RPC method. +type QueryAccountAddressSpotOrdersResponse struct { + Orders []*TrimmedSpotLimitOrder `protobuf:"bytes,1,rep,name=orders,proto3" json:"orders,omitempty"` } -func (m *QuerySpotMidPriceAndTOBRequest) Reset() { *m = QuerySpotMidPriceAndTOBRequest{} } -func (m *QuerySpotMidPriceAndTOBRequest) String() string { return proto.CompactTextString(m) } -func (*QuerySpotMidPriceAndTOBRequest) ProtoMessage() {} -func (*QuerySpotMidPriceAndTOBRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{35} +func (m *QueryAccountAddressSpotOrdersResponse) Reset() { *m = QueryAccountAddressSpotOrdersResponse{} } +func (m *QueryAccountAddressSpotOrdersResponse) String() string { return proto.CompactTextString(m) } +func (*QueryAccountAddressSpotOrdersResponse) ProtoMessage() {} +func (*QueryAccountAddressSpotOrdersResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{41} } -func (m *QuerySpotMidPriceAndTOBRequest) XXX_Unmarshal(b []byte) error { +func (m *QueryAccountAddressSpotOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QuerySpotMidPriceAndTOBRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QueryAccountAddressSpotOrdersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QuerySpotMidPriceAndTOBRequest.Marshal(b, m, deterministic) + return xxx_messageInfo_QueryAccountAddressSpotOrdersResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1785,13 +2189,60 @@ func (m *QuerySpotMidPriceAndTOBRequest) XXX_Marshal(b []byte, deterministic boo return b[:n], nil } } -func (m *QuerySpotMidPriceAndTOBRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QuerySpotMidPriceAndTOBRequest.Merge(m, src) +func (m *QueryAccountAddressSpotOrdersResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAccountAddressSpotOrdersResponse.Merge(m, src) } -func (m *QuerySpotMidPriceAndTOBRequest) XXX_Size() int { +func (m *QueryAccountAddressSpotOrdersResponse) XXX_Size() int { return m.Size() } -func (m *QuerySpotMidPriceAndTOBRequest) XXX_DiscardUnknown() { +func (m *QueryAccountAddressSpotOrdersResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAccountAddressSpotOrdersResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAccountAddressSpotOrdersResponse proto.InternalMessageInfo + +func (m *QueryAccountAddressSpotOrdersResponse) GetOrders() []*TrimmedSpotLimitOrder { + if m != nil { + return m.Orders + } + return nil +} + +// QuerySpotMidPriceAndTOBRequest is the request type for the +// Query/SpotMidPriceAndTOB RPC method. +type QuerySpotMidPriceAndTOBRequest struct { + // Market ID for the market + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` +} + +func (m *QuerySpotMidPriceAndTOBRequest) Reset() { *m = QuerySpotMidPriceAndTOBRequest{} } +func (m *QuerySpotMidPriceAndTOBRequest) String() string { return proto.CompactTextString(m) } +func (*QuerySpotMidPriceAndTOBRequest) ProtoMessage() {} +func (*QuerySpotMidPriceAndTOBRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{42} +} +func (m *QuerySpotMidPriceAndTOBRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QuerySpotMidPriceAndTOBRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QuerySpotMidPriceAndTOBRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QuerySpotMidPriceAndTOBRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuerySpotMidPriceAndTOBRequest.Merge(m, src) +} +func (m *QuerySpotMidPriceAndTOBRequest) XXX_Size() int { + return m.Size() +} +func (m *QuerySpotMidPriceAndTOBRequest) XXX_DiscardUnknown() { xxx_messageInfo_QuerySpotMidPriceAndTOBRequest.DiscardUnknown(m) } @@ -1804,7 +2255,8 @@ func (m *QuerySpotMidPriceAndTOBRequest) GetMarketId() string { return "" } -// QuerySpotMidPriceAndTOBResponse is the response type for the Query/SpotMidPriceAndTOB RPC method. +// QuerySpotMidPriceAndTOBResponse is the response type for the +// Query/SpotMidPriceAndTOB RPC method. type QuerySpotMidPriceAndTOBResponse struct { // mid price of the market MidPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=mid_price,json=midPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"mid_price,omitempty"` @@ -1818,7 +2270,7 @@ func (m *QuerySpotMidPriceAndTOBResponse) Reset() { *m = QuerySpotMidPri func (m *QuerySpotMidPriceAndTOBResponse) String() string { return proto.CompactTextString(m) } func (*QuerySpotMidPriceAndTOBResponse) ProtoMessage() {} func (*QuerySpotMidPriceAndTOBResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{36} + return fileDescriptor_523db28b8af54781, []int{43} } func (m *QuerySpotMidPriceAndTOBResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1847,7 +2299,8 @@ func (m *QuerySpotMidPriceAndTOBResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QuerySpotMidPriceAndTOBResponse proto.InternalMessageInfo -// QueryDerivativeMidPriceAndTOBRequest is the request type for the Query/GetDerivativeMidPriceAndTOB RPC method. +// QueryDerivativeMidPriceAndTOBRequest is the request type for the +// Query/GetDerivativeMidPriceAndTOB RPC method. type QueryDerivativeMidPriceAndTOBRequest struct { // Market ID for the market MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` @@ -1857,7 +2310,7 @@ func (m *QueryDerivativeMidPriceAndTOBRequest) Reset() { *m = QueryDeriv func (m *QueryDerivativeMidPriceAndTOBRequest) String() string { return proto.CompactTextString(m) } func (*QueryDerivativeMidPriceAndTOBRequest) ProtoMessage() {} func (*QueryDerivativeMidPriceAndTOBRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{37} + return fileDescriptor_523db28b8af54781, []int{44} } func (m *QueryDerivativeMidPriceAndTOBRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1893,7 +2346,8 @@ func (m *QueryDerivativeMidPriceAndTOBRequest) GetMarketId() string { return "" } -// QueryDerivativeMidPriceAndTOBResponse is the response type for the Query/GetDerivativeMidPriceAndTOB RPC method. +// QueryDerivativeMidPriceAndTOBResponse is the response type for the +// Query/GetDerivativeMidPriceAndTOB RPC method. type QueryDerivativeMidPriceAndTOBResponse struct { // mid price of the market MidPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=mid_price,json=midPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"mid_price,omitempty"` @@ -1907,7 +2361,7 @@ func (m *QueryDerivativeMidPriceAndTOBResponse) Reset() { *m = QueryDeri func (m *QueryDerivativeMidPriceAndTOBResponse) String() string { return proto.CompactTextString(m) } func (*QueryDerivativeMidPriceAndTOBResponse) ProtoMessage() {} func (*QueryDerivativeMidPriceAndTOBResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{38} + return fileDescriptor_523db28b8af54781, []int{45} } func (m *QueryDerivativeMidPriceAndTOBResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1936,18 +2390,20 @@ func (m *QueryDerivativeMidPriceAndTOBResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryDerivativeMidPriceAndTOBResponse proto.InternalMessageInfo -// QueryDerivativeOrderbookRequest is the request type for the Query/DerivativeOrderbook RPC method. +// QueryDerivativeOrderbookRequest is the request type for the +// Query/DerivativeOrderbook RPC method. type QueryDerivativeOrderbookRequest struct { // Market ID for the market - MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + LimitCumulativeNotional *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=limit_cumulative_notional,json=limitCumulativeNotional,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"limit_cumulative_notional,omitempty"` } func (m *QueryDerivativeOrderbookRequest) Reset() { *m = QueryDerivativeOrderbookRequest{} } func (m *QueryDerivativeOrderbookRequest) String() string { return proto.CompactTextString(m) } func (*QueryDerivativeOrderbookRequest) ProtoMessage() {} func (*QueryDerivativeOrderbookRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{39} + return fileDescriptor_523db28b8af54781, []int{46} } func (m *QueryDerivativeOrderbookRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1990,7 +2446,8 @@ func (m *QueryDerivativeOrderbookRequest) GetLimit() uint64 { return 0 } -// QueryDerivativeOrderbookResponse is the response type for the Query/DerivativeOrderbook RPC method. +// QueryDerivativeOrderbookResponse is the response type for the +// Query/DerivativeOrderbook RPC method. type QueryDerivativeOrderbookResponse struct { BuysPriceLevel []*Level `protobuf:"bytes,1,rep,name=buys_price_level,json=buysPriceLevel,proto3" json:"buys_price_level,omitempty"` SellsPriceLevel []*Level `protobuf:"bytes,2,rep,name=sells_price_level,json=sellsPriceLevel,proto3" json:"sells_price_level,omitempty"` @@ -2000,7 +2457,7 @@ func (m *QueryDerivativeOrderbookResponse) Reset() { *m = QueryDerivativ func (m *QueryDerivativeOrderbookResponse) String() string { return proto.CompactTextString(m) } func (*QueryDerivativeOrderbookResponse) ProtoMessage() {} func (*QueryDerivativeOrderbookResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{40} + return fileDescriptor_523db28b8af54781, []int{47} } func (m *QueryDerivativeOrderbookResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2043,7 +2500,8 @@ func (m *QueryDerivativeOrderbookResponse) GetSellsPriceLevel() []*Level { return nil } -// QueryTraderSpotOrdersToCancelUpToAmountRequest is the request type for the Query/TraderSpotOrdersToCancelUpToAmountRequest RPC method. +// QueryTraderSpotOrdersToCancelUpToAmountRequest is the request type for the +// Query/TraderSpotOrdersToCancelUpToAmountRequest RPC method. type QueryTraderSpotOrdersToCancelUpToAmountRequest struct { // Market ID for the market MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` @@ -2055,7 +2513,8 @@ type QueryTraderSpotOrdersToCancelUpToAmountRequest struct { QuoteAmount github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=quote_amount,json=quoteAmount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quote_amount"` // The cancellation strategy Strategy CancellationStrategy `protobuf:"varint,5,opt,name=strategy,proto3,enum=injective.exchange.v1beta1.CancellationStrategy" json:"strategy,omitempty"` - // The reference price for the cancellation strategy, e.g. mid price or mark price + // The reference price for the cancellation strategy, e.g. mid price or mark + // price ReferencePrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,opt,name=reference_price,json=referencePrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"reference_price,omitempty"` } @@ -2067,7 +2526,7 @@ func (m *QueryTraderSpotOrdersToCancelUpToAmountRequest) String() string { } func (*QueryTraderSpotOrdersToCancelUpToAmountRequest) ProtoMessage() {} func (*QueryTraderSpotOrdersToCancelUpToAmountRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{41} + return fileDescriptor_523db28b8af54781, []int{48} } func (m *QueryTraderSpotOrdersToCancelUpToAmountRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2117,7 +2576,8 @@ func (m *QueryTraderSpotOrdersToCancelUpToAmountRequest) GetStrategy() Cancellat return CancellationStrategy_UnspecifiedOrder } -// QueryTraderDerivativeOrdersToCancelUpToAmountRequest is the request type for the Query/TraderDerivativeOrdersToCancelUpToAmountRequest RPC method. +// QueryTraderDerivativeOrdersToCancelUpToAmountRequest is the request type for +// the Query/TraderDerivativeOrdersToCancelUpToAmountRequest RPC method. type QueryTraderDerivativeOrdersToCancelUpToAmountRequest struct { // Market ID for the market MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` @@ -2127,7 +2587,8 @@ type QueryTraderDerivativeOrdersToCancelUpToAmountRequest struct { QuoteAmount github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=quote_amount,json=quoteAmount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quote_amount"` // The cancellation strategy Strategy CancellationStrategy `protobuf:"varint,4,opt,name=strategy,proto3,enum=injective.exchange.v1beta1.CancellationStrategy" json:"strategy,omitempty"` - // The reference price for the cancellation strategy, e.g. mid price or mark price + // The reference price for the cancellation strategy, e.g. mid price or mark + // price ReferencePrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=reference_price,json=referencePrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"reference_price,omitempty"` } @@ -2139,7 +2600,7 @@ func (m *QueryTraderDerivativeOrdersToCancelUpToAmountRequest) String() string { } func (*QueryTraderDerivativeOrdersToCancelUpToAmountRequest) ProtoMessage() {} func (*QueryTraderDerivativeOrdersToCancelUpToAmountRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{42} + return fileDescriptor_523db28b8af54781, []int{49} } func (m *QueryTraderDerivativeOrdersToCancelUpToAmountRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2189,7 +2650,8 @@ func (m *QueryTraderDerivativeOrdersToCancelUpToAmountRequest) GetStrategy() Can return CancellationStrategy_UnspecifiedOrder } -// QueryTraderDerivativeOrdersRequest is the request type for the Query/TraderDerivativeOrders RPC method. +// QueryTraderDerivativeOrdersRequest is the request type for the +// Query/TraderDerivativeOrders RPC method. type QueryTraderDerivativeOrdersRequest struct { // Market ID for the market MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` @@ -2201,7 +2663,7 @@ func (m *QueryTraderDerivativeOrdersRequest) Reset() { *m = QueryTraderD func (m *QueryTraderDerivativeOrdersRequest) String() string { return proto.CompactTextString(m) } func (*QueryTraderDerivativeOrdersRequest) ProtoMessage() {} func (*QueryTraderDerivativeOrdersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{43} + return fileDescriptor_523db28b8af54781, []int{50} } func (m *QueryTraderDerivativeOrdersRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2244,6 +2706,66 @@ func (m *QueryTraderDerivativeOrdersRequest) GetSubaccountId() string { return "" } +// QueryAccountAddressSpotOrdersRequest is the request type for the +// Query/AccountAddressDerivativeOrders RPC method. +type QueryAccountAddressDerivativeOrdersRequest struct { + // Market ID for the market + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // Account address of the trader + AccountAddress string `protobuf:"bytes,2,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (m *QueryAccountAddressDerivativeOrdersRequest) Reset() { + *m = QueryAccountAddressDerivativeOrdersRequest{} +} +func (m *QueryAccountAddressDerivativeOrdersRequest) String() string { + return proto.CompactTextString(m) +} +func (*QueryAccountAddressDerivativeOrdersRequest) ProtoMessage() {} +func (*QueryAccountAddressDerivativeOrdersRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{51} +} +func (m *QueryAccountAddressDerivativeOrdersRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAccountAddressDerivativeOrdersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAccountAddressDerivativeOrdersRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryAccountAddressDerivativeOrdersRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAccountAddressDerivativeOrdersRequest.Merge(m, src) +} +func (m *QueryAccountAddressDerivativeOrdersRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryAccountAddressDerivativeOrdersRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAccountAddressDerivativeOrdersRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAccountAddressDerivativeOrdersRequest proto.InternalMessageInfo + +func (m *QueryAccountAddressDerivativeOrdersRequest) GetMarketId() string { + if m != nil { + return m.MarketId + } + return "" +} + +func (m *QueryAccountAddressDerivativeOrdersRequest) GetAccountAddress() string { + if m != nil { + return m.AccountAddress + } + return "" +} + type TrimmedDerivativeLimitOrder struct { // price of the order Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` @@ -2262,7 +2784,7 @@ func (m *TrimmedDerivativeLimitOrder) Reset() { *m = TrimmedDerivativeLi func (m *TrimmedDerivativeLimitOrder) String() string { return proto.CompactTextString(m) } func (*TrimmedDerivativeLimitOrder) ProtoMessage() {} func (*TrimmedDerivativeLimitOrder) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{44} + return fileDescriptor_523db28b8af54781, []int{52} } func (m *TrimmedDerivativeLimitOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2305,7 +2827,8 @@ func (m *TrimmedDerivativeLimitOrder) GetOrderHash() string { return "" } -// QueryTraderDerivativeOrdersResponse is the response type for the Query/TraderDerivativeOrders RPC method. +// QueryTraderDerivativeOrdersResponse is the response type for the +// Query/TraderDerivativeOrders RPC method. type QueryTraderDerivativeOrdersResponse struct { Orders []*TrimmedDerivativeLimitOrder `protobuf:"bytes,1,rep,name=orders,proto3" json:"orders,omitempty"` } @@ -2314,7 +2837,7 @@ func (m *QueryTraderDerivativeOrdersResponse) Reset() { *m = QueryTrader func (m *QueryTraderDerivativeOrdersResponse) String() string { return proto.CompactTextString(m) } func (*QueryTraderDerivativeOrdersResponse) ProtoMessage() {} func (*QueryTraderDerivativeOrdersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{45} + return fileDescriptor_523db28b8af54781, []int{53} } func (m *QueryTraderDerivativeOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2350,7 +2873,58 @@ func (m *QueryTraderDerivativeOrdersResponse) GetOrders() []*TrimmedDerivativeLi return nil } -// QueryTraderDerivativeOrdersRequest is the request type for the Query/TraderDerivativeOrders RPC method. +// QueryAccountAddressDerivativeOrdersResponse is the response type for the +// Query/AccountAddressDerivativeOrders RPC method. +type QueryAccountAddressDerivativeOrdersResponse struct { + Orders []*TrimmedDerivativeLimitOrder `protobuf:"bytes,1,rep,name=orders,proto3" json:"orders,omitempty"` +} + +func (m *QueryAccountAddressDerivativeOrdersResponse) Reset() { + *m = QueryAccountAddressDerivativeOrdersResponse{} +} +func (m *QueryAccountAddressDerivativeOrdersResponse) String() string { + return proto.CompactTextString(m) +} +func (*QueryAccountAddressDerivativeOrdersResponse) ProtoMessage() {} +func (*QueryAccountAddressDerivativeOrdersResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{54} +} +func (m *QueryAccountAddressDerivativeOrdersResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAccountAddressDerivativeOrdersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAccountAddressDerivativeOrdersResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryAccountAddressDerivativeOrdersResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAccountAddressDerivativeOrdersResponse.Merge(m, src) +} +func (m *QueryAccountAddressDerivativeOrdersResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryAccountAddressDerivativeOrdersResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAccountAddressDerivativeOrdersResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAccountAddressDerivativeOrdersResponse proto.InternalMessageInfo + +func (m *QueryAccountAddressDerivativeOrdersResponse) GetOrders() []*TrimmedDerivativeLimitOrder { + if m != nil { + return m.Orders + } + return nil +} + +// QueryTraderDerivativeOrdersRequest is the request type for the +// Query/TraderDerivativeOrders RPC method. type QueryDerivativeOrdersByHashesRequest struct { // Market ID for the market MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` @@ -2364,7 +2938,7 @@ func (m *QueryDerivativeOrdersByHashesRequest) Reset() { *m = QueryDeriv func (m *QueryDerivativeOrdersByHashesRequest) String() string { return proto.CompactTextString(m) } func (*QueryDerivativeOrdersByHashesRequest) ProtoMessage() {} func (*QueryDerivativeOrdersByHashesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{46} + return fileDescriptor_523db28b8af54781, []int{55} } func (m *QueryDerivativeOrdersByHashesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2414,7 +2988,8 @@ func (m *QueryDerivativeOrdersByHashesRequest) GetOrderHashes() []string { return nil } -// QueryDerivativeOrdersByHashesResponse is the response type for the Query/DerivativeOrdersByHashes RPC method. +// QueryDerivativeOrdersByHashesResponse is the response type for the +// Query/DerivativeOrdersByHashes RPC method. type QueryDerivativeOrdersByHashesResponse struct { Orders []*TrimmedDerivativeLimitOrder `protobuf:"bytes,1,rep,name=orders,proto3" json:"orders,omitempty"` } @@ -2423,7 +2998,7 @@ func (m *QueryDerivativeOrdersByHashesResponse) Reset() { *m = QueryDeri func (m *QueryDerivativeOrdersByHashesResponse) String() string { return proto.CompactTextString(m) } func (*QueryDerivativeOrdersByHashesResponse) ProtoMessage() {} func (*QueryDerivativeOrdersByHashesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{47} + return fileDescriptor_523db28b8af54781, []int{56} } func (m *QueryDerivativeOrdersByHashesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2459,17 +3034,23 @@ func (m *QueryDerivativeOrdersByHashesResponse) GetOrders() []*TrimmedDerivative return nil } -// QueryDerivativeMarketsRequest is the request type for the Query/DerivativeMarkets RPC method. +// QueryDerivativeMarketsRequest is the request type for the +// Query/DerivativeMarkets RPC method. type QueryDerivativeMarketsRequest struct { // Status of the market, for convenience it is set to string - not enum Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + // Filter by market IDs + MarketIds []string `protobuf:"bytes,2,rep,name=market_ids,json=marketIds,proto3" json:"market_ids,omitempty"` + // Flag to return the markets mid price and top of the book buy and sell + // orders. + WithMidPriceAndTob bool `protobuf:"varint,3,opt,name=with_mid_price_and_tob,json=withMidPriceAndTob,proto3" json:"with_mid_price_and_tob,omitempty"` } func (m *QueryDerivativeMarketsRequest) Reset() { *m = QueryDerivativeMarketsRequest{} } func (m *QueryDerivativeMarketsRequest) String() string { return proto.CompactTextString(m) } func (*QueryDerivativeMarketsRequest) ProtoMessage() {} func (*QueryDerivativeMarketsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{48} + return fileDescriptor_523db28b8af54781, []int{57} } func (m *QueryDerivativeMarketsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2505,6 +3086,20 @@ func (m *QueryDerivativeMarketsRequest) GetStatus() string { return "" } +func (m *QueryDerivativeMarketsRequest) GetMarketIds() []string { + if m != nil { + return m.MarketIds + } + return nil +} + +func (m *QueryDerivativeMarketsRequest) GetWithMidPriceAndTob() bool { + if m != nil { + return m.WithMidPriceAndTob + } + return false +} + type PriceLevel struct { Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` // quantity @@ -2515,7 +3110,7 @@ func (m *PriceLevel) Reset() { *m = PriceLevel{} } func (m *PriceLevel) String() string { return proto.CompactTextString(m) } func (*PriceLevel) ProtoMessage() {} func (*PriceLevel) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{49} + return fileDescriptor_523db28b8af54781, []int{58} } func (m *PriceLevel) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2553,7 +3148,7 @@ func (m *PerpetualMarketState) Reset() { *m = PerpetualMarketState{} } func (m *PerpetualMarketState) String() string { return proto.CompactTextString(m) } func (*PerpetualMarketState) ProtoMessage() {} func (*PerpetualMarketState) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{50} + return fileDescriptor_523db28b8af54781, []int{59} } func (m *PerpetualMarketState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2603,13 +3198,16 @@ type FullDerivativeMarket struct { // *FullDerivativeMarket_FuturesInfo Info isFullDerivativeMarket_Info `protobuf_oneof:"info"` MarkPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=mark_price,json=markPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"mark_price"` + // mid_price_and_tob defines the mid price for this market and the best ask + // and bid orders + MidPriceAndTob *MidPriceAndTOB `protobuf:"bytes,5,opt,name=mid_price_and_tob,json=midPriceAndTob,proto3" json:"mid_price_and_tob,omitempty"` } func (m *FullDerivativeMarket) Reset() { *m = FullDerivativeMarket{} } func (m *FullDerivativeMarket) String() string { return proto.CompactTextString(m) } func (*FullDerivativeMarket) ProtoMessage() {} func (*FullDerivativeMarket) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{51} + return fileDescriptor_523db28b8af54781, []int{60} } func (m *FullDerivativeMarket) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2682,6 +3280,13 @@ func (m *FullDerivativeMarket) GetFuturesInfo() *ExpiryFuturesMarketInfo { return nil } +func (m *FullDerivativeMarket) GetMidPriceAndTob() *MidPriceAndTOB { + if m != nil { + return m.MidPriceAndTob + } + return nil +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*FullDerivativeMarket) XXX_OneofWrappers() []interface{} { return []interface{}{ @@ -2690,7 +3295,8 @@ func (*FullDerivativeMarket) XXX_OneofWrappers() []interface{} { } } -// QueryDerivativeMarketsResponse is the response type for the Query/DerivativeMarkets RPC method. +// QueryDerivativeMarketsResponse is the response type for the +// Query/DerivativeMarkets RPC method. type QueryDerivativeMarketsResponse struct { Markets []*FullDerivativeMarket `protobuf:"bytes,1,rep,name=markets,proto3" json:"markets,omitempty"` } @@ -2699,7 +3305,7 @@ func (m *QueryDerivativeMarketsResponse) Reset() { *m = QueryDerivativeM func (m *QueryDerivativeMarketsResponse) String() string { return proto.CompactTextString(m) } func (*QueryDerivativeMarketsResponse) ProtoMessage() {} func (*QueryDerivativeMarketsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{52} + return fileDescriptor_523db28b8af54781, []int{61} } func (m *QueryDerivativeMarketsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2735,7 +3341,8 @@ func (m *QueryDerivativeMarketsResponse) GetMarkets() []*FullDerivativeMarket { return nil } -// QueryDerivativeMarketRequest is the request type for the Query/DerivativeMarket RPC method. +// QueryDerivativeMarketRequest is the request type for the +// Query/DerivativeMarket RPC method. type QueryDerivativeMarketRequest struct { // Market ID for the market MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` @@ -2745,7 +3352,7 @@ func (m *QueryDerivativeMarketRequest) Reset() { *m = QueryDerivativeMar func (m *QueryDerivativeMarketRequest) String() string { return proto.CompactTextString(m) } func (*QueryDerivativeMarketRequest) ProtoMessage() {} func (*QueryDerivativeMarketRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{53} + return fileDescriptor_523db28b8af54781, []int{62} } func (m *QueryDerivativeMarketRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2781,7 +3388,8 @@ func (m *QueryDerivativeMarketRequest) GetMarketId() string { return "" } -// QueryDerivativeMarketResponse is the response type for the Query/DerivativeMarket RPC method. +// QueryDerivativeMarketResponse is the response type for the +// Query/DerivativeMarket RPC method. type QueryDerivativeMarketResponse struct { Market *FullDerivativeMarket `protobuf:"bytes,1,opt,name=market,proto3" json:"market,omitempty"` } @@ -2790,7 +3398,7 @@ func (m *QueryDerivativeMarketResponse) Reset() { *m = QueryDerivativeMa func (m *QueryDerivativeMarketResponse) String() string { return proto.CompactTextString(m) } func (*QueryDerivativeMarketResponse) ProtoMessage() {} func (*QueryDerivativeMarketResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{54} + return fileDescriptor_523db28b8af54781, []int{63} } func (m *QueryDerivativeMarketResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2826,7 +3434,8 @@ func (m *QueryDerivativeMarketResponse) GetMarket() *FullDerivativeMarket { return nil } -// QueryDerivativeMarketAddressRequest is the request type for the Query/DerivativeMarketAddress RPC method. +// QueryDerivativeMarketAddressRequest is the request type for the +// Query/DerivativeMarketAddress RPC method. type QueryDerivativeMarketAddressRequest struct { // Market ID for the market MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` @@ -2836,7 +3445,7 @@ func (m *QueryDerivativeMarketAddressRequest) Reset() { *m = QueryDeriva func (m *QueryDerivativeMarketAddressRequest) String() string { return proto.CompactTextString(m) } func (*QueryDerivativeMarketAddressRequest) ProtoMessage() {} func (*QueryDerivativeMarketAddressRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{55} + return fileDescriptor_523db28b8af54781, []int{64} } func (m *QueryDerivativeMarketAddressRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2872,7 +3481,8 @@ func (m *QueryDerivativeMarketAddressRequest) GetMarketId() string { return "" } -// QueryDerivativeMarketAddressResponse is the response type for the Query/DerivativeMarketAddress RPC method. +// QueryDerivativeMarketAddressResponse is the response type for the +// Query/DerivativeMarketAddress RPC method. type QueryDerivativeMarketAddressResponse struct { // address for the market Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` @@ -2884,7 +3494,7 @@ func (m *QueryDerivativeMarketAddressResponse) Reset() { *m = QueryDeriv func (m *QueryDerivativeMarketAddressResponse) String() string { return proto.CompactTextString(m) } func (*QueryDerivativeMarketAddressResponse) ProtoMessage() {} func (*QueryDerivativeMarketAddressResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{56} + return fileDescriptor_523db28b8af54781, []int{65} } func (m *QueryDerivativeMarketAddressResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2927,7 +3537,8 @@ func (m *QueryDerivativeMarketAddressResponse) GetSubaccountId() string { return "" } -// QuerySubaccountTradeNonceRequest is the request type for the Query/SubaccountTradeNonce RPC method. +// QuerySubaccountTradeNonceRequest is the request type for the +// Query/SubaccountTradeNonce RPC method. type QuerySubaccountTradeNonceRequest struct { SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` } @@ -2936,7 +3547,7 @@ func (m *QuerySubaccountTradeNonceRequest) Reset() { *m = QuerySubaccoun func (m *QuerySubaccountTradeNonceRequest) String() string { return proto.CompactTextString(m) } func (*QuerySubaccountTradeNonceRequest) ProtoMessage() {} func (*QuerySubaccountTradeNonceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{57} + return fileDescriptor_523db28b8af54781, []int{66} } func (m *QuerySubaccountTradeNonceRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2972,7 +3583,8 @@ func (m *QuerySubaccountTradeNonceRequest) GetSubaccountId() string { return "" } -// QuerySubaccountPositionsRequest is the request type for the Query/SubaccountPositions RPC method. +// QuerySubaccountPositionsRequest is the request type for the +// Query/SubaccountPositions RPC method. type QuerySubaccountPositionsRequest struct { SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` } @@ -2981,7 +3593,7 @@ func (m *QuerySubaccountPositionsRequest) Reset() { *m = QuerySubaccount func (m *QuerySubaccountPositionsRequest) String() string { return proto.CompactTextString(m) } func (*QuerySubaccountPositionsRequest) ProtoMessage() {} func (*QuerySubaccountPositionsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{58} + return fileDescriptor_523db28b8af54781, []int{67} } func (m *QuerySubaccountPositionsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3017,7 +3629,8 @@ func (m *QuerySubaccountPositionsRequest) GetSubaccountId() string { return "" } -// QuerySubaccountPositionInMarketRequest is the request type for the Query/SubaccountPositionInMarket RPC method. +// QuerySubaccountPositionInMarketRequest is the request type for the +// Query/SubaccountPositionInMarket RPC method. type QuerySubaccountPositionInMarketRequest struct { SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` @@ -3029,7 +3642,7 @@ func (m *QuerySubaccountPositionInMarketRequest) Reset() { func (m *QuerySubaccountPositionInMarketRequest) String() string { return proto.CompactTextString(m) } func (*QuerySubaccountPositionInMarketRequest) ProtoMessage() {} func (*QuerySubaccountPositionInMarketRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{59} + return fileDescriptor_523db28b8af54781, []int{68} } func (m *QuerySubaccountPositionInMarketRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3072,7 +3685,8 @@ func (m *QuerySubaccountPositionInMarketRequest) GetMarketId() string { return "" } -// QuerySubaccountEffectivePositionInMarketRequest is the request type for the Query/SubaccountEffectivePositionInMarket RPC method. +// QuerySubaccountEffectivePositionInMarketRequest is the request type for the +// Query/SubaccountEffectivePositionInMarket RPC method. type QuerySubaccountEffectivePositionInMarketRequest struct { SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` @@ -3086,7 +3700,7 @@ func (m *QuerySubaccountEffectivePositionInMarketRequest) String() string { } func (*QuerySubaccountEffectivePositionInMarketRequest) ProtoMessage() {} func (*QuerySubaccountEffectivePositionInMarketRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{60} + return fileDescriptor_523db28b8af54781, []int{69} } func (m *QuerySubaccountEffectivePositionInMarketRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3129,7 +3743,8 @@ func (m *QuerySubaccountEffectivePositionInMarketRequest) GetMarketId() string { return "" } -// QuerySubaccountOrderMetadataRequest is the request type for the Query/SubaccountOrderMetadata RPC method. +// QuerySubaccountOrderMetadataRequest is the request type for the +// Query/SubaccountOrderMetadata RPC method. type QuerySubaccountOrderMetadataRequest struct { SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` } @@ -3138,7 +3753,7 @@ func (m *QuerySubaccountOrderMetadataRequest) Reset() { *m = QuerySubacc func (m *QuerySubaccountOrderMetadataRequest) String() string { return proto.CompactTextString(m) } func (*QuerySubaccountOrderMetadataRequest) ProtoMessage() {} func (*QuerySubaccountOrderMetadataRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{61} + return fileDescriptor_523db28b8af54781, []int{70} } func (m *QuerySubaccountOrderMetadataRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3174,7 +3789,8 @@ func (m *QuerySubaccountOrderMetadataRequest) GetSubaccountId() string { return "" } -// QuerySubaccountPositionsResponse is the response type for the Query/SubaccountPositions RPC method. +// QuerySubaccountPositionsResponse is the response type for the +// Query/SubaccountPositions RPC method. type QuerySubaccountPositionsResponse struct { State []DerivativePosition `protobuf:"bytes,1,rep,name=state,proto3" json:"state"` } @@ -3183,7 +3799,7 @@ func (m *QuerySubaccountPositionsResponse) Reset() { *m = QuerySubaccoun func (m *QuerySubaccountPositionsResponse) String() string { return proto.CompactTextString(m) } func (*QuerySubaccountPositionsResponse) ProtoMessage() {} func (*QuerySubaccountPositionsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{62} + return fileDescriptor_523db28b8af54781, []int{71} } func (m *QuerySubaccountPositionsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3219,7 +3835,8 @@ func (m *QuerySubaccountPositionsResponse) GetState() []DerivativePosition { return nil } -// QuerySubaccountPositionInMarketResponse is the response type for the Query/SubaccountPositionInMarket RPC method. +// QuerySubaccountPositionInMarketResponse is the response type for the +// Query/SubaccountPositionInMarket RPC method. type QuerySubaccountPositionInMarketResponse struct { State *Position `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` } @@ -3230,7 +3847,7 @@ func (m *QuerySubaccountPositionInMarketResponse) Reset() { func (m *QuerySubaccountPositionInMarketResponse) String() string { return proto.CompactTextString(m) } func (*QuerySubaccountPositionInMarketResponse) ProtoMessage() {} func (*QuerySubaccountPositionInMarketResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{63} + return fileDescriptor_523db28b8af54781, []int{72} } func (m *QuerySubaccountPositionInMarketResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3277,7 +3894,7 @@ func (m *EffectivePosition) Reset() { *m = EffectivePosition{} } func (m *EffectivePosition) String() string { return proto.CompactTextString(m) } func (*EffectivePosition) ProtoMessage() {} func (*EffectivePosition) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{64} + return fileDescriptor_523db28b8af54781, []int{73} } func (m *EffectivePosition) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3313,7 +3930,8 @@ func (m *EffectivePosition) GetIsLong() bool { return false } -// QuerySubaccountEffectivePositionInMarketResponse is the response type for the Query/SubaccountEffectivePositionInMarket RPC method. +// QuerySubaccountEffectivePositionInMarketResponse is the response type for the +// Query/SubaccountEffectivePositionInMarket RPC method. type QuerySubaccountEffectivePositionInMarketResponse struct { State *EffectivePosition `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` } @@ -3326,7 +3944,7 @@ func (m *QuerySubaccountEffectivePositionInMarketResponse) String() string { } func (*QuerySubaccountEffectivePositionInMarketResponse) ProtoMessage() {} func (*QuerySubaccountEffectivePositionInMarketResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{65} + return fileDescriptor_523db28b8af54781, []int{74} } func (m *QuerySubaccountEffectivePositionInMarketResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3362,7 +3980,8 @@ func (m *QuerySubaccountEffectivePositionInMarketResponse) GetState() *Effective return nil } -// QueryPerpetualMarketInfoRequest is the request type for the Query/PerpetualMarketInfo RPC method. +// QueryPerpetualMarketInfoRequest is the request type for the +// Query/PerpetualMarketInfo RPC method. type QueryPerpetualMarketInfoRequest struct { MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` } @@ -3371,7 +3990,7 @@ func (m *QueryPerpetualMarketInfoRequest) Reset() { *m = QueryPerpetualM func (m *QueryPerpetualMarketInfoRequest) String() string { return proto.CompactTextString(m) } func (*QueryPerpetualMarketInfoRequest) ProtoMessage() {} func (*QueryPerpetualMarketInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{66} + return fileDescriptor_523db28b8af54781, []int{75} } func (m *QueryPerpetualMarketInfoRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3407,7 +4026,8 @@ func (m *QueryPerpetualMarketInfoRequest) GetMarketId() string { return "" } -// QueryPerpetualMarketInfoResponse is the response type for the Query/PerpetualMarketInfo RPC method. +// QueryPerpetualMarketInfoResponse is the response type for the +// Query/PerpetualMarketInfo RPC method. type QueryPerpetualMarketInfoResponse struct { Info PerpetualMarketInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info"` } @@ -3416,7 +4036,7 @@ func (m *QueryPerpetualMarketInfoResponse) Reset() { *m = QueryPerpetual func (m *QueryPerpetualMarketInfoResponse) String() string { return proto.CompactTextString(m) } func (*QueryPerpetualMarketInfoResponse) ProtoMessage() {} func (*QueryPerpetualMarketInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{67} + return fileDescriptor_523db28b8af54781, []int{76} } func (m *QueryPerpetualMarketInfoResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3452,7 +4072,8 @@ func (m *QueryPerpetualMarketInfoResponse) GetInfo() PerpetualMarketInfo { return PerpetualMarketInfo{} } -// QueryExpiryFuturesMarketInfoRequest is the request type for the Query/ ExpiryFuturesMarketInfo RPC method. +// QueryExpiryFuturesMarketInfoRequest is the request type for the Query/ +// ExpiryFuturesMarketInfo RPC method. type QueryExpiryFuturesMarketInfoRequest struct { MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` } @@ -3461,7 +4082,7 @@ func (m *QueryExpiryFuturesMarketInfoRequest) Reset() { *m = QueryExpiry func (m *QueryExpiryFuturesMarketInfoRequest) String() string { return proto.CompactTextString(m) } func (*QueryExpiryFuturesMarketInfoRequest) ProtoMessage() {} func (*QueryExpiryFuturesMarketInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{68} + return fileDescriptor_523db28b8af54781, []int{77} } func (m *QueryExpiryFuturesMarketInfoRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3497,7 +4118,8 @@ func (m *QueryExpiryFuturesMarketInfoRequest) GetMarketId() string { return "" } -// QueryExpiryFuturesMarketInfoResponse is the response type for the Query/ ExpiryFuturesMarketInfo RPC method. +// QueryExpiryFuturesMarketInfoResponse is the response type for the Query/ +// ExpiryFuturesMarketInfo RPC method. type QueryExpiryFuturesMarketInfoResponse struct { Info ExpiryFuturesMarketInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info"` } @@ -3506,7 +4128,7 @@ func (m *QueryExpiryFuturesMarketInfoResponse) Reset() { *m = QueryExpir func (m *QueryExpiryFuturesMarketInfoResponse) String() string { return proto.CompactTextString(m) } func (*QueryExpiryFuturesMarketInfoResponse) ProtoMessage() {} func (*QueryExpiryFuturesMarketInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{69} + return fileDescriptor_523db28b8af54781, []int{78} } func (m *QueryExpiryFuturesMarketInfoResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3542,7 +4164,8 @@ func (m *QueryExpiryFuturesMarketInfoResponse) GetInfo() ExpiryFuturesMarketInfo return ExpiryFuturesMarketInfo{} } -// QueryPerpetualMarketFundingRequest is the request type for the Query/PerpetualMarketFunding RPC method. +// QueryPerpetualMarketFundingRequest is the request type for the +// Query/PerpetualMarketFunding RPC method. type QueryPerpetualMarketFundingRequest struct { MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` } @@ -3551,7 +4174,7 @@ func (m *QueryPerpetualMarketFundingRequest) Reset() { *m = QueryPerpetu func (m *QueryPerpetualMarketFundingRequest) String() string { return proto.CompactTextString(m) } func (*QueryPerpetualMarketFundingRequest) ProtoMessage() {} func (*QueryPerpetualMarketFundingRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{70} + return fileDescriptor_523db28b8af54781, []int{79} } func (m *QueryPerpetualMarketFundingRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3587,7 +4210,8 @@ func (m *QueryPerpetualMarketFundingRequest) GetMarketId() string { return "" } -// QueryPerpetualMarketFundingResponse is the response type for the Query/PerpetualMarketFunding RPC method. +// QueryPerpetualMarketFundingResponse is the response type for the +// Query/PerpetualMarketFunding RPC method. type QueryPerpetualMarketFundingResponse struct { State PerpetualMarketFunding `protobuf:"bytes,1,opt,name=state,proto3" json:"state"` } @@ -3596,7 +4220,7 @@ func (m *QueryPerpetualMarketFundingResponse) Reset() { *m = QueryPerpet func (m *QueryPerpetualMarketFundingResponse) String() string { return proto.CompactTextString(m) } func (*QueryPerpetualMarketFundingResponse) ProtoMessage() {} func (*QueryPerpetualMarketFundingResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{71} + return fileDescriptor_523db28b8af54781, []int{80} } func (m *QueryPerpetualMarketFundingResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3632,7 +4256,8 @@ func (m *QueryPerpetualMarketFundingResponse) GetState() PerpetualMarketFunding return PerpetualMarketFunding{} } -// QuerySubaccountOrderMetadataResponse is the response type for the Query/SubaccountOrderMetadata RPC method. +// QuerySubaccountOrderMetadataResponse is the response type for the +// Query/SubaccountOrderMetadata RPC method. type QuerySubaccountOrderMetadataResponse struct { Metadata []SubaccountOrderbookMetadataWithMarket `protobuf:"bytes,1,rep,name=metadata,proto3" json:"metadata"` } @@ -3641,7 +4266,7 @@ func (m *QuerySubaccountOrderMetadataResponse) Reset() { *m = QuerySubac func (m *QuerySubaccountOrderMetadataResponse) String() string { return proto.CompactTextString(m) } func (*QuerySubaccountOrderMetadataResponse) ProtoMessage() {} func (*QuerySubaccountOrderMetadataResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{72} + return fileDescriptor_523db28b8af54781, []int{81} } func (m *QuerySubaccountOrderMetadataResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3677,7 +4302,8 @@ func (m *QuerySubaccountOrderMetadataResponse) GetMetadata() []SubaccountOrderbo return nil } -// QuerySubaccountTradeNonceResponse is the response type for the Query/SubaccountTradeNonce RPC method. +// QuerySubaccountTradeNonceResponse is the response type for the +// Query/SubaccountTradeNonce RPC method. type QuerySubaccountTradeNonceResponse struct { Nonce uint32 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"` } @@ -3686,7 +4312,7 @@ func (m *QuerySubaccountTradeNonceResponse) Reset() { *m = QuerySubaccou func (m *QuerySubaccountTradeNonceResponse) String() string { return proto.CompactTextString(m) } func (*QuerySubaccountTradeNonceResponse) ProtoMessage() {} func (*QuerySubaccountTradeNonceResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{73} + return fileDescriptor_523db28b8af54781, []int{82} } func (m *QuerySubaccountTradeNonceResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3722,7 +4348,8 @@ func (m *QuerySubaccountTradeNonceResponse) GetNonce() uint32 { return 0 } -// QueryModuleStateRequest is the request type for the Query/ExchangeModuleState RPC method. +// QueryModuleStateRequest is the request type for the Query/ExchangeModuleState +// RPC method. type QueryModuleStateRequest struct { } @@ -3730,7 +4357,7 @@ func (m *QueryModuleStateRequest) Reset() { *m = QueryModuleStateRequest func (m *QueryModuleStateRequest) String() string { return proto.CompactTextString(m) } func (*QueryModuleStateRequest) ProtoMessage() {} func (*QueryModuleStateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{74} + return fileDescriptor_523db28b8af54781, []int{83} } func (m *QueryModuleStateRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3759,7 +4386,8 @@ func (m *QueryModuleStateRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryModuleStateRequest proto.InternalMessageInfo -// QueryModuleStateResponse is the response type for the Query/ExchangeModuleState RPC method. +// QueryModuleStateResponse is the response type for the +// Query/ExchangeModuleState RPC method. type QueryModuleStateResponse struct { State *GenesisState `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` } @@ -3768,7 +4396,7 @@ func (m *QueryModuleStateResponse) Reset() { *m = QueryModuleStateRespon func (m *QueryModuleStateResponse) String() string { return proto.CompactTextString(m) } func (*QueryModuleStateResponse) ProtoMessage() {} func (*QueryModuleStateResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{75} + return fileDescriptor_523db28b8af54781, []int{84} } func (m *QueryModuleStateResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3812,7 +4440,7 @@ func (m *QueryPositionsRequest) Reset() { *m = QueryPositionsRequest{} } func (m *QueryPositionsRequest) String() string { return proto.CompactTextString(m) } func (*QueryPositionsRequest) ProtoMessage() {} func (*QueryPositionsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{76} + return fileDescriptor_523db28b8af54781, []int{85} } func (m *QueryPositionsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3841,7 +4469,8 @@ func (m *QueryPositionsRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryPositionsRequest proto.InternalMessageInfo -// QueryPositionsResponse is the response type for the Query/Positions RPC method. +// QueryPositionsResponse is the response type for the Query/Positions RPC +// method. type QueryPositionsResponse struct { State []DerivativePosition `protobuf:"bytes,1,rep,name=state,proto3" json:"state"` } @@ -3850,7 +4479,7 @@ func (m *QueryPositionsResponse) Reset() { *m = QueryPositionsResponse{} func (m *QueryPositionsResponse) String() string { return proto.CompactTextString(m) } func (*QueryPositionsResponse) ProtoMessage() {} func (*QueryPositionsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{77} + return fileDescriptor_523db28b8af54781, []int{86} } func (m *QueryPositionsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3886,7 +4515,8 @@ func (m *QueryPositionsResponse) GetState() []DerivativePosition { return nil } -// QueryTradeRewardPointsRequest is the request type for the Query/TradeRewardPoints RPC method. +// QueryTradeRewardPointsRequest is the request type for the +// Query/TradeRewardPoints RPC method. type QueryTradeRewardPointsRequest struct { Accounts []string `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` PendingPoolTimestamp int64 `protobuf:"varint,2,opt,name=pending_pool_timestamp,json=pendingPoolTimestamp,proto3" json:"pending_pool_timestamp,omitempty"` @@ -3896,7 +4526,7 @@ func (m *QueryTradeRewardPointsRequest) Reset() { *m = QueryTradeRewardP func (m *QueryTradeRewardPointsRequest) String() string { return proto.CompactTextString(m) } func (*QueryTradeRewardPointsRequest) ProtoMessage() {} func (*QueryTradeRewardPointsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{78} + return fileDescriptor_523db28b8af54781, []int{87} } func (m *QueryTradeRewardPointsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3939,7 +4569,8 @@ func (m *QueryTradeRewardPointsRequest) GetPendingPoolTimestamp() int64 { return 0 } -// QueryTradeRewardPointsResponse is the response type for the Query/TradeRewardPoints RPC method. +// QueryTradeRewardPointsResponse is the response type for the +// Query/TradeRewardPoints RPC method. type QueryTradeRewardPointsResponse struct { AccountTradeRewardPoints []github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,rep,name=account_trade_reward_points,json=accountTradeRewardPoints,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"account_trade_reward_points"` } @@ -3948,7 +4579,7 @@ func (m *QueryTradeRewardPointsResponse) Reset() { *m = QueryTradeReward func (m *QueryTradeRewardPointsResponse) String() string { return proto.CompactTextString(m) } func (*QueryTradeRewardPointsResponse) ProtoMessage() {} func (*QueryTradeRewardPointsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{79} + return fileDescriptor_523db28b8af54781, []int{88} } func (m *QueryTradeRewardPointsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3977,7 +4608,8 @@ func (m *QueryTradeRewardPointsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryTradeRewardPointsResponse proto.InternalMessageInfo -// QueryTradeRewardCampaignRequest is the request type for the Query/TradeRewardCampaign RPC method. +// QueryTradeRewardCampaignRequest is the request type for the +// Query/TradeRewardCampaign RPC method. type QueryTradeRewardCampaignRequest struct { } @@ -3985,7 +4617,7 @@ func (m *QueryTradeRewardCampaignRequest) Reset() { *m = QueryTradeRewar func (m *QueryTradeRewardCampaignRequest) String() string { return proto.CompactTextString(m) } func (*QueryTradeRewardCampaignRequest) ProtoMessage() {} func (*QueryTradeRewardCampaignRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{80} + return fileDescriptor_523db28b8af54781, []int{89} } func (m *QueryTradeRewardCampaignRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4014,7 +4646,8 @@ func (m *QueryTradeRewardCampaignRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryTradeRewardCampaignRequest proto.InternalMessageInfo -// QueryTradeRewardCampaignResponse is the response type for the Query/TradeRewardCampaign RPC method. +// QueryTradeRewardCampaignResponse is the response type for the +// Query/TradeRewardCampaign RPC method. type QueryTradeRewardCampaignResponse struct { TradingRewardCampaignInfo *TradingRewardCampaignInfo `protobuf:"bytes,1,opt,name=trading_reward_campaign_info,json=tradingRewardCampaignInfo,proto3" json:"trading_reward_campaign_info,omitempty"` TradingRewardPoolCampaignSchedule []*CampaignRewardPool `protobuf:"bytes,2,rep,name=trading_reward_pool_campaign_schedule,json=tradingRewardPoolCampaignSchedule,proto3" json:"trading_reward_pool_campaign_schedule,omitempty"` @@ -4027,7 +4660,7 @@ func (m *QueryTradeRewardCampaignResponse) Reset() { *m = QueryTradeRewa func (m *QueryTradeRewardCampaignResponse) String() string { return proto.CompactTextString(m) } func (*QueryTradeRewardCampaignResponse) ProtoMessage() {} func (*QueryTradeRewardCampaignResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{81} + return fileDescriptor_523db28b8af54781, []int{90} } func (m *QueryTradeRewardCampaignResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4077,7 +4710,8 @@ func (m *QueryTradeRewardCampaignResponse) GetPendingTradingRewardPoolCampaignSc return nil } -// QueryIsRegisteredDMMRequest is the request type for the Query/IsRegisteredDMM RPC method. +// QueryIsRegisteredDMMRequest is the request type for the Query/IsRegisteredDMM +// RPC method. type QueryIsOptedOutOfRewardsRequest struct { Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` } @@ -4086,7 +4720,7 @@ func (m *QueryIsOptedOutOfRewardsRequest) Reset() { *m = QueryIsOptedOut func (m *QueryIsOptedOutOfRewardsRequest) String() string { return proto.CompactTextString(m) } func (*QueryIsOptedOutOfRewardsRequest) ProtoMessage() {} func (*QueryIsOptedOutOfRewardsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{82} + return fileDescriptor_523db28b8af54781, []int{91} } func (m *QueryIsOptedOutOfRewardsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4122,7 +4756,8 @@ func (m *QueryIsOptedOutOfRewardsRequest) GetAccount() string { return "" } -// QueryIsRegisteredDMMResponse is the response type for the Query/IsRegisteredDMM RPC method. +// QueryIsRegisteredDMMResponse is the response type for the +// Query/IsRegisteredDMM RPC method. type QueryIsOptedOutOfRewardsResponse struct { IsOptedOut bool `protobuf:"varint,1,opt,name=is_opted_out,json=isOptedOut,proto3" json:"is_opted_out,omitempty"` } @@ -4131,7 +4766,7 @@ func (m *QueryIsOptedOutOfRewardsResponse) Reset() { *m = QueryIsOptedOu func (m *QueryIsOptedOutOfRewardsResponse) String() string { return proto.CompactTextString(m) } func (*QueryIsOptedOutOfRewardsResponse) ProtoMessage() {} func (*QueryIsOptedOutOfRewardsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{83} + return fileDescriptor_523db28b8af54781, []int{92} } func (m *QueryIsOptedOutOfRewardsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4167,7 +4802,8 @@ func (m *QueryIsOptedOutOfRewardsResponse) GetIsOptedOut() bool { return false } -// QueryRegisteredDMMsRequest is the request type for the Query/RegisteredDMMs RPC method. +// QueryRegisteredDMMsRequest is the request type for the Query/RegisteredDMMs +// RPC method. type QueryOptedOutOfRewardsAccountsRequest struct { } @@ -4175,7 +4811,7 @@ func (m *QueryOptedOutOfRewardsAccountsRequest) Reset() { *m = QueryOpte func (m *QueryOptedOutOfRewardsAccountsRequest) String() string { return proto.CompactTextString(m) } func (*QueryOptedOutOfRewardsAccountsRequest) ProtoMessage() {} func (*QueryOptedOutOfRewardsAccountsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{84} + return fileDescriptor_523db28b8af54781, []int{93} } func (m *QueryOptedOutOfRewardsAccountsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4204,7 +4840,8 @@ func (m *QueryOptedOutOfRewardsAccountsRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryOptedOutOfRewardsAccountsRequest proto.InternalMessageInfo -// QueryRegisteredDMMsResponse is the response type for the Query/RegisteredDMMs RPC method. +// QueryRegisteredDMMsResponse is the response type for the Query/RegisteredDMMs +// RPC method. type QueryOptedOutOfRewardsAccountsResponse struct { Accounts []string `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` } @@ -4215,7 +4852,7 @@ func (m *QueryOptedOutOfRewardsAccountsResponse) Reset() { func (m *QueryOptedOutOfRewardsAccountsResponse) String() string { return proto.CompactTextString(m) } func (*QueryOptedOutOfRewardsAccountsResponse) ProtoMessage() {} func (*QueryOptedOutOfRewardsAccountsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{85} + return fileDescriptor_523db28b8af54781, []int{94} } func (m *QueryOptedOutOfRewardsAccountsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4251,7 +4888,8 @@ func (m *QueryOptedOutOfRewardsAccountsResponse) GetAccounts() []string { return nil } -// QueryFeeDiscountAccountInfoRequest is the request type for the Query/FeeDiscountAccountInfo RPC method. +// QueryFeeDiscountAccountInfoRequest is the request type for the +// Query/FeeDiscountAccountInfo RPC method. type QueryFeeDiscountAccountInfoRequest struct { Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` } @@ -4260,7 +4898,7 @@ func (m *QueryFeeDiscountAccountInfoRequest) Reset() { *m = QueryFeeDisc func (m *QueryFeeDiscountAccountInfoRequest) String() string { return proto.CompactTextString(m) } func (*QueryFeeDiscountAccountInfoRequest) ProtoMessage() {} func (*QueryFeeDiscountAccountInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{86} + return fileDescriptor_523db28b8af54781, []int{95} } func (m *QueryFeeDiscountAccountInfoRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4296,7 +4934,8 @@ func (m *QueryFeeDiscountAccountInfoRequest) GetAccount() string { return "" } -// QueryFeeDiscountAccountInfoResponse is the response type for the Query/FeeDiscountAccountInfo RPC method. +// QueryFeeDiscountAccountInfoResponse is the response type for the +// Query/FeeDiscountAccountInfo RPC method. type QueryFeeDiscountAccountInfoResponse struct { TierLevel uint64 `protobuf:"varint,1,opt,name=tier_level,json=tierLevel,proto3" json:"tier_level,omitempty"` AccountInfo *FeeDiscountTierInfo `protobuf:"bytes,2,opt,name=account_info,json=accountInfo,proto3" json:"account_info,omitempty"` @@ -4307,7 +4946,7 @@ func (m *QueryFeeDiscountAccountInfoResponse) Reset() { *m = QueryFeeDis func (m *QueryFeeDiscountAccountInfoResponse) String() string { return proto.CompactTextString(m) } func (*QueryFeeDiscountAccountInfoResponse) ProtoMessage() {} func (*QueryFeeDiscountAccountInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{87} + return fileDescriptor_523db28b8af54781, []int{96} } func (m *QueryFeeDiscountAccountInfoResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4357,7 +4996,8 @@ func (m *QueryFeeDiscountAccountInfoResponse) GetAccountTtl() *FeeDiscountTierTT return nil } -// QueryFeeDiscountScheduleRequest is the request type for the Query/FeeDiscountSchedule RPC method. +// QueryFeeDiscountScheduleRequest is the request type for the +// Query/FeeDiscountSchedule RPC method. type QueryFeeDiscountScheduleRequest struct { } @@ -4365,7 +5005,7 @@ func (m *QueryFeeDiscountScheduleRequest) Reset() { *m = QueryFeeDiscoun func (m *QueryFeeDiscountScheduleRequest) String() string { return proto.CompactTextString(m) } func (*QueryFeeDiscountScheduleRequest) ProtoMessage() {} func (*QueryFeeDiscountScheduleRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{88} + return fileDescriptor_523db28b8af54781, []int{97} } func (m *QueryFeeDiscountScheduleRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4394,7 +5034,8 @@ func (m *QueryFeeDiscountScheduleRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryFeeDiscountScheduleRequest proto.InternalMessageInfo -// QueryFeeDiscountScheduleResponse is the response type for the Query/FeeDiscountSchedule RPC method. +// QueryFeeDiscountScheduleResponse is the response type for the +// Query/FeeDiscountSchedule RPC method. type QueryFeeDiscountScheduleResponse struct { FeeDiscountSchedule *FeeDiscountSchedule `protobuf:"bytes,1,opt,name=fee_discount_schedule,json=feeDiscountSchedule,proto3" json:"fee_discount_schedule,omitempty"` } @@ -4403,7 +5044,7 @@ func (m *QueryFeeDiscountScheduleResponse) Reset() { *m = QueryFeeDiscou func (m *QueryFeeDiscountScheduleResponse) String() string { return proto.CompactTextString(m) } func (*QueryFeeDiscountScheduleResponse) ProtoMessage() {} func (*QueryFeeDiscountScheduleResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{89} + return fileDescriptor_523db28b8af54781, []int{98} } func (m *QueryFeeDiscountScheduleResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4439,7 +5080,8 @@ func (m *QueryFeeDiscountScheduleResponse) GetFeeDiscountSchedule() *FeeDiscount return nil } -// QueryBalanceMismatchesRequest is the request type for the Query/QueryBalanceMismatches RPC method. +// QueryBalanceMismatchesRequest is the request type for the +// Query/QueryBalanceMismatches RPC method. type QueryBalanceMismatchesRequest struct { DustFactor int64 `protobuf:"varint,1,opt,name=dust_factor,json=dustFactor,proto3" json:"dust_factor,omitempty"` } @@ -4448,7 +5090,7 @@ func (m *QueryBalanceMismatchesRequest) Reset() { *m = QueryBalanceMisma func (m *QueryBalanceMismatchesRequest) String() string { return proto.CompactTextString(m) } func (*QueryBalanceMismatchesRequest) ProtoMessage() {} func (*QueryBalanceMismatchesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{90} + return fileDescriptor_523db28b8af54781, []int{99} } func (m *QueryBalanceMismatchesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4498,7 +5140,7 @@ func (m *BalanceMismatch) Reset() { *m = BalanceMismatch{} } func (m *BalanceMismatch) String() string { return proto.CompactTextString(m) } func (*BalanceMismatch) ProtoMessage() {} func (*BalanceMismatch) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{91} + return fileDescriptor_523db28b8af54781, []int{100} } func (m *BalanceMismatch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4541,7 +5183,8 @@ func (m *BalanceMismatch) GetDenom() string { return "" } -// QueryBalanceMismatchesResponse is the response type for the Query/QueryBalanceMismatches RPC method. +// QueryBalanceMismatchesResponse is the response type for the +// Query/QueryBalanceMismatches RPC method. type QueryBalanceMismatchesResponse struct { BalanceMismatches []*BalanceMismatch `protobuf:"bytes,1,rep,name=balance_mismatches,json=balanceMismatches,proto3" json:"balance_mismatches,omitempty"` } @@ -4550,7 +5193,7 @@ func (m *QueryBalanceMismatchesResponse) Reset() { *m = QueryBalanceMism func (m *QueryBalanceMismatchesResponse) String() string { return proto.CompactTextString(m) } func (*QueryBalanceMismatchesResponse) ProtoMessage() {} func (*QueryBalanceMismatchesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{92} + return fileDescriptor_523db28b8af54781, []int{101} } func (m *QueryBalanceMismatchesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4586,7 +5229,8 @@ func (m *QueryBalanceMismatchesResponse) GetBalanceMismatches() []*BalanceMismat return nil } -// QueryBalanceWithBalanceHoldsRequest is the request type for the Query/QueryBalanceWithBalanceHolds RPC method. +// QueryBalanceWithBalanceHoldsRequest is the request type for the +// Query/QueryBalanceWithBalanceHolds RPC method. type QueryBalanceWithBalanceHoldsRequest struct { } @@ -4594,7 +5238,7 @@ func (m *QueryBalanceWithBalanceHoldsRequest) Reset() { *m = QueryBalanc func (m *QueryBalanceWithBalanceHoldsRequest) String() string { return proto.CompactTextString(m) } func (*QueryBalanceWithBalanceHoldsRequest) ProtoMessage() {} func (*QueryBalanceWithBalanceHoldsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{93} + return fileDescriptor_523db28b8af54781, []int{102} } func (m *QueryBalanceWithBalanceHoldsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4635,7 +5279,7 @@ func (m *BalanceWithMarginHold) Reset() { *m = BalanceWithMarginHold{} } func (m *BalanceWithMarginHold) String() string { return proto.CompactTextString(m) } func (*BalanceWithMarginHold) ProtoMessage() {} func (*BalanceWithMarginHold) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{94} + return fileDescriptor_523db28b8af54781, []int{103} } func (m *BalanceWithMarginHold) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4678,7 +5322,8 @@ func (m *BalanceWithMarginHold) GetDenom() string { return "" } -// QueryBalanceWithBalanceHoldsResponse is the response type for the Query/QueryBalanceWithBalanceHolds RPC method. +// QueryBalanceWithBalanceHoldsResponse is the response type for the +// Query/QueryBalanceWithBalanceHolds RPC method. type QueryBalanceWithBalanceHoldsResponse struct { BalanceWithBalanceHolds []*BalanceWithMarginHold `protobuf:"bytes,1,rep,name=balance_with_balance_holds,json=balanceWithBalanceHolds,proto3" json:"balance_with_balance_holds,omitempty"` } @@ -4687,7 +5332,7 @@ func (m *QueryBalanceWithBalanceHoldsResponse) Reset() { *m = QueryBalan func (m *QueryBalanceWithBalanceHoldsResponse) String() string { return proto.CompactTextString(m) } func (*QueryBalanceWithBalanceHoldsResponse) ProtoMessage() {} func (*QueryBalanceWithBalanceHoldsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{95} + return fileDescriptor_523db28b8af54781, []int{104} } func (m *QueryBalanceWithBalanceHoldsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4723,7 +5368,8 @@ func (m *QueryBalanceWithBalanceHoldsResponse) GetBalanceWithBalanceHolds() []*B return nil } -// QueryFeeDiscountTierStatisticsRequest is the request type for the Query/QueryFeeDiscountTierStatistics RPC method. +// QueryFeeDiscountTierStatisticsRequest is the request type for the +// Query/QueryFeeDiscountTierStatistics RPC method. type QueryFeeDiscountTierStatisticsRequest struct { } @@ -4731,7 +5377,7 @@ func (m *QueryFeeDiscountTierStatisticsRequest) Reset() { *m = QueryFeeD func (m *QueryFeeDiscountTierStatisticsRequest) String() string { return proto.CompactTextString(m) } func (*QueryFeeDiscountTierStatisticsRequest) ProtoMessage() {} func (*QueryFeeDiscountTierStatisticsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{96} + return fileDescriptor_523db28b8af54781, []int{105} } func (m *QueryFeeDiscountTierStatisticsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4769,7 +5415,7 @@ func (m *TierStatistic) Reset() { *m = TierStatistic{} } func (m *TierStatistic) String() string { return proto.CompactTextString(m) } func (*TierStatistic) ProtoMessage() {} func (*TierStatistic) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{97} + return fileDescriptor_523db28b8af54781, []int{106} } func (m *TierStatistic) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4812,7 +5458,8 @@ func (m *TierStatistic) GetCount() uint64 { return 0 } -// QueryFeeDiscountTierStatisticsResponse is the response type for the Query/QueryFeeDiscountTierStatistics RPC method. +// QueryFeeDiscountTierStatisticsResponse is the response type for the +// Query/QueryFeeDiscountTierStatistics RPC method. type QueryFeeDiscountTierStatisticsResponse struct { Statistics []*TierStatistic `protobuf:"bytes,1,rep,name=statistics,proto3" json:"statistics,omitempty"` } @@ -4823,7 +5470,7 @@ func (m *QueryFeeDiscountTierStatisticsResponse) Reset() { func (m *QueryFeeDiscountTierStatisticsResponse) String() string { return proto.CompactTextString(m) } func (*QueryFeeDiscountTierStatisticsResponse) ProtoMessage() {} func (*QueryFeeDiscountTierStatisticsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{98} + return fileDescriptor_523db28b8af54781, []int{107} } func (m *QueryFeeDiscountTierStatisticsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4859,7 +5506,8 @@ func (m *QueryFeeDiscountTierStatisticsResponse) GetStatistics() []*TierStatisti return nil } -// MitoVaultInfosRequest is the request type for the Query/MitoVaultInfos RPC method. +// MitoVaultInfosRequest is the request type for the Query/MitoVaultInfos RPC +// method. type MitoVaultInfosRequest struct { } @@ -4867,7 +5515,7 @@ func (m *MitoVaultInfosRequest) Reset() { *m = MitoVaultInfosRequest{} } func (m *MitoVaultInfosRequest) String() string { return proto.CompactTextString(m) } func (*MitoVaultInfosRequest) ProtoMessage() {} func (*MitoVaultInfosRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{99} + return fileDescriptor_523db28b8af54781, []int{108} } func (m *MitoVaultInfosRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4896,7 +5544,8 @@ func (m *MitoVaultInfosRequest) XXX_DiscardUnknown() { var xxx_messageInfo_MitoVaultInfosRequest proto.InternalMessageInfo -// MitoVaultInfosResponse is the response type for the Query/MitoVaultInfos RPC method. +// MitoVaultInfosResponse is the response type for the Query/MitoVaultInfos RPC +// method. type MitoVaultInfosResponse struct { MasterAddresses []string `protobuf:"bytes,1,rep,name=master_addresses,json=masterAddresses,proto3" json:"master_addresses,omitempty"` DerivativeAddresses []string `protobuf:"bytes,2,rep,name=derivative_addresses,json=derivativeAddresses,proto3" json:"derivative_addresses,omitempty"` @@ -4908,7 +5557,7 @@ func (m *MitoVaultInfosResponse) Reset() { *m = MitoVaultInfosResponse{} func (m *MitoVaultInfosResponse) String() string { return proto.CompactTextString(m) } func (*MitoVaultInfosResponse) ProtoMessage() {} func (*MitoVaultInfosResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{100} + return fileDescriptor_523db28b8af54781, []int{109} } func (m *MitoVaultInfosResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4967,14 +5616,14 @@ func (m *MitoVaultInfosResponse) GetCw20Addresses() []string { // QueryMarketIDFromVaultRequest is the request type for the Query/QueryMarketIDFromVault RPC method. type QueryMarketIDFromVaultRequest struct { - VaultSubaccountId string `protobuf:"bytes,1,opt,name=vault_subaccount_id,json=vaultSubaccountId,proto3" json:"vault_subaccount_id,omitempty"` + VaultAddress string `protobuf:"bytes,1,opt,name=vault_address,json=vaultAddress,proto3" json:"vault_address,omitempty"` } func (m *QueryMarketIDFromVaultRequest) Reset() { *m = QueryMarketIDFromVaultRequest{} } func (m *QueryMarketIDFromVaultRequest) String() string { return proto.CompactTextString(m) } func (*QueryMarketIDFromVaultRequest) ProtoMessage() {} func (*QueryMarketIDFromVaultRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{101} + return fileDescriptor_523db28b8af54781, []int{110} } func (m *QueryMarketIDFromVaultRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5003,14 +5652,15 @@ func (m *QueryMarketIDFromVaultRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryMarketIDFromVaultRequest proto.InternalMessageInfo -func (m *QueryMarketIDFromVaultRequest) GetVaultSubaccountId() string { +func (m *QueryMarketIDFromVaultRequest) GetVaultAddress() string { if m != nil { - return m.VaultSubaccountId + return m.VaultAddress } return "" } -// QueryMarketIDFromVaultResponse is the response type for the Query/QueryMarketIDFromVault RPC method. +// QueryMarketIDFromVaultResponse is the response type for the +// Query/QueryMarketIDFromVault RPC method. type QueryMarketIDFromVaultResponse struct { MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` } @@ -5019,7 +5669,7 @@ func (m *QueryMarketIDFromVaultResponse) Reset() { *m = QueryMarketIDFro func (m *QueryMarketIDFromVaultResponse) String() string { return proto.CompactTextString(m) } func (*QueryMarketIDFromVaultResponse) ProtoMessage() {} func (*QueryMarketIDFromVaultResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{102} + return fileDescriptor_523db28b8af54781, []int{111} } func (m *QueryMarketIDFromVaultResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5063,7 +5713,7 @@ func (m *QueryHistoricalTradeRecordsRequest) Reset() { *m = QueryHistori func (m *QueryHistoricalTradeRecordsRequest) String() string { return proto.CompactTextString(m) } func (*QueryHistoricalTradeRecordsRequest) ProtoMessage() {} func (*QueryHistoricalTradeRecordsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{103} + return fileDescriptor_523db28b8af54781, []int{112} } func (m *QueryHistoricalTradeRecordsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5107,7 +5757,7 @@ func (m *QueryHistoricalTradeRecordsResponse) Reset() { *m = QueryHistor func (m *QueryHistoricalTradeRecordsResponse) String() string { return proto.CompactTextString(m) } func (*QueryHistoricalTradeRecordsResponse) ProtoMessage() {} func (*QueryHistoricalTradeRecordsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{104} + return fileDescriptor_523db28b8af54781, []int{113} } func (m *QueryHistoricalTradeRecordsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5143,16 +5793,19 @@ func (m *QueryHistoricalTradeRecordsResponse) GetTradeRecords() []*TradeRecords return nil } -// TradeHistoryOptions are the optional params for Query/MarketVolatility RPC method. +// TradeHistoryOptions are the optional params for Query/MarketVolatility RPC +// method. type TradeHistoryOptions struct { // TradeGroupingSec of 0 means use the chain's default grouping TradeGroupingSec uint64 `protobuf:"varint,1,opt,name=trade_grouping_sec,json=tradeGroupingSec,proto3" json:"trade_grouping_sec,omitempty"` // MaxAge restricts the trade records oldest age in seconds from the current block time to consider. // A value of 0 means use all the records present on the chain. MaxAge uint64 `protobuf:"varint,2,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"` - // If IncludeRawHistory is true, the raw underlying data used for the computation is included in the response + // If IncludeRawHistory is true, the raw underlying data used for the + // computation is included in the response IncludeRawHistory bool `protobuf:"varint,4,opt,name=include_raw_history,json=includeRawHistory,proto3" json:"include_raw_history,omitempty"` - // If IncludeMetadata is true, metadata on the computation is included in the response + // If IncludeMetadata is true, metadata on the computation is included in the + // response IncludeMetadata bool `protobuf:"varint,5,opt,name=include_metadata,json=includeMetadata,proto3" json:"include_metadata,omitempty"` } @@ -5160,7 +5813,7 @@ func (m *TradeHistoryOptions) Reset() { *m = TradeHistoryOptions{} } func (m *TradeHistoryOptions) String() string { return proto.CompactTextString(m) } func (*TradeHistoryOptions) ProtoMessage() {} func (*TradeHistoryOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{105} + return fileDescriptor_523db28b8af54781, []int{114} } func (m *TradeHistoryOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5217,7 +5870,8 @@ func (m *TradeHistoryOptions) GetIncludeMetadata() bool { return false } -// QueryMarketVolatilityRequest are the request params for the Query/MarketVolatility RPC method. +// QueryMarketVolatilityRequest are the request params for the +// Query/MarketVolatility RPC method. type QueryMarketVolatilityRequest struct { MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` TradeHistoryOptions *TradeHistoryOptions `protobuf:"bytes,2,opt,name=trade_history_options,json=tradeHistoryOptions,proto3" json:"trade_history_options,omitempty"` @@ -5227,7 +5881,7 @@ func (m *QueryMarketVolatilityRequest) Reset() { *m = QueryMarketVolatil func (m *QueryMarketVolatilityRequest) String() string { return proto.CompactTextString(m) } func (*QueryMarketVolatilityRequest) ProtoMessage() {} func (*QueryMarketVolatilityRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{106} + return fileDescriptor_523db28b8af54781, []int{115} } func (m *QueryMarketVolatilityRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5270,7 +5924,8 @@ func (m *QueryMarketVolatilityRequest) GetTradeHistoryOptions() *TradeHistoryOpt return nil } -// QueryMarketVolatilityResponse is the response type for the Query/MarketVolatility RPC method. +// QueryMarketVolatilityResponse is the response type for the +// Query/MarketVolatility RPC method. type QueryMarketVolatilityResponse struct { Volatility *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=volatility,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"volatility,omitempty"` HistoryMetadata *types.MetadataStatistics `protobuf:"bytes,2,opt,name=history_metadata,json=historyMetadata,proto3" json:"history_metadata,omitempty"` @@ -5281,7 +5936,7 @@ func (m *QueryMarketVolatilityResponse) Reset() { *m = QueryMarketVolati func (m *QueryMarketVolatilityResponse) String() string { return proto.CompactTextString(m) } func (*QueryMarketVolatilityResponse) ProtoMessage() {} func (*QueryMarketVolatilityResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{107} + return fileDescriptor_523db28b8af54781, []int{116} } func (m *QueryMarketVolatilityResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5324,7 +5979,8 @@ func (m *QueryMarketVolatilityResponse) GetRawHistory() []*TradeRecord { return nil } -// QuerBinaryMarketsRequest is the request type for the Query/BinaryMarkets RPC method. +// QuerBinaryMarketsRequest is the request type for the Query/BinaryMarkets RPC +// method. type QueryBinaryMarketsRequest struct { // Status of the market, for convenience it is set to string - not enum Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` @@ -5334,7 +5990,7 @@ func (m *QueryBinaryMarketsRequest) Reset() { *m = QueryBinaryMarketsReq func (m *QueryBinaryMarketsRequest) String() string { return proto.CompactTextString(m) } func (*QueryBinaryMarketsRequest) ProtoMessage() {} func (*QueryBinaryMarketsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{108} + return fileDescriptor_523db28b8af54781, []int{117} } func (m *QueryBinaryMarketsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5370,7 +6026,8 @@ func (m *QueryBinaryMarketsRequest) GetStatus() string { return "" } -// QueryBinaryMarketsResponse is the response type for the Query/BinaryMarkets RPC method. +// QueryBinaryMarketsResponse is the response type for the Query/BinaryMarkets +// RPC method. type QueryBinaryMarketsResponse struct { Markets []*BinaryOptionsMarket `protobuf:"bytes,1,rep,name=markets,proto3" json:"markets,omitempty"` } @@ -5379,7 +6036,7 @@ func (m *QueryBinaryMarketsResponse) Reset() { *m = QueryBinaryMarketsRe func (m *QueryBinaryMarketsResponse) String() string { return proto.CompactTextString(m) } func (*QueryBinaryMarketsResponse) ProtoMessage() {} func (*QueryBinaryMarketsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{109} + return fileDescriptor_523db28b8af54781, []int{118} } func (m *QueryBinaryMarketsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5415,7 +6072,8 @@ func (m *QueryBinaryMarketsResponse) GetMarkets() []*BinaryOptionsMarket { return nil } -// QueryConditionalOrdersRequest is the request type for the Query/ConditionalOrders RPC method. +// QueryConditionalOrdersRequest is the request type for the +// Query/ConditionalOrders RPC method. type QueryTraderDerivativeConditionalOrdersRequest struct { SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` @@ -5429,7 +6087,7 @@ func (m *QueryTraderDerivativeConditionalOrdersRequest) String() string { } func (*QueryTraderDerivativeConditionalOrdersRequest) ProtoMessage() {} func (*QueryTraderDerivativeConditionalOrdersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{110} + return fileDescriptor_523db28b8af54781, []int{119} } func (m *QueryTraderDerivativeConditionalOrdersRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5491,7 +6149,7 @@ func (m *TrimmedDerivativeConditionalOrder) Reset() { *m = TrimmedDeriva func (m *TrimmedDerivativeConditionalOrder) String() string { return proto.CompactTextString(m) } func (*TrimmedDerivativeConditionalOrder) ProtoMessage() {} func (*TrimmedDerivativeConditionalOrder) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{111} + return fileDescriptor_523db28b8af54781, []int{120} } func (m *TrimmedDerivativeConditionalOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5541,7 +6199,8 @@ func (m *TrimmedDerivativeConditionalOrder) GetOrderHash() string { return "" } -// QueryTraderDerivativeOrdersResponse is the response type for the Query/TraderDerivativeOrders RPC method. +// QueryTraderDerivativeOrdersResponse is the response type for the +// Query/TraderDerivativeOrders RPC method. type QueryTraderDerivativeConditionalOrdersResponse struct { Orders []*TrimmedDerivativeConditionalOrder `protobuf:"bytes,1,rep,name=orders,proto3" json:"orders,omitempty"` } @@ -5554,7 +6213,7 @@ func (m *QueryTraderDerivativeConditionalOrdersResponse) String() string { } func (*QueryTraderDerivativeConditionalOrdersResponse) ProtoMessage() {} func (*QueryTraderDerivativeConditionalOrdersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{112} + return fileDescriptor_523db28b8af54781, []int{121} } func (m *QueryTraderDerivativeConditionalOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5602,7 +6261,7 @@ func (m *QueryMarketAtomicExecutionFeeMultiplierRequest) String() string { } func (*QueryMarketAtomicExecutionFeeMultiplierRequest) ProtoMessage() {} func (*QueryMarketAtomicExecutionFeeMultiplierRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{113} + return fileDescriptor_523db28b8af54781, []int{122} } func (m *QueryMarketAtomicExecutionFeeMultiplierRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5650,7 +6309,7 @@ func (m *QueryMarketAtomicExecutionFeeMultiplierResponse) String() string { } func (*QueryMarketAtomicExecutionFeeMultiplierResponse) ProtoMessage() {} func (*QueryMarketAtomicExecutionFeeMultiplierResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_523db28b8af54781, []int{114} + return fileDescriptor_523db28b8af54781, []int{123} } func (m *QueryMarketAtomicExecutionFeeMultiplierResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5680,6 +6339,7 @@ func (m *QueryMarketAtomicExecutionFeeMultiplierResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryMarketAtomicExecutionFeeMultiplierResponse proto.InternalMessageInfo func init() { + proto.RegisterEnum("injective.exchange.v1beta1.OrderSide", OrderSide_name, OrderSide_value) proto.RegisterEnum("injective.exchange.v1beta1.CancellationStrategy", CancellationStrategy_name, CancellationStrategy_value) proto.RegisterType((*Subaccount)(nil), "injective.exchange.v1beta1.Subaccount") proto.RegisterType((*QuerySubaccountOrdersRequest)(nil), "injective.exchange.v1beta1.QuerySubaccountOrdersRequest") @@ -5712,11 +6372,18 @@ func init() { proto.RegisterType((*QuerySpotMarketResponse)(nil), "injective.exchange.v1beta1.QuerySpotMarketResponse") proto.RegisterType((*QuerySpotOrderbookRequest)(nil), "injective.exchange.v1beta1.QuerySpotOrderbookRequest") proto.RegisterType((*QuerySpotOrderbookResponse)(nil), "injective.exchange.v1beta1.QuerySpotOrderbookResponse") + proto.RegisterType((*FullSpotMarket)(nil), "injective.exchange.v1beta1.FullSpotMarket") + proto.RegisterType((*QueryFullSpotMarketsRequest)(nil), "injective.exchange.v1beta1.QueryFullSpotMarketsRequest") + proto.RegisterType((*QueryFullSpotMarketsResponse)(nil), "injective.exchange.v1beta1.QueryFullSpotMarketsResponse") + proto.RegisterType((*QueryFullSpotMarketRequest)(nil), "injective.exchange.v1beta1.QueryFullSpotMarketRequest") + proto.RegisterType((*QueryFullSpotMarketResponse)(nil), "injective.exchange.v1beta1.QueryFullSpotMarketResponse") proto.RegisterType((*QuerySpotOrdersByHashesRequest)(nil), "injective.exchange.v1beta1.QuerySpotOrdersByHashesRequest") proto.RegisterType((*QuerySpotOrdersByHashesResponse)(nil), "injective.exchange.v1beta1.QuerySpotOrdersByHashesResponse") proto.RegisterType((*QueryTraderSpotOrdersRequest)(nil), "injective.exchange.v1beta1.QueryTraderSpotOrdersRequest") + proto.RegisterType((*QueryAccountAddressSpotOrdersRequest)(nil), "injective.exchange.v1beta1.QueryAccountAddressSpotOrdersRequest") proto.RegisterType((*TrimmedSpotLimitOrder)(nil), "injective.exchange.v1beta1.TrimmedSpotLimitOrder") proto.RegisterType((*QueryTraderSpotOrdersResponse)(nil), "injective.exchange.v1beta1.QueryTraderSpotOrdersResponse") + proto.RegisterType((*QueryAccountAddressSpotOrdersResponse)(nil), "injective.exchange.v1beta1.QueryAccountAddressSpotOrdersResponse") proto.RegisterType((*QuerySpotMidPriceAndTOBRequest)(nil), "injective.exchange.v1beta1.QuerySpotMidPriceAndTOBRequest") proto.RegisterType((*QuerySpotMidPriceAndTOBResponse)(nil), "injective.exchange.v1beta1.QuerySpotMidPriceAndTOBResponse") proto.RegisterType((*QueryDerivativeMidPriceAndTOBRequest)(nil), "injective.exchange.v1beta1.QueryDerivativeMidPriceAndTOBRequest") @@ -5726,8 +6393,10 @@ func init() { proto.RegisterType((*QueryTraderSpotOrdersToCancelUpToAmountRequest)(nil), "injective.exchange.v1beta1.QueryTraderSpotOrdersToCancelUpToAmountRequest") proto.RegisterType((*QueryTraderDerivativeOrdersToCancelUpToAmountRequest)(nil), "injective.exchange.v1beta1.QueryTraderDerivativeOrdersToCancelUpToAmountRequest") proto.RegisterType((*QueryTraderDerivativeOrdersRequest)(nil), "injective.exchange.v1beta1.QueryTraderDerivativeOrdersRequest") + proto.RegisterType((*QueryAccountAddressDerivativeOrdersRequest)(nil), "injective.exchange.v1beta1.QueryAccountAddressDerivativeOrdersRequest") proto.RegisterType((*TrimmedDerivativeLimitOrder)(nil), "injective.exchange.v1beta1.TrimmedDerivativeLimitOrder") proto.RegisterType((*QueryTraderDerivativeOrdersResponse)(nil), "injective.exchange.v1beta1.QueryTraderDerivativeOrdersResponse") + proto.RegisterType((*QueryAccountAddressDerivativeOrdersResponse)(nil), "injective.exchange.v1beta1.QueryAccountAddressDerivativeOrdersResponse") proto.RegisterType((*QueryDerivativeOrdersByHashesRequest)(nil), "injective.exchange.v1beta1.QueryDerivativeOrdersByHashesRequest") proto.RegisterType((*QueryDerivativeOrdersByHashesResponse)(nil), "injective.exchange.v1beta1.QueryDerivativeOrdersByHashesResponse") proto.RegisterType((*QueryDerivativeMarketsRequest)(nil), "injective.exchange.v1beta1.QueryDerivativeMarketsRequest") @@ -5804,330 +6473,355 @@ func init() { } var fileDescriptor_523db28b8af54781 = []byte{ - // 5157 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5d, 0x7d, 0x6c, 0x5c, 0x57, - 0x56, 0xcf, 0x1b, 0x7f, 0xc4, 0x3e, 0xb6, 0x63, 0xe7, 0xda, 0x71, 0x9c, 0x69, 0x9b, 0x8f, 0xd7, - 0x4d, 0x9b, 0x96, 0xc6, 0x4e, 0x9c, 0xa4, 0x49, 0x9a, 0x4f, 0x4f, 0x1c, 0x37, 0x6e, 0xe2, 0x38, - 0x7d, 0x71, 0x5a, 0x5a, 0x40, 0xb3, 0xcf, 0x33, 0xd7, 0xe3, 0xd7, 0xce, 0xcc, 0x9b, 0xcc, 0x7b, - 0xe3, 0xc6, 0x0a, 0x91, 0xf8, 0x10, 0xda, 0x3f, 0x90, 0x58, 0xa4, 0x05, 0x24, 0x24, 0x84, 0x00, - 0xf1, 0xd7, 0x4a, 0x08, 0x09, 0xfe, 0xa0, 0x02, 0xb1, 0xab, 0xe5, 0x4b, 0xab, 0x5d, 0x04, 0xe5, - 0x1b, 0x56, 0x22, 0xac, 0xda, 0x85, 0x85, 0x0a, 0x24, 0xc4, 0x7f, 0x48, 0x08, 0xd0, 0xbb, 0xf7, - 0xdc, 0xfb, 0xbe, 0xdf, 0xdc, 0x37, 0x71, 0xd5, 0x82, 0xf6, 0xaf, 0x7a, 0xee, 0xbb, 0xe7, 0x77, - 0xcf, 0xb9, 0xe7, 0xdc, 0x73, 0xcf, 0xbd, 0xf7, 0x9c, 0x14, 0x9e, 0xb3, 0x9a, 0xef, 0xd0, 0x8a, - 0x6b, 0x6d, 0xd1, 0x39, 0xfa, 0xa0, 0xb2, 0x69, 0x36, 0x6b, 0x74, 0x6e, 0xeb, 0xe4, 0x3a, 0x75, - 0xcd, 0x93, 0x73, 0xf7, 0x3b, 0xb4, 0xbd, 0x3d, 0xdb, 0x6a, 0xdb, 0xae, 0x4d, 0x8a, 0xb2, 0xdf, - 0xac, 0xe8, 0x37, 0x8b, 0xfd, 0x8a, 0x4f, 0xd7, 0x6c, 0xbb, 0x56, 0xa7, 0x73, 0x66, 0xcb, 0x9a, - 0x33, 0x9b, 0x4d, 0xdb, 0x35, 0x5d, 0xcb, 0x6e, 0x3a, 0x9c, 0xb2, 0xf8, 0x42, 0xc6, 0x08, 0x12, - 0x8a, 0x77, 0x3d, 0x96, 0xd1, 0xb5, 0x46, 0x9b, 0xd4, 0xb1, 0x04, 0xe8, 0x51, 0xbf, 0xa7, 0xdd, - 0x36, 0x2b, 0x75, 0xbf, 0x1f, 0xff, 0x89, 0xdd, 0xa6, 0x6a, 0x76, 0xcd, 0x66, 0x7f, 0xce, 0x79, - 0x7f, 0xf1, 0x56, 0x7d, 0x15, 0xe0, 0x6e, 0x67, 0xdd, 0xac, 0x54, 0xec, 0x4e, 0xd3, 0x25, 0xd3, - 0x30, 0xe8, 0xb6, 0xcd, 0x2a, 0x6d, 0xcf, 0x68, 0x87, 0xb5, 0x63, 0xc3, 0x06, 0xfe, 0x22, 0x2f, - 0xc0, 0x84, 0x23, 0x7b, 0x95, 0x9b, 0x76, 0xb3, 0x42, 0x67, 0x0a, 0x87, 0xb5, 0x63, 0x63, 0xc6, - 0xb8, 0xdf, 0x7e, 0xdb, 0x6b, 0xd6, 0x3f, 0x0f, 0x4f, 0xbf, 0xee, 0xcd, 0x95, 0x8f, 0xba, 0xda, - 0xae, 0xd2, 0xb6, 0x63, 0xd0, 0xfb, 0x1d, 0xea, 0xb8, 0xe4, 0x59, 0x18, 0x0b, 0x40, 0x59, 0x55, - 0x1c, 0x69, 0xd4, 0x6f, 0x5c, 0xae, 0x92, 0xa7, 0x60, 0xb8, 0x61, 0xb6, 0xdf, 0xa5, 0xac, 0x43, - 0x81, 0x75, 0x18, 0xe2, 0x0d, 0xcb, 0x55, 0xfd, 0x6b, 0x1a, 0x3c, 0x93, 0x32, 0x84, 0xd3, 0xb2, - 0x9b, 0x0e, 0x25, 0xb7, 0x01, 0xd6, 0x3b, 0xdb, 0x65, 0x9b, 0xb5, 0xce, 0x68, 0x87, 0xfb, 0x8e, - 0x8d, 0xcc, 0xcf, 0xcd, 0xa6, 0x6b, 0x6d, 0x36, 0x82, 0xb4, 0x68, 0xba, 0xa6, 0x31, 0xbc, 0xde, - 0xd9, 0xe6, 0xb8, 0xe4, 0x0e, 0x8c, 0x38, 0xb4, 0x5e, 0x17, 0x80, 0x85, 0xde, 0x00, 0xc1, 0xc3, - 0xe0, 0x88, 0xfa, 0xaf, 0x6b, 0x70, 0x34, 0xd2, 0x67, 0xdd, 0xb6, 0xdf, 0x5d, 0xa1, 0xae, 0x59, - 0x35, 0x5d, 0xf3, 0x4d, 0xcb, 0xdd, 0x5c, 0x61, 0xf2, 0x92, 0xbb, 0x30, 0xd4, 0xc0, 0x56, 0x36, - 0x55, 0x23, 0xf3, 0x67, 0x73, 0x0c, 0x1c, 0x04, 0x35, 0x24, 0x50, 0xe6, 0xfc, 0x92, 0x29, 0x18, - 0xb0, 0x9c, 0x52, 0x67, 0x7b, 0xa6, 0xef, 0xb0, 0x76, 0x6c, 0xc8, 0xe0, 0x3f, 0xf4, 0xa7, 0xa1, - 0xc8, 0x26, 0xfd, 0x3a, 0x8e, 0x78, 0xc7, 0x6c, 0x9b, 0x0d, 0xa1, 0x55, 0xbd, 0x0c, 0x4f, 0x25, - 0x7e, 0x45, 0x85, 0x5c, 0x85, 0xc1, 0x16, 0x6b, 0x41, 0x11, 0xf4, 0x2c, 0x11, 0x38, 0x6d, 0xa9, - 0xff, 0xeb, 0x8f, 0x0f, 0xed, 0x32, 0x90, 0x4e, 0xff, 0x92, 0x06, 0x07, 0x23, 0x4a, 0x5f, 0xa4, - 0x2d, 0xdb, 0xb1, 0xdc, 0x7c, 0x96, 0x75, 0x0b, 0xc0, 0xff, 0xcd, 0x44, 0x1f, 0x99, 0x7f, 0x4e, - 0x6d, 0x42, 0x19, 0x47, 0x9a, 0x11, 0xa0, 0xd7, 0x3f, 0xd6, 0xe0, 0x50, 0x2a, 0x57, 0x28, 0x3b, - 0x85, 0xa1, 0x2a, 0xb6, 0xa1, 0x29, 0x2e, 0x67, 0x8d, 0xd7, 0x05, 0x6e, 0x56, 0x34, 0x5c, 0x6f, - 0xba, 0xed, 0x6d, 0x43, 0x42, 0x17, 0x3f, 0x0f, 0x63, 0xa1, 0x4f, 0x64, 0x02, 0xfa, 0xde, 0xa5, - 0xdb, 0x38, 0x09, 0xde, 0x9f, 0xe4, 0x3c, 0x0c, 0x6c, 0x99, 0xf5, 0x0e, 0x45, 0xb1, 0x9f, 0xcd, - 0x62, 0x03, 0xb1, 0x0c, 0x4e, 0xf1, 0x4a, 0xe1, 0x9c, 0xa6, 0x1f, 0xc4, 0x95, 0x2d, 0x74, 0x5c, - 0x32, 0xeb, 0x66, 0xb3, 0x42, 0xa5, 0x0d, 0x6c, 0xe0, 0xb2, 0x8c, 0x7f, 0xc7, 0x99, 0xb8, 0x0e, - 0x43, 0xeb, 0xd8, 0x86, 0x33, 0x91, 0xc9, 0x02, 0xd2, 0xa3, 0x21, 0x48, 0x52, 0xfd, 0x2c, 0xda, - 0xda, 0x42, 0xad, 0xd6, 0xa6, 0x35, 0xd3, 0xa5, 0x6f, 0xd8, 0xf5, 0x4e, 0x83, 0x0a, 0x33, 0x98, - 0x81, 0xdd, 0x42, 0xbd, 0x5c, 0x76, 0xf1, 0x53, 0xef, 0xa0, 0x00, 0x31, 0x42, 0xe4, 0xef, 0x1e, - 0xec, 0x35, 0xc5, 0xa7, 0xf2, 0x16, 0xfb, 0x26, 0x18, 0x3d, 0x96, 0xc5, 0x28, 0x5f, 0xa9, 0x08, - 0x36, 0x61, 0x86, 0xd1, 0x1d, 0xfd, 0xad, 0xe4, 0x61, 0xa5, 0xdd, 0x16, 0x61, 0x08, 0x39, 0xe4, - 0xa3, 0x0d, 0x1b, 0xf2, 0x37, 0x79, 0x06, 0x40, 0x2e, 0x54, 0xee, 0x78, 0x86, 0x8d, 0x61, 0xb1, - 0x52, 0x1d, 0xfd, 0x3f, 0x85, 0x2b, 0x8c, 0x63, 0xa3, 0x4c, 0x2e, 0x1c, 0xf0, 0x65, 0x12, 0x6b, - 0x23, 0x2c, 0xdb, 0xb9, 0x2c, 0xd9, 0x24, 0xf0, 0x02, 0xa7, 0x15, 0x53, 0x56, 0xb1, 0xdb, 0x55, - 0x63, 0xbf, 0x99, 0xf8, 0xd5, 0x21, 0xeb, 0x30, 0xe3, 0x8f, 0x8a, 0x02, 0x88, 0x41, 0x0b, 0x39, - 0x27, 0x74, 0x5a, 0x22, 0x05, 0x9b, 0x1d, 0xfd, 0x2a, 0x1c, 0x09, 0x8b, 0x1e, 0xa2, 0xc2, 0xb9, - 0x0d, 0x39, 0x3a, 0x2d, 0xb2, 0x91, 0xd4, 0x41, 0xcf, 0x42, 0xc0, 0x19, 0x5c, 0x82, 0x41, 0xce, - 0x3a, 0xfa, 0xae, 0x4c, 0xce, 0x83, 0xd3, 0x23, 0x3c, 0x18, 0xa7, 0xd6, 0x4f, 0xc0, 0x0c, 0x1b, - 0x6d, 0x91, 0x36, 0xed, 0xc6, 0x22, 0xad, 0x58, 0x0d, 0xb3, 0x2e, 0xd8, 0x9c, 0x82, 0x81, 0xaa, - 0xd7, 0x8c, 0x2c, 0xf2, 0x1f, 0xfa, 0x19, 0x38, 0x90, 0x40, 0x81, 0x6c, 0xcd, 0xc0, 0xee, 0x2a, - 0x6f, 0x62, 0x44, 0xfd, 0x86, 0xf8, 0xa9, 0x9f, 0x4a, 0x20, 0x93, 0xc6, 0x36, 0x0d, 0x83, 0x0c, - 0x5c, 0x98, 0x1a, 0xfe, 0xd2, 0x5d, 0x74, 0xef, 0x11, 0x22, 0x1c, 0xec, 0x0d, 0xd8, 0xc3, 0xfa, - 0x95, 0x71, 0x0c, 0x61, 0x3a, 0x2f, 0x64, 0xbb, 0x90, 0x00, 0x14, 0x4e, 0xc6, 0x58, 0x35, 0xd8, - 0xa8, 0x5f, 0xcb, 0xd2, 0x80, 0xe4, 0x39, 0xbc, 0x08, 0xb4, 0xe8, 0x22, 0xb0, 0xe0, 0xd9, 0x4c, - 0x10, 0x94, 0xa1, 0x04, 0xbb, 0x7b, 0x5d, 0xd3, 0x82, 0x50, 0x7f, 0x3b, 0x16, 0x79, 0x08, 0x3f, - 0x99, 0x67, 0x0f, 0x92, 0xda, 0x2e, 0x04, 0xb5, 0x6d, 0xa6, 0x6d, 0x70, 0x52, 0x82, 0x2b, 0xa1, - 0x9d, 0x44, 0xd9, 0x85, 0x4b, 0x22, 0xfd, 0x24, 0xec, 0xe7, 0x43, 0xb4, 0x6c, 0x97, 0x0b, 0x18, - 0xb4, 0x0b, 0xc7, 0x35, 0xdd, 0x8e, 0x23, 0x22, 0x3f, 0xfe, 0x4b, 0xff, 0x41, 0xb4, 0xda, 0x10, - 0x89, 0xdc, 0xd5, 0x77, 0x73, 0x2d, 0x88, 0x19, 0xcd, 0xde, 0x48, 0x25, 0x82, 0x21, 0xc8, 0xf4, - 0x33, 0x30, 0x1d, 0x41, 0x57, 0x5a, 0xb8, 0x6f, 0xc5, 0xe4, 0x90, 0x3c, 0x5d, 0x86, 0x41, 0xde, - 0x0d, 0x67, 0x48, 0x95, 0x25, 0xa4, 0xd2, 0x6f, 0xe3, 0xe2, 0xf1, 0x3e, 0xc9, 0x08, 0x4a, 0x85, - 0x29, 0x4f, 0xab, 0x75, 0xab, 0x61, 0xf1, 0xa0, 0xa2, 0xdf, 0xe0, 0x3f, 0xf4, 0xf7, 0x35, 0x5c, - 0x58, 0x11, 0x40, 0x64, 0xf7, 0x26, 0x4c, 0xac, 0x77, 0xb6, 0x9d, 0x72, 0xab, 0x6d, 0x55, 0x68, - 0xb9, 0x4e, 0xb7, 0x68, 0x1d, 0xe7, 0xf2, 0x48, 0x16, 0xe3, 0xb7, 0xbc, 0x8e, 0xc6, 0x1e, 0x8f, - 0xf4, 0x8e, 0x47, 0xc9, 0x7e, 0x93, 0x15, 0xd8, 0xeb, 0x85, 0x98, 0x61, 0xb4, 0x82, 0x2a, 0xda, - 0x38, 0xa3, 0xf5, 0xe1, 0xf4, 0x9f, 0x90, 0x21, 0x97, 0x60, 0xdd, 0x29, 0x6d, 0xdf, 0x30, 0x9d, - 0x4d, 0x7f, 0x65, 0x66, 0x4e, 0x48, 0x6c, 0x2d, 0x14, 0x12, 0xd6, 0xc2, 0x11, 0x18, 0x65, 0x51, - 0x75, 0x79, 0x93, 0x01, 0xcf, 0xf4, 0xb1, 0xd5, 0x3d, 0xc2, 0xda, 0xf8, 0x58, 0x7a, 0x5d, 0xc4, - 0x58, 0x09, 0x6c, 0xe0, 0x34, 0x2e, 0xc3, 0x60, 0x28, 0xd8, 0x3f, 0x99, 0x25, 0xee, 0x5a, 0xdb, - 0x6a, 0x34, 0x68, 0xd5, 0x83, 0xbb, 0xe5, 0xe9, 0x88, 0x61, 0x1a, 0x08, 0x20, 0xcf, 0x2f, 0x6b, - 0xec, 0xe4, 0xe3, 0x8f, 0xb9, 0x63, 0x22, 0xeb, 0x5f, 0x2e, 0xc0, 0xbe, 0x44, 0x1e, 0xc8, 0x22, - 0x0c, 0x30, 0xd5, 0x71, 0xdc, 0xd2, 0xac, 0xe7, 0x32, 0xbf, 0xf5, 0xf8, 0xd0, 0x73, 0x35, 0xcb, - 0xdd, 0xec, 0xac, 0xcf, 0x56, 0xec, 0xc6, 0x5c, 0xc5, 0x76, 0x1a, 0xb6, 0x83, 0xff, 0x39, 0xee, - 0x54, 0xdf, 0x9d, 0x73, 0xb7, 0x5b, 0xd4, 0x99, 0x5d, 0xa4, 0x15, 0x83, 0x13, 0x93, 0xd7, 0x60, - 0xe8, 0x7e, 0xc7, 0x6c, 0xba, 0x96, 0xbb, 0xcd, 0xc7, 0xcf, 0x0d, 0x24, 0xe9, 0x3d, 0xac, 0x0d, - 0xab, 0x5e, 0x37, 0xd7, 0xeb, 0x94, 0x1d, 0x07, 0x7a, 0xc0, 0x12, 0xf4, 0xfe, 0xb9, 0xa2, 0x3f, - 0x70, 0xae, 0xf0, 0x9c, 0xbb, 0x6f, 0x00, 0x33, 0x03, 0x6c, 0xbe, 0x86, 0xa5, 0xfa, 0xf5, 0x77, - 0xd0, 0xe3, 0xc6, 0xd5, 0xb1, 0xf3, 0xaa, 0xbf, 0x14, 0xb0, 0xf7, 0x15, 0xab, 0xca, 0x96, 0xc2, - 0x42, 0xb3, 0xba, 0xb6, 0x5a, 0x52, 0xf2, 0x4a, 0xbf, 0x50, 0x08, 0x18, 0x6a, 0x94, 0x5e, 0xae, - 0xf7, 0xe1, 0x86, 0x55, 0x2d, 0x47, 0xb5, 0xac, 0xe5, 0x99, 0xd0, 0x06, 0x42, 0x93, 0x35, 0xd8, - 0xb3, 0x4e, 0x1d, 0xb7, 0xec, 0x9d, 0x75, 0x39, 0x62, 0xa1, 0x27, 0xc4, 0x51, 0x0f, 0xa5, 0xd4, - 0xd9, 0xe6, 0xa8, 0x6f, 0xc0, 0x38, 0x43, 0x65, 0x27, 0x5e, 0x0e, 0xdb, 0xd7, 0x13, 0xec, 0x98, - 0x07, 0x73, 0x97, 0xd6, 0xeb, 0x0c, 0x57, 0xbf, 0x06, 0x9f, 0xc3, 0x08, 0xa3, 0x6d, 0x6d, 0x99, - 0x9e, 0x7e, 0x7a, 0x98, 0xe3, 0x5f, 0x29, 0xc0, 0xd1, 0x2e, 0x28, 0xdf, 0x9b, 0xe9, 0x35, 0xb4, - 0x43, 0x7f, 0x8e, 0x76, 0x62, 0x27, 0xfb, 0x8a, 0x06, 0x87, 0xd3, 0x61, 0xff, 0x0f, 0xec, 0x67, - 0xbf, 0xdb, 0x07, 0xb3, 0x89, 0xbe, 0x64, 0xcd, 0xbe, 0xe6, 0x9d, 0x2c, 0xeb, 0xf7, 0x5a, 0x6b, - 0xf6, 0x42, 0xc3, 0xf3, 0xd2, 0x3b, 0xb7, 0xbf, 0xad, 0xc2, 0xc8, 0xba, 0xe9, 0xd0, 0xb2, 0xc9, - 0x70, 0x7b, 0xf4, 0xa1, 0xe0, 0x41, 0x70, 0xce, 0xc8, 0xeb, 0x30, 0x7a, 0xbf, 0x63, 0xbb, 0x12, - 0xb1, 0xbf, 0x27, 0xc4, 0x11, 0x86, 0x81, 0x90, 0xb7, 0x60, 0xc8, 0x71, 0xdb, 0xa6, 0x4b, 0x6b, - 0xdb, 0xcc, 0x01, 0xef, 0x99, 0x3f, 0x91, 0x35, 0xbd, 0x7c, 0xb2, 0xea, 0xec, 0x62, 0xf3, 0x2e, - 0xd2, 0x19, 0x12, 0x81, 0xbc, 0x09, 0xe3, 0x6d, 0xba, 0x41, 0xdb, 0xb4, 0x59, 0xa1, 0x68, 0xd5, - 0x83, 0x3d, 0x59, 0xf5, 0x1e, 0x09, 0xc3, 0xcd, 0xfa, 0x3f, 0x0a, 0x70, 0x3a, 0xa0, 0xbf, 0x88, - 0x19, 0x7e, 0xa2, 0x5a, 0x8c, 0x4e, 0x7a, 0xdf, 0xce, 0x4e, 0x7a, 0xff, 0x27, 0x31, 0xe9, 0x03, - 0x3b, 0x32, 0xe9, 0x1b, 0x78, 0x42, 0x4b, 0x9e, 0xf3, 0x9d, 0x0b, 0x8a, 0x7e, 0xbc, 0x0f, 0x9e, - 0xc2, 0xdd, 0xd9, 0x1f, 0xe4, 0x33, 0x1d, 0x1a, 0x2d, 0xb1, 0x93, 0x46, 0xcd, 0x6a, 0xf6, 0x68, - 0x0d, 0x48, 0x1d, 0x0a, 0xb1, 0xfa, 0x9f, 0x30, 0xc4, 0x3a, 0x24, 0x42, 0x2c, 0x4f, 0xf9, 0x43, - 0xa5, 0xe1, 0x8f, 0x1f, 0x1f, 0xe2, 0x0d, 0xc9, 0xd1, 0xd6, 0x60, 0x34, 0xda, 0xda, 0xc2, 0xa3, - 0x74, 0x9a, 0xb6, 0xd1, 0xcb, 0xaf, 0x46, 0x62, 0xae, 0xb3, 0x0a, 0x31, 0x57, 0x92, 0x56, 0x65, - 0xe4, 0xf5, 0x93, 0x5a, 0x2c, 0x38, 0xf8, 0x14, 0x0f, 0x1c, 0x0f, 0x62, 0x31, 0x46, 0xca, 0xb1, - 0x63, 0xc7, 0xe7, 0xe1, 0x2c, 0x46, 0xbb, 0x81, 0xe8, 0x46, 0xed, 0x98, 0xfe, 0x8b, 0x1a, 0x40, - 0x60, 0xe7, 0xfc, 0xcc, 0xad, 0x16, 0xfd, 0xab, 0x1a, 0x4c, 0xdd, 0xa1, 0xed, 0x16, 0x75, 0x3b, - 0x66, 0x9d, 0x0b, 0x75, 0xd7, 0x35, 0x5d, 0x4a, 0xee, 0xc0, 0x88, 0xd0, 0x68, 0x73, 0xc3, 0xc6, - 0x53, 0x7b, 0xe6, 0xdb, 0x4a, 0x04, 0x66, 0xb9, 0xb9, 0x61, 0x1b, 0x78, 0x41, 0xe4, 0xfd, 0x4d, - 0xee, 0xc1, 0xe8, 0x46, 0xa7, 0x59, 0xb5, 0x9a, 0x35, 0x0e, 0xc9, 0x6f, 0xbb, 0xe7, 0x73, 0x40, - 0x2e, 0x71, 0x72, 0x63, 0x04, 0x71, 0x3c, 0x58, 0xfd, 0x9f, 0x0b, 0x30, 0xb5, 0xd4, 0xa9, 0xd7, - 0xa3, 0xba, 0x21, 0x8b, 0x91, 0x2b, 0x87, 0x97, 0xb2, 0x2f, 0x65, 0xc2, 0xd4, 0xe2, 0xe2, 0x81, - 0xbc, 0x05, 0x7b, 0x5a, 0x82, 0x8b, 0x20, 0xdf, 0x27, 0x72, 0xf0, 0xcd, 0x66, 0xf4, 0xc6, 0x2e, - 0x63, 0x4c, 0x22, 0xb1, 0x09, 0xf9, 0x7e, 0x6f, 0x42, 0xdc, 0x4e, 0x9b, 0x3a, 0x1c, 0xb8, 0x8f, - 0x01, 0x9f, 0xca, 0x02, 0xbe, 0xfe, 0xa0, 0x65, 0xb5, 0xb7, 0x97, 0x38, 0x95, 0x3f, 0xcf, 0x37, - 0x76, 0x79, 0x73, 0xc2, 0x1a, 0x19, 0xf2, 0x0a, 0xbf, 0x99, 0xc3, 0x1d, 0xa7, 0x37, 0xef, 0xc5, - 0x16, 0x34, 0xb3, 0xdd, 0xd2, 0x20, 0xf4, 0x7b, 0x0c, 0xea, 0x75, 0x3c, 0x88, 0x25, 0x2c, 0x03, - 0x5c, 0x79, 0xaf, 0x45, 0xaf, 0x9e, 0x32, 0xa7, 0x29, 0x49, 0x6d, 0xfe, 0x25, 0xd4, 0x05, 0x3c, - 0xf1, 0xc7, 0x7a, 0xa8, 0x1c, 0x48, 0xac, 0x94, 0x15, 0x2b, 0x39, 0xbd, 0x11, 0xb1, 0x8e, 0xfc, - 0x8c, 0x8a, 0xab, 0xa9, 0x12, 0x3a, 0xe7, 0x68, 0x87, 0x85, 0x6a, 0xb5, 0x4d, 0x1d, 0x25, 0x17, - 0xa9, 0xd3, 0xf8, 0x21, 0x2c, 0x8c, 0xe1, 0xdf, 0x2e, 0x9b, 0xbc, 0x49, 0x3e, 0xa2, 0xf0, 0x9f, - 0x6a, 0xbb, 0xf9, 0xab, 0x78, 0x54, 0xf0, 0xef, 0x32, 0xd9, 0x8e, 0xc2, 0x5e, 0x88, 0xf3, 0x5c, - 0x95, 0xea, 0x4b, 0xb1, 0xf7, 0xb5, 0x3b, 0xb6, 0x63, 0xb1, 0x27, 0xf5, 0x5c, 0x38, 0xef, 0xc0, - 0x73, 0x29, 0x38, 0xcb, 0xcd, 0xb0, 0xb6, 0x9f, 0xfc, 0x7d, 0xda, 0x81, 0xb9, 0xc8, 0x58, 0xd7, - 0x37, 0x36, 0xb8, 0xc6, 0x3f, 0xb9, 0x41, 0x5f, 0x43, 0xe3, 0x88, 0xbc, 0xff, 0xca, 0xb7, 0xdf, - 0x3c, 0x93, 0xd5, 0x8c, 0x69, 0x2f, 0x30, 0xe9, 0x72, 0x01, 0x0e, 0x78, 0x5b, 0x0f, 0xc5, 0xe5, - 0x37, 0xab, 0xe6, 0xf3, 0x04, 0x0e, 0xbe, 0x06, 0x70, 0x08, 0xfd, 0x5d, 0x78, 0xbe, 0xab, 0x72, - 0xe4, 0x95, 0xb3, 0x1c, 0xd6, 0x5b, 0x4c, 0x9f, 0xcb, 0x74, 0x8e, 0xc1, 0xc1, 0x34, 0x31, 0xd8, - 0xaf, 0x16, 0x60, 0x6f, 0x4c, 0x1f, 0x64, 0x3f, 0xec, 0xb6, 0x9c, 0x72, 0xdd, 0x6e, 0xd6, 0x18, - 0xf2, 0x90, 0x31, 0x68, 0x39, 0xb7, 0xec, 0x66, 0x6d, 0x47, 0x23, 0xc6, 0x55, 0x18, 0xa1, 0x4d, - 0xb7, 0xbd, 0x1d, 0x3b, 0xeb, 0xe7, 0x3a, 0x0b, 0x32, 0x08, 0x7e, 0x81, 0xf0, 0x16, 0x4c, 0x50, - 0x21, 0x4a, 0x19, 0x83, 0xd1, 0xde, 0x9c, 0xf0, 0xb8, 0xc4, 0x59, 0x61, 0x30, 0xfa, 0x23, 0x38, - 0xa1, 0x6e, 0xc4, 0xf2, 0x2a, 0x2e, 0xa4, 0x9c, 0xe3, 0x99, 0x1b, 0x4c, 0x14, 0x2d, 0xac, 0xa5, - 0xcb, 0xb8, 0xee, 0x93, 0xf6, 0x7a, 0x15, 0x3f, 0xd7, 0x40, 0x13, 0x4e, 0xa4, 0x97, 0xec, 0xf6, - 0x3f, 0x41, 0xc8, 0x81, 0x26, 0xcc, 0x37, 0x2c, 0xe1, 0x9a, 0x53, 0xb6, 0x4d, 0x25, 0x96, 0x3b, - 0xe8, 0x9a, 0x53, 0x31, 0x90, 0xed, 0x95, 0x10, 0xdb, 0xbd, 0xec, 0xe2, 0x21, 0xd6, 0x17, 0xf0, - 0x80, 0x97, 0x12, 0x02, 0xa9, 0x71, 0xfe, 0x6c, 0x26, 0x84, 0xcc, 0xca, 0x09, 0x99, 0x47, 0x0f, - 0x01, 0x59, 0xd8, 0x6d, 0xc8, 0x43, 0x43, 0xaa, 0xcf, 0xc3, 0x81, 0x2b, 0xa1, 0x14, 0x1a, 0xcf, - 0x5d, 0x2d, 0xf4, 0x98, 0x42, 0xe3, 0xe7, 0xe5, 0x88, 0xac, 0x04, 0x01, 0xac, 0x9f, 0xc7, 0xe7, - 0xe8, 0xe4, 0x2d, 0x0f, 0x39, 0x99, 0x82, 0x01, 0x9e, 0x3c, 0xa5, 0xb1, 0xe4, 0x29, 0xfe, 0x43, - 0x3f, 0x80, 0xcf, 0x59, 0x2b, 0x76, 0xb5, 0x53, 0xa7, 0x2c, 0x88, 0x13, 0x39, 0x15, 0x6f, 0xe3, - 0xf3, 0x5b, 0xe8, 0x93, 0x7c, 0xea, 0x0a, 0xcd, 0x67, 0xe6, 0x73, 0xe6, 0xab, 0x3c, 0x63, 0x8c, - 0x03, 0xe0, 0xfc, 0xed, 0x87, 0x7d, 0x5c, 0x6d, 0x91, 0x1d, 0x55, 0xaf, 0xe2, 0xab, 0xdc, 0x27, - 0xeb, 0xf5, 0xef, 0x07, 0x6f, 0xf6, 0x0d, 0xfa, 0x9e, 0xd9, 0xae, 0xde, 0xb1, 0xad, 0xa6, 0xab, - 0x94, 0x17, 0x71, 0x1a, 0xa6, 0x5b, 0x94, 0xc7, 0xf8, 0x2d, 0xdb, 0xae, 0x97, 0x5d, 0xab, 0x41, - 0x1d, 0xd7, 0x6c, 0xb4, 0x98, 0x93, 0xee, 0x33, 0xa6, 0xf0, 0xeb, 0x1d, 0xdb, 0xae, 0xaf, 0x89, - 0x6f, 0xfa, 0x17, 0xc5, 0x8b, 0x56, 0xc2, 0x98, 0x28, 0x61, 0x03, 0x9e, 0x12, 0xbb, 0x23, 0xcb, - 0x7d, 0x2b, 0xb7, 0x59, 0xaf, 0x72, 0x8b, 0x75, 0xe3, 0x7c, 0xe4, 0xf6, 0xae, 0x33, 0x41, 0x8b, - 0x08, 0x0e, 0xab, 0x1f, 0x41, 0x3f, 0x17, 0xf8, 0x72, 0xcd, 0x6c, 0xb4, 0x4c, 0xab, 0xd6, 0x14, - 0xda, 0xf8, 0x99, 0x01, 0xf4, 0x65, 0x89, 0x7d, 0x90, 0xed, 0x2d, 0x78, 0xda, 0x63, 0xd7, 0x9b, - 0x0f, 0x64, 0xb8, 0x82, 0x5d, 0x82, 0xc7, 0xaa, 0x33, 0xd9, 0xe7, 0x53, 0x93, 0x2f, 0xd7, 0xe0, - 0x00, 0xcc, 0xf3, 0x1c, 0x70, 0xd3, 0x3e, 0x91, 0x1f, 0xd1, 0xe0, 0x68, 0x64, 0x60, 0xa6, 0x0f, - 0x39, 0xba, 0x53, 0xd9, 0xa4, 0x9e, 0xe9, 0xe2, 0xbd, 0xed, 0x6c, 0xf6, 0x1d, 0x97, 0x90, 0x8a, - 0xcf, 0x90, 0x5d, 0x37, 0x8e, 0x84, 0x86, 0xf6, 0x9a, 0x44, 0xa7, 0xbb, 0x08, 0x4c, 0x2c, 0x38, - 0xe0, 0xda, 0xae, 0x59, 0x4f, 0xd4, 0x57, 0x6f, 0x7b, 0xec, 0x34, 0x03, 0x8c, 0x69, 0x8b, 0x7c, - 0x51, 0x83, 0xe3, 0xc2, 0xec, 0xd4, 0xa4, 0xee, 0xef, 0x49, 0xea, 0x63, 0x38, 0xc8, 0x5a, 0x57, - 0xe1, 0x1f, 0xc0, 0x11, 0xc9, 0x50, 0xea, 0x24, 0x0c, 0xf4, 0x64, 0xb4, 0xcf, 0x08, 0x26, 0x12, - 0xe7, 0x42, 0xbf, 0x80, 0x96, 0xbb, 0xec, 0xac, 0xb6, 0x5c, 0x5a, 0x5d, 0xed, 0xb8, 0xab, 0x1b, - 0xbc, 0x83, 0xd3, 0x3d, 0x13, 0x6b, 0x11, 0x4d, 0x3a, 0x91, 0x18, 0x4d, 0xfa, 0x30, 0x8c, 0x5a, - 0x4e, 0xd9, 0xf6, 0xbe, 0x97, 0xed, 0x8e, 0x8b, 0x71, 0x19, 0x58, 0x92, 0x44, 0x7f, 0x1e, 0xef, - 0x69, 0x62, 0x18, 0x98, 0x8d, 0x24, 0x1d, 0xda, 0x22, 0x46, 0xff, 0x19, 0x1d, 0x71, 0xd0, 0x0c, - 0x9f, 0xa3, 0x5f, 0xc6, 0x9d, 0x72, 0x89, 0xd2, 0x45, 0xcb, 0x61, 0x8d, 0x48, 0x1f, 0xdc, 0xe3, - 0xd3, 0x85, 0xfe, 0x17, 0x0d, 0xf7, 0xc9, 0x34, 0x00, 0xe4, 0xe1, 0x19, 0x00, 0xd7, 0xa2, 0x6d, - 0xf9, 0x7a, 0xa2, 0x1d, 0xeb, 0x37, 0x86, 0xbd, 0x16, 0x7e, 0xb7, 0x63, 0xc0, 0xa8, 0x8c, 0xdf, - 0xfd, 0x6b, 0x82, 0xcc, 0xf0, 0x25, 0x30, 0xe0, 0x9a, 0x45, 0xdb, 0x6c, 0xb4, 0x11, 0xd3, 0x1f, - 0xda, 0x8b, 0x4c, 0xa5, 0xd7, 0x73, 0xeb, 0x78, 0x41, 0x30, 0x9b, 0x03, 0x72, 0x6d, 0xed, 0x96, - 0x01, 0xc2, 0xcb, 0xb9, 0x75, 0xe9, 0xd7, 0x02, 0xdd, 0x84, 0xcd, 0x0a, 0xa5, 0x7c, 0x41, 0xbc, - 0x27, 0x25, 0xf6, 0x91, 0x5b, 0xf7, 0xbe, 0x0d, 0x4a, 0xcb, 0x55, 0xfc, 0xee, 0x2f, 0x2c, 0x2d, - 0x97, 0xd4, 0x12, 0x77, 0x72, 0x23, 0xde, 0xa8, 0x5f, 0xc5, 0x9d, 0x08, 0x13, 0x0e, 0x57, 0x2c, - 0xa7, 0x61, 0xba, 0x95, 0xc0, 0xad, 0xe3, 0x21, 0x18, 0xa9, 0x76, 0x1c, 0xb7, 0xbc, 0x61, 0x56, - 0x5c, 0x9b, 0xe7, 0x46, 0xf7, 0x19, 0xe0, 0x35, 0x2d, 0xb1, 0x16, 0xfd, 0xef, 0xfa, 0x60, 0x3c, - 0x42, 0x4d, 0x74, 0x08, 0x9d, 0xaa, 0xd4, 0x33, 0x81, 0xc8, 0x2d, 0x18, 0x36, 0xb7, 0x4c, 0xeb, - 0x49, 0x5e, 0xdd, 0x7d, 0x00, 0xb2, 0x08, 0x03, 0xcc, 0x35, 0xf4, 0x78, 0x32, 0xe0, 0xc4, 0xe4, - 0x75, 0x18, 0xc5, 0x04, 0xcc, 0xf2, 0xa6, 0x5d, 0xaf, 0x06, 0x5e, 0x17, 0x72, 0xbd, 0x80, 0x20, - 0xc6, 0x0d, 0xbb, 0x5e, 0x25, 0xf7, 0x60, 0x0f, 0x7d, 0xd0, 0xa2, 0x15, 0x6f, 0x81, 0x73, 0x0e, - 0x07, 0x7b, 0x02, 0x1d, 0x13, 0x28, 0xcc, 0x53, 0x91, 0xdb, 0x00, 0x55, 0x6b, 0x03, 0x1f, 0x31, - 0x66, 0x76, 0xf7, 0x76, 0xc8, 0xf2, 0x11, 0xf4, 0x1f, 0xc6, 0x98, 0x21, 0xc1, 0x3a, 0xd0, 0x48, - 0xdf, 0x06, 0x22, 0xe6, 0xa6, 0x21, 0xbf, 0x62, 0x88, 0xf4, 0x7d, 0x0a, 0x19, 0xae, 0x02, 0xd2, - 0xd8, 0xbb, 0x1e, 0x1d, 0x43, 0x3f, 0x8a, 0x3e, 0x03, 0xbb, 0x7a, 0x01, 0x68, 0xc9, 0x9f, 0x43, - 0xe9, 0xe1, 0xde, 0x2f, 0xc0, 0xbe, 0x40, 0x17, 0x7e, 0x88, 0x63, 0xb3, 0xfc, 0x3d, 0x33, 0xcc, - 0x36, 0x43, 0xfd, 0xe7, 0xc4, 0x31, 0x22, 0x75, 0x8a, 0x51, 0xcd, 0x4d, 0x28, 0x8a, 0xb1, 0xdf, - 0xb3, 0xdc, 0xcd, 0x72, 0x90, 0x11, 0xa5, 0xec, 0x93, 0x44, 0x05, 0x19, 0xfb, 0xd7, 0x93, 0xc7, - 0x95, 0xdb, 0x5b, 0xc4, 0xd5, 0x7a, 0x31, 0xbc, 0xe5, 0xb8, 0x56, 0x45, 0x2a, 0xff, 0x3c, 0x8c, - 0x85, 0x3e, 0x10, 0x02, 0xfd, 0xde, 0x7e, 0x81, 0x7b, 0x07, 0xfb, 0xdb, 0xd3, 0xb1, 0x9f, 0xf3, - 0xde, 0x6f, 0xf0, 0x1f, 0xba, 0x83, 0x3b, 0x63, 0xc6, 0x18, 0xf2, 0xb4, 0x0c, 0x8e, 0x6c, 0x55, - 0x49, 0xff, 0x0c, 0xe1, 0x18, 0x01, 0x62, 0xef, 0xe0, 0xb1, 0x62, 0xb9, 0xf6, 0x1b, 0x66, 0xa7, - 0xce, 0xb6, 0x1f, 0x29, 0xc8, 0x1f, 0x68, 0x30, 0x1d, 0xfd, 0x82, 0xc3, 0xbf, 0x00, 0x13, 0x0d, - 0xd3, 0x71, 0x69, 0xbb, 0x8c, 0x17, 0x91, 0x54, 0x6c, 0xd0, 0xe3, 0xbc, 0x7d, 0x41, 0x34, 0x93, - 0x93, 0x30, 0x55, 0x95, 0x67, 0x8f, 0x40, 0x77, 0x9e, 0x3d, 0x3d, 0xe9, 0x7f, 0xf3, 0x49, 0x8e, - 0xc2, 0x1e, 0xa7, 0x65, 0xbb, 0x81, 0xce, 0xfc, 0x59, 0x68, 0xcc, 0x6b, 0x0d, 0x75, 0xab, 0xbc, - 0x37, 0x7f, 0x22, 0xd0, 0xad, 0x9f, 0x77, 0xf3, 0x5a, 0x65, 0x37, 0x7d, 0x15, 0xf7, 0x13, 0x3c, - 0x71, 0x2f, 0x2e, 0xb5, 0xed, 0x06, 0x13, 0x49, 0xec, 0x27, 0xb3, 0x30, 0xb9, 0xe5, 0xfd, 0x2e, - 0x27, 0xdd, 0xc5, 0xed, 0x65, 0x9f, 0xee, 0x06, 0x2f, 0xe4, 0x44, 0x62, 0x52, 0x02, 0x20, 0x4e, - 0x4f, 0xe6, 0xf9, 0x5c, 0x1c, 0xf1, 0x6f, 0x58, 0x8e, 0x6b, 0xb7, 0xad, 0x8a, 0x0c, 0xe7, 0x2a, - 0x76, 0x20, 0x5a, 0xcb, 0x84, 0x70, 0xd1, 0x0d, 0xa5, 0x41, 0xc8, 0xbb, 0x89, 0x31, 0x11, 0x80, - 0xb2, 0x0f, 0x2a, 0x99, 0xb6, 0x21, 0xa0, 0x51, 0x37, 0xf0, 0x4b, 0xff, 0x2d, 0x0d, 0x26, 0xd9, - 0x67, 0x3e, 0xac, 0x17, 0xbf, 0x79, 0xc7, 0x51, 0xf2, 0x12, 0x10, 0x3e, 0x4c, 0xad, 0x6d, 0x77, - 0x5a, 0x5e, 0xf0, 0xeb, 0xd0, 0x0a, 0x5a, 0xfb, 0x04, 0xfb, 0xf2, 0x2a, 0x7e, 0xb8, 0x4b, 0x2b, - 0x64, 0x3f, 0xec, 0x6e, 0x98, 0x0f, 0xca, 0x66, 0x8d, 0xa2, 0xed, 0x0f, 0x36, 0xcc, 0x07, 0x0b, - 0x35, 0xea, 0xa9, 0xc1, 0x6a, 0x56, 0xea, 0x1d, 0x8f, 0x5f, 0xf3, 0xbd, 0xf2, 0x26, 0x1f, 0x04, - 0xd3, 0xd3, 0xf6, 0xe2, 0x27, 0xc3, 0x7c, 0x0f, 0x47, 0xf7, 0x6c, 0x50, 0xf4, 0x97, 0xf7, 0x09, - 0xec, 0xa1, 0xd5, 0x18, 0xc7, 0x76, 0x71, 0x4f, 0xa0, 0xff, 0x92, 0x86, 0x8f, 0x0a, 0x32, 0x8f, - 0xd8, 0x74, 0xad, 0xba, 0xe5, 0x6e, 0x2b, 0x3d, 0x64, 0x56, 0x60, 0x1f, 0x97, 0x0f, 0x59, 0xf2, - 0xa2, 0x60, 0x4f, 0x70, 0x95, 0x58, 0x2f, 0x61, 0xbe, 0x8c, 0x49, 0x37, 0xde, 0xa8, 0xff, 0x54, - 0x21, 0x64, 0xa6, 0x41, 0x16, 0xe5, 0x69, 0x1f, 0xb6, 0x64, 0x2b, 0x3e, 0x25, 0xbe, 0x98, 0x67, - 0x17, 0xf5, 0xa9, 0xc9, 0x9b, 0x30, 0x21, 0x84, 0x91, 0x73, 0x57, 0x88, 0x3d, 0x97, 0x61, 0xc1, - 0x9a, 0x4c, 0xc2, 0xc6, 0x9e, 0x01, 0x77, 0x34, 0x8e, 0x28, 0xe2, 0x13, 0xb9, 0x01, 0x23, 0x41, - 0xe5, 0xf5, 0x31, 0x83, 0x7b, 0x5e, 0xd1, 0xe0, 0x0c, 0x68, 0x4b, 0xf5, 0xca, 0xbc, 0xf9, 0x92, - 0xd5, 0x34, 0xc5, 0xac, 0x74, 0x7d, 0x78, 0xad, 0x61, 0x7a, 0x6f, 0x84, 0x48, 0x3a, 0xcd, 0xc8, - 0x33, 0x55, 0xa6, 0xea, 0x38, 0x06, 0xea, 0x27, 0xfa, 0x4a, 0x75, 0x1f, 0x8e, 0x27, 0x3e, 0xcd, - 0x5f, 0xb3, 0x9b, 0x55, 0x76, 0xbb, 0x62, 0xd6, 0x77, 0xba, 0xd0, 0xee, 0xfd, 0x3e, 0x38, 0x12, - 0x7b, 0xb5, 0x8e, 0x8e, 0xf7, 0xff, 0x38, 0x33, 0xc3, 0x80, 0x51, 0xb7, 0x6d, 0xd5, 0x6a, 0xb4, - 0x7d, 0xe7, 0x09, 0xde, 0x37, 0x43, 0x18, 0xdd, 0x33, 0x34, 0x8e, 0xc2, 0x6e, 0xcb, 0x61, 0xa9, - 0x01, 0x2c, 0x1c, 0x1e, 0x2a, 0x8d, 0x7c, 0xfc, 0xf8, 0x90, 0x68, 0x32, 0xc4, 0x1f, 0x91, 0x44, - 0x8e, 0xdd, 0xd1, 0x44, 0x8e, 0x2f, 0x68, 0xa1, 0x5c, 0xb7, 0x4c, 0x73, 0x91, 0xd5, 0x4f, 0xe1, - 0x64, 0x86, 0x4b, 0xb9, 0x92, 0x19, 0xa2, 0xb8, 0x32, 0xa5, 0x61, 0x05, 0x19, 0xc1, 0x77, 0x46, - 0xd7, 0x6e, 0x58, 0x95, 0xeb, 0x0f, 0x68, 0xa5, 0xe3, 0x75, 0x5e, 0xa2, 0x74, 0xa5, 0x53, 0x77, - 0xad, 0x56, 0xdd, 0xa2, 0x6d, 0xa5, 0x8d, 0xe8, 0x47, 0x35, 0x7c, 0x5d, 0x53, 0xc1, 0xf3, 0xcb, - 0x41, 0x1b, 0xb2, 0xb5, 0x47, 0x33, 0x0d, 0x20, 0xbc, 0xf8, 0x06, 0x4c, 0x25, 0xa5, 0x63, 0x91, - 0x29, 0x98, 0xb8, 0xd7, 0x74, 0x5a, 0xb4, 0x62, 0x6d, 0x58, 0xb4, 0xca, 0xa6, 0x61, 0x62, 0x17, - 0x99, 0x84, 0x71, 0x6f, 0xbf, 0x7e, 0xd3, 0x6e, 0x3b, 0xee, 0x9a, 0x5d, 0xa2, 0x8e, 0x3b, 0xa1, - 0x89, 0x46, 0xef, 0xd7, 0x9a, 0xcd, 0x3e, 0x4d, 0x14, 0xe6, 0xff, 0xf0, 0x2d, 0x18, 0x60, 0xb2, - 0x91, 0xdf, 0xd6, 0x60, 0x32, 0xa1, 0x9e, 0x92, 0xbc, 0xdc, 0xb5, 0x72, 0x30, 0xb1, 0x3c, 0xb3, - 0x78, 0x36, 0x37, 0x1d, 0x9f, 0x3a, 0x7d, 0xfe, 0xc7, 0xfe, 0xe2, 0x3b, 0x5f, 0x2a, 0xbc, 0x44, - 0x5e, 0x9c, 0x53, 0xa8, 0x5c, 0x46, 0x26, 0xff, 0x44, 0x03, 0x12, 0x2f, 0x60, 0x24, 0xaf, 0xf4, - 0x54, 0xf5, 0xc8, 0xf9, 0xbf, 0xf0, 0x04, 0x15, 0x93, 0xfa, 0x15, 0x26, 0xc3, 0x79, 0x72, 0x56, - 0x45, 0x86, 0x39, 0x27, 0xce, 0xf9, 0x37, 0x34, 0xd8, 0x1b, 0xc3, 0x27, 0xe7, 0xf3, 0xf3, 0x24, - 0xc4, 0x79, 0xa5, 0x17, 0x52, 0x94, 0xe6, 0x32, 0x93, 0xe6, 0x1c, 0x79, 0xb9, 0x37, 0x69, 0xc8, - 0x1f, 0x69, 0x30, 0x11, 0xad, 0xd0, 0x24, 0xe7, 0x94, 0xed, 0x23, 0x52, 0xf4, 0x59, 0x3c, 0xdf, - 0x03, 0x25, 0x4a, 0x72, 0x89, 0x49, 0x72, 0x96, 0x9c, 0x51, 0x92, 0x84, 0x46, 0x79, 0xfe, 0x63, - 0x0d, 0xc6, 0x23, 0x65, 0x8f, 0xa4, 0xbb, 0x9d, 0x27, 0x17, 0x8d, 0x16, 0xcf, 0xe5, 0x27, 0x44, - 0x29, 0x96, 0x98, 0x14, 0x57, 0xc9, 0x65, 0x25, 0x29, 0x22, 0xc5, 0xa1, 0x73, 0x0f, 0x51, 0x3b, - 0x8f, 0x98, 0x5e, 0xa2, 0x55, 0x9c, 0x24, 0x37, 0x5b, 0x39, 0xf4, 0x92, 0x56, 0x32, 0x9a, 0x53, - 0x2f, 0xd1, 0x72, 0x57, 0xf2, 0x4f, 0x1a, 0xec, 0x4b, 0x2c, 0xc5, 0x23, 0x97, 0xd4, 0x79, 0x4a, - 0xa8, 0xe5, 0x2c, 0x5e, 0xee, 0x95, 0x1c, 0xe5, 0xba, 0xcd, 0xe4, 0xba, 0x41, 0x96, 0xf2, 0xc9, - 0x15, 0xc4, 0x9a, 0x7b, 0x28, 0x77, 0xa6, 0x47, 0xe4, 0xb1, 0x06, 0xd3, 0xc9, 0x35, 0x87, 0xa4, - 0x47, 0x56, 0xa5, 0xf6, 0xae, 0xf4, 0x4c, 0x8f, 0xb2, 0x5e, 0x63, 0xb2, 0x5e, 0x22, 0x17, 0x7a, - 0x97, 0xd5, 0x21, 0x5f, 0xd5, 0x60, 0x34, 0x58, 0xc4, 0x49, 0x4e, 0x77, 0x65, 0x2b, 0xa1, 0xb8, - 0xb5, 0x78, 0x26, 0x27, 0x15, 0x8a, 0x50, 0x62, 0x22, 0x5c, 0x24, 0xaf, 0x28, 0x89, 0x10, 0x2a, - 0x4f, 0x9d, 0x7b, 0xc8, 0x7e, 0x3e, 0x22, 0xbf, 0xa3, 0xc1, 0x58, 0xa8, 0x0c, 0x95, 0xe4, 0x63, - 0x46, 0x2a, 0xe4, 0xe5, 0xbc, 0x64, 0x28, 0xc4, 0x05, 0x26, 0xc4, 0x19, 0x72, 0x2a, 0xbf, 0x10, - 0x0e, 0xf9, 0xb2, 0x06, 0x23, 0x81, 0xba, 0x4b, 0x72, 0xaa, 0xfb, 0xb6, 0x11, 0x2b, 0xec, 0x2c, - 0x9e, 0xce, 0x47, 0x84, 0x7c, 0x9f, 0x60, 0x7c, 0xbf, 0x48, 0x8e, 0x65, 0xf1, 0xed, 0xb4, 0x6c, - 0x77, 0x0e, 0xcf, 0x27, 0xe4, 0x37, 0x35, 0x00, 0x1f, 0x89, 0xcc, 0xe7, 0x18, 0x56, 0xb0, 0x7a, - 0x2a, 0x17, 0x0d, 0x72, 0x7a, 0x91, 0x71, 0xfa, 0x32, 0x39, 0xad, 0xca, 0x69, 0x68, 0x0d, 0x7f, - 0x45, 0x83, 0xb1, 0x50, 0x65, 0xa6, 0x82, 0x81, 0x24, 0x95, 0x86, 0x2a, 0x18, 0x48, 0x62, 0x01, - 0xa8, 0xda, 0x76, 0xce, 0xd8, 0xb7, 0x05, 0x6d, 0x48, 0x80, 0xbf, 0xd4, 0x60, 0x22, 0x5a, 0xcf, - 0xa2, 0xb0, 0x6d, 0xa4, 0x54, 0x37, 0x2a, 0x6c, 0x1b, 0x69, 0x85, 0x78, 0xfa, 0x4d, 0x26, 0xc9, - 0x75, 0x72, 0x4d, 0x4d, 0x92, 0x90, 0x1e, 0xe6, 0x1e, 0x86, 0x8e, 0xaa, 0x8f, 0xc8, 0x77, 0xbc, - 0x18, 0x32, 0x56, 0xef, 0xa9, 0x12, 0x43, 0xa6, 0xd5, 0xaa, 0xaa, 0xc4, 0x90, 0xa9, 0x05, 0xa6, - 0xfa, 0x3d, 0x26, 0xdc, 0x2a, 0x59, 0x51, 0x14, 0xae, 0xbc, 0xbe, 0x8d, 0x09, 0xe6, 0x99, 0x62, - 0xfe, 0xbe, 0x06, 0x13, 0xd1, 0x7f, 0xc5, 0x46, 0x41, 0x7b, 0x29, 0xff, 0xb6, 0x4e, 0xf1, 0x7c, - 0x0f, 0x94, 0x28, 0xe0, 0x2b, 0x4c, 0xc0, 0xd3, 0x64, 0x3e, 0x4b, 0x40, 0xa1, 0xb8, 0x88, 0x14, - 0xdf, 0xd5, 0xe0, 0x80, 0x6f, 0x16, 0x6b, 0x6d, 0xb3, 0xe9, 0x58, 0xb4, 0xf9, 0xa9, 0x1a, 0xa3, - 0xba, 0xbe, 0x5c, 0xc1, 0x6e, 0x59, 0xc1, 0x2c, 0xff, 0x0a, 0xcd, 0x32, 0x5c, 0x73, 0xa8, 0x68, - 0x96, 0x89, 0xe5, 0x8e, 0x8a, 0x66, 0x99, 0x5c, 0xe4, 0xa8, 0x16, 0x7c, 0x72, 0xe7, 0x27, 0x6a, - 0x21, 0xcb, 0x66, 0xb3, 0x5a, 0x76, 0xed, 0xf5, 0x90, 0x17, 0xf9, 0x37, 0x0d, 0x66, 0xd2, 0x2a, - 0x2a, 0xc9, 0x55, 0x85, 0xbd, 0x2f, 0xb3, 0xa4, 0xb3, 0xb8, 0xf0, 0x04, 0x08, 0x28, 0xe9, 0x2d, - 0x26, 0xe9, 0x12, 0x59, 0xcc, 0x92, 0xd4, 0xbf, 0xda, 0xef, 0x22, 0xef, 0x5f, 0x6b, 0x30, 0x99, - 0x50, 0xc6, 0x48, 0x2e, 0xe4, 0x60, 0x34, 0xb6, 0x05, 0x5c, 0xec, 0x8d, 0x18, 0x05, 0x5c, 0x64, - 0x02, 0x5e, 0x26, 0x17, 0x15, 0x05, 0x4c, 0xde, 0x0e, 0xfe, 0x55, 0x83, 0xe9, 0xe4, 0xe2, 0x1d, - 0x85, 0x98, 0x34, 0xb3, 0xc6, 0x4b, 0x21, 0x26, 0xcd, 0xae, 0x1a, 0xd2, 0x5f, 0x67, 0x12, 0xde, - 0x24, 0xcb, 0x79, 0x24, 0xcc, 0x5e, 0x8f, 0xff, 0x15, 0xb2, 0xdb, 0xc8, 0x66, 0x71, 0x35, 0xaf, - 0x3e, 0x62, 0x5b, 0xc6, 0xc2, 0x13, 0x20, 0xa0, 0xd0, 0x3f, 0xc0, 0x84, 0xbe, 0x47, 0xee, 0xe6, - 0x12, 0x5a, 0x71, 0xfb, 0xf8, 0x1f, 0x0d, 0x0e, 0x45, 0x27, 0x3d, 0xea, 0x7e, 0x3f, 0x75, 0xb5, - 0xe7, 0x9d, 0x81, 0x5c, 0x0e, 0xf9, 0xf7, 0x34, 0xd8, 0x1b, 0xab, 0x12, 0x51, 0xb8, 0x9a, 0x49, - 0x2b, 0xb0, 0x52, 0xb8, 0x9a, 0x49, 0x2d, 0x4a, 0xd1, 0x5f, 0x66, 0x92, 0x9e, 0x20, 0xb3, 0xaa, - 0x3e, 0x0a, 0xd9, 0xfd, 0xa6, 0x06, 0x13, 0xb1, 0xaa, 0xa2, 0x73, 0xb9, 0x19, 0x51, 0xdf, 0x36, - 0xd3, 0x8a, 0x55, 0xd4, 0xce, 0x5c, 0x71, 0x09, 0x42, 0x2e, 0xe8, 0xbb, 0x1a, 0xec, 0x4f, 0x29, - 0x2f, 0x21, 0x57, 0x72, 0xb3, 0x16, 0x2e, 0x6e, 0x29, 0x5e, 0xed, 0x1d, 0x00, 0x45, 0x5c, 0x66, - 0x22, 0x5e, 0x23, 0x0b, 0xb9, 0x44, 0x14, 0x4f, 0xbe, 0x21, 0x49, 0xff, 0x4c, 0x83, 0xa9, 0xa4, - 0x74, 0x5f, 0x72, 0x31, 0x47, 0x1c, 0x16, 0x2b, 0x8c, 0x29, 0x5e, 0xea, 0x91, 0x3a, 0xcf, 0x81, - 0x48, 0x36, 0x44, 0x17, 0xd4, 0x6f, 0x68, 0x30, 0x29, 0x6e, 0xec, 0x02, 0x49, 0xc7, 0x0a, 0x67, - 0xcf, 0x78, 0xf6, 0xb2, 0xc2, 0xd9, 0x33, 0x21, 0xaf, 0x59, 0xed, 0xec, 0xd9, 0x60, 0x84, 0x65, - 0x96, 0x4a, 0x4c, 0x7e, 0x59, 0x83, 0x61, 0x99, 0xac, 0x4c, 0x4e, 0x76, 0x1d, 0x35, 0x9a, 0xf1, - 0x5c, 0x9c, 0xcf, 0x43, 0x82, 0x6c, 0x1e, 0x67, 0x6c, 0x3e, 0x4f, 0x8e, 0x66, 0xb1, 0xd9, 0x92, - 0x5c, 0xfd, 0xa9, 0x06, 0x93, 0x09, 0x05, 0x35, 0x24, 0xcf, 0xd5, 0x76, 0x8c, 0xef, 0x8b, 0xbd, - 0x11, 0xe7, 0xb9, 0xe8, 0x93, 0x12, 0xc4, 0x4c, 0xe5, 0xdf, 0x35, 0x28, 0xa6, 0x97, 0xec, 0x90, - 0x52, 0x0f, 0xbc, 0x45, 0xea, 0xa2, 0x8a, 0xd7, 0x9e, 0x08, 0x23, 0xcf, 0x8a, 0x4f, 0x15, 0x33, - 0xb4, 0xe2, 0x7f, 0xb6, 0x00, 0xcf, 0x2a, 0x54, 0xc4, 0x90, 0x9b, 0x39, 0xf8, 0xee, 0x56, 0x1c, - 0x56, 0xbc, 0xb5, 0x33, 0x60, 0x38, 0x1b, 0x77, 0xd9, 0x6c, 0xac, 0x90, 0x9b, 0x99, 0xee, 0x41, - 0x56, 0x15, 0xa9, 0xcd, 0xcb, 0xdf, 0x68, 0x30, 0x99, 0x50, 0x23, 0xa3, 0x60, 0xdc, 0xe9, 0x05, - 0x3e, 0x0a, 0xc6, 0x9d, 0x51, 0xdd, 0xa3, 0x5f, 0x67, 0x72, 0x5e, 0x21, 0x97, 0x32, 0xb5, 0x2e, - 0x2b, 0x6e, 0x03, 0x35, 0xc8, 0x21, 0xc9, 0xbe, 0xad, 0xc1, 0xfe, 0x94, 0x32, 0x1a, 0x85, 0xdd, - 0x2c, 0xbb, 0x1e, 0x48, 0x61, 0x37, 0xeb, 0x52, 0x0c, 0xa4, 0x7a, 0x49, 0xea, 0x81, 0xa4, 0x8a, - 0xf8, 0x91, 0x06, 0xd3, 0xc9, 0xf5, 0x36, 0x0a, 0xc1, 0x63, 0x66, 0xd9, 0x90, 0x42, 0xf0, 0x98, - 0x5d, 0x33, 0xa4, 0xdf, 0x60, 0xf2, 0x95, 0xc8, 0xd5, 0x5c, 0x5a, 0xc4, 0xb2, 0xed, 0x98, 0x22, - 0x53, 0x0a, 0x85, 0x14, 0x14, 0x99, 0x5d, 0x56, 0xa9, 0xa0, 0xc8, 0x2e, 0x35, 0x4a, 0x6a, 0x8a, - 0xe4, 0x2f, 0xfe, 0x22, 0x7f, 0x26, 0xe9, 0x36, 0x69, 0x6f, 0xbc, 0x68, 0x41, 0xf1, 0x16, 0x25, - 0xa1, 0x02, 0x47, 0x21, 0x18, 0x4e, 0x2d, 0xa4, 0xd1, 0xcf, 0x32, 0x81, 0x4e, 0x92, 0xb9, 0x2c, - 0x81, 0x12, 0xaa, 0x15, 0xc8, 0x9f, 0x6b, 0x30, 0x73, 0xc7, 0xaf, 0x7f, 0xf8, 0x4c, 0x08, 0xa3, - 0xf4, 0x84, 0x1c, 0xac, 0x0c, 0x89, 0x0a, 0xf5, 0x4d, 0x91, 0xc9, 0x16, 0xae, 0xa1, 0x51, 0x70, - 0x90, 0xe9, 0x95, 0x41, 0x0a, 0x0e, 0x32, 0xa3, 0x64, 0x48, 0x3f, 0xcf, 0x64, 0x3a, 0x45, 0x4e, - 0x2a, 0x2b, 0x48, 0x94, 0xb7, 0x90, 0x0f, 0x35, 0x98, 0x4e, 0x2e, 0x62, 0x50, 0xf0, 0x18, 0x99, - 0xe5, 0x13, 0x0a, 0x1e, 0x23, 0xbb, 0x7a, 0x42, 0x7f, 0x95, 0x89, 0xb5, 0x40, 0xae, 0x64, 0x89, - 0x15, 0xaa, 0x29, 0x08, 0x56, 0x53, 0x04, 0x1e, 0x64, 0x3d, 0x95, 0x25, 0x94, 0x10, 0x28, 0xa8, - 0x2c, 0xbd, 0xe8, 0x41, 0x41, 0x65, 0x19, 0xd5, 0x10, 0x6a, 0x2a, 0x4b, 0xac, 0x97, 0x20, 0x1f, - 0x68, 0xb0, 0x37, 0x96, 0xc1, 0xae, 0xb0, 0x9c, 0xd2, 0x6a, 0x22, 0x14, 0x96, 0x53, 0x6a, 0xc2, - 0xbc, 0xda, 0x5d, 0x57, 0x3c, 0xa5, 0x7e, 0xee, 0x61, 0xa0, 0x0a, 0xe3, 0x11, 0xf9, 0x7b, 0x0d, - 0xf6, 0xa7, 0xe4, 0x6c, 0x2b, 0x78, 0xf4, 0xec, 0x84, 0x7a, 0x05, 0x8f, 0xde, 0x25, 0x5d, 0x5c, - 0xcd, 0x67, 0x88, 0x7f, 0xd4, 0x3a, 0x21, 0xa3, 0x9c, 0xfc, 0x83, 0x06, 0x07, 0x52, 0xf3, 0xb2, - 0xc9, 0x42, 0x1e, 0x4b, 0x4a, 0xcc, 0x1b, 0x2f, 0x96, 0x9e, 0x04, 0x22, 0xcf, 0x03, 0x67, 0xc8, - 0x24, 0x59, 0x6d, 0x93, 0x77, 0x6e, 0x73, 0xc8, 0xaf, 0x69, 0xb0, 0x27, 0x9c, 0xef, 0x9d, 0x7d, - 0x78, 0x4b, 0xcc, 0x1a, 0xcf, 0x3e, 0xbc, 0x25, 0xa7, 0x93, 0xeb, 0xa7, 0x19, 0xdb, 0xb3, 0xe4, - 0xa5, 0xcc, 0x33, 0xa6, 0xe5, 0xda, 0x65, 0x9e, 0xa8, 0x6d, 0x31, 0xe6, 0xbe, 0xa5, 0x61, 0x65, - 0x6c, 0x2c, 0x11, 0x5b, 0x61, 0x25, 0xa5, 0x65, 0x83, 0x2b, 0xac, 0xa4, 0xd4, 0xbc, 0x6f, 0xb5, - 0xb3, 0x0d, 0x17, 0x41, 0xc6, 0x42, 0x73, 0x0f, 0x13, 0x92, 0xcf, 0x59, 0x0c, 0x3f, 0x9d, 0x9c, - 0xde, 0xad, 0xe0, 0xd4, 0x33, 0x53, 0xcb, 0x15, 0x9c, 0x7a, 0x76, 0x5e, 0xb9, 0xda, 0x9d, 0xc6, - 0xa6, 0xc4, 0x28, 0x87, 0x92, 0xd0, 0xd9, 0xe9, 0x24, 0xa1, 0xd2, 0x50, 0xc1, 0x93, 0xa7, 0x17, - 0x37, 0x2a, 0x78, 0xf2, 0x8c, 0xe2, 0x46, 0xb5, 0xd3, 0x49, 0xb0, 0xfc, 0xb1, 0x6c, 0x6f, 0xe0, - 0x36, 0xec, 0x04, 0xf6, 0xa8, 0x7f, 0xd4, 0xe0, 0x40, 0x6a, 0x51, 0xa3, 0x82, 0x8b, 0xe8, 0x56, - 0x39, 0xa9, 0xe0, 0x22, 0xba, 0xd6, 0x54, 0xea, 0x0b, 0x4c, 0xd6, 0x0b, 0xe4, 0x7c, 0x66, 0x68, - 0x9b, 0x20, 0x68, 0x59, 0x96, 0x7b, 0x7f, 0x43, 0x83, 0x89, 0x68, 0x9a, 0xba, 0xc2, 0x0d, 0x69, - 0x4a, 0xf2, 0x7d, 0xf1, 0x7c, 0x0f, 0x94, 0x79, 0x84, 0xf1, 0xff, 0xc5, 0x7b, 0x24, 0x0f, 0x9d, - 0x44, 0xbe, 0xa6, 0xc1, 0x54, 0x42, 0xaa, 0xb7, 0x4a, 0x6e, 0x4a, 0x52, 0x6a, 0xba, 0x42, 0xea, - 0x41, 0x62, 0x72, 0xba, 0xda, 0x93, 0xef, 0x3a, 0x23, 0x15, 0x05, 0x08, 0xf2, 0xca, 0xfa, 0xe7, - 0x0b, 0x70, 0xa4, 0x6b, 0x6a, 0x31, 0x59, 0xce, 0xfd, 0x76, 0x90, 0x96, 0xcd, 0x5e, 0x7c, 0x6d, - 0x27, 0xa0, 0x50, 0xf0, 0x1f, 0x62, 0x82, 0xbf, 0x49, 0xee, 0xe5, 0x7b, 0x88, 0xaa, 0xf8, 0x80, - 0x99, 0x6f, 0x12, 0xff, 0xad, 0x81, 0xde, 0x3d, 0x3b, 0x99, 0xbc, 0xa6, 0x68, 0x84, 0x0a, 0x29, - 0xd3, 0xc5, 0x9b, 0x3b, 0x82, 0x95, 0x27, 0x70, 0x31, 0x19, 0x12, 0x7f, 0xa2, 0x29, 0x7b, 0xfb, - 0xbb, 0x9f, 0x1f, 0x5d, 0xda, 0xfc, 0xfa, 0x87, 0x07, 0xb5, 0x0f, 0x3e, 0x3c, 0xa8, 0x7d, 0xfb, - 0xc3, 0x83, 0xda, 0x4f, 0x7f, 0x74, 0x70, 0xd7, 0x07, 0x1f, 0x1d, 0xdc, 0xf5, 0xb7, 0x1f, 0x1d, - 0xdc, 0xf5, 0xf6, 0xed, 0x40, 0xb6, 0xf5, 0xb2, 0x00, 0xbf, 0x65, 0xae, 0x3b, 0xfe, 0x50, 0xc7, - 0x2b, 0x76, 0x9b, 0x06, 0x7f, 0x6e, 0x9a, 0x56, 0x13, 0xaf, 0x7b, 0x1d, 0x9f, 0x0f, 0x96, 0x99, - 0xbd, 0x3e, 0xc8, 0xfe, 0x27, 0x46, 0xa7, 0xfe, 0x37, 0x00, 0x00, 0xff, 0xff, 0x1d, 0xc3, 0x67, - 0x6c, 0xba, 0x69, 0x00, 0x00, + // 5562 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5d, 0x6b, 0x6c, 0x1c, 0x59, + 0x56, 0x4e, 0xb5, 0x1f, 0xb1, 0x8f, 0x9f, 0xb9, 0x76, 0x1c, 0xa7, 0x67, 0x26, 0x8f, 0x9a, 0xcd, + 0x4c, 0x26, 0x3b, 0xb1, 0x13, 0xe7, 0xfd, 0x8e, 0x1d, 0xc7, 0x13, 0x4f, 0xe2, 0xc4, 0xd3, 0x76, + 0x66, 0x98, 0x59, 0x50, 0x6f, 0xb9, 0xfb, 0xba, 0x5d, 0x33, 0xd5, 0x5d, 0x9d, 0xae, 0x6a, 0x4f, + 0xac, 0x10, 0xc4, 0x43, 0x68, 0x11, 0x48, 0xbb, 0x48, 0x0b, 0x48, 0x48, 0x08, 0x01, 0xe2, 0xd7, + 0x4a, 0x2b, 0x24, 0xf8, 0xc1, 0x88, 0x15, 0xbb, 0x2c, 0x0b, 0x68, 0xb5, 0xcb, 0x63, 0x80, 0xe5, + 0x29, 0x31, 0xac, 0x66, 0x16, 0x56, 0x8c, 0x16, 0x09, 0xf1, 0x03, 0x09, 0x09, 0x01, 0xaa, 0x7b, + 0xcf, 0xbd, 0x5d, 0xef, 0xbe, 0xd5, 0x76, 0x34, 0x03, 0xda, 0x5f, 0xee, 0xba, 0x75, 0xef, 0xb9, + 0xe7, 0x9c, 0x7b, 0xee, 0x39, 0xe7, 0x3e, 0xbe, 0x32, 0x3c, 0x67, 0xd6, 0xde, 0xa4, 0x25, 0xd7, + 0xdc, 0xa4, 0xd3, 0xf4, 0x61, 0x69, 0xc3, 0xa8, 0x55, 0xe8, 0xf4, 0xe6, 0xc9, 0x35, 0xea, 0x1a, + 0x27, 0xa7, 0x1f, 0x34, 0x69, 0x63, 0x6b, 0xaa, 0xde, 0xb0, 0x5d, 0x9b, 0xe4, 0x65, 0xbd, 0x29, + 0x51, 0x6f, 0x0a, 0xeb, 0xe5, 0x9f, 0xae, 0xd8, 0x76, 0xc5, 0xa2, 0xd3, 0x46, 0xdd, 0x9c, 0x36, + 0x6a, 0x35, 0xdb, 0x35, 0x5c, 0xd3, 0xae, 0x39, 0xbc, 0x65, 0xfe, 0x85, 0x94, 0x1e, 0x24, 0x29, + 0x5e, 0xf5, 0x68, 0x4a, 0xd5, 0x0a, 0xad, 0x51, 0xc7, 0x14, 0x44, 0x8f, 0xb4, 0x6a, 0xda, 0x0d, + 0xa3, 0x64, 0xb5, 0xea, 0xf1, 0x47, 0xac, 0x36, 0x5e, 0xb1, 0x2b, 0x36, 0xfb, 0x39, 0xed, 0xfd, + 0xe2, 0xa5, 0xfa, 0x3d, 0x80, 0x95, 0xe6, 0x9a, 0x51, 0x2a, 0xd9, 0xcd, 0x9a, 0x4b, 0x26, 0xa0, + 0xd7, 0x6d, 0x18, 0x65, 0xda, 0x98, 0xd4, 0x0e, 0x69, 0x47, 0xfb, 0x0b, 0xf8, 0x44, 0x5e, 0x80, + 0x51, 0x47, 0xd6, 0x2a, 0xd6, 0xec, 0x5a, 0x89, 0x4e, 0xe6, 0x0e, 0x69, 0x47, 0x87, 0x0a, 0x23, + 0xad, 0xf2, 0xbb, 0x5e, 0xb1, 0xfe, 0x69, 0x78, 0xfa, 0x15, 0x4f, 0x57, 0x2d, 0xaa, 0xf7, 0x1a, + 0x65, 0xda, 0x70, 0x0a, 0xf4, 0x41, 0x93, 0x3a, 0x2e, 0x79, 0x16, 0x86, 0x7c, 0xa4, 0xcc, 0x32, + 0xf6, 0x34, 0xd8, 0x2a, 0x5c, 0x2c, 0x93, 0xa7, 0xa0, 0xbf, 0x6a, 0x34, 0xde, 0xa2, 0xac, 0x42, + 0x8e, 0x55, 0xe8, 0xe3, 0x05, 0x8b, 0x65, 0xfd, 0xab, 0x1a, 0x3c, 0x93, 0xd0, 0x85, 0x53, 0xb7, + 0x6b, 0x0e, 0x25, 0x77, 0x01, 0xd6, 0x9a, 0x5b, 0x45, 0x9b, 0x95, 0x4e, 0x6a, 0x87, 0xba, 0x8e, + 0x0e, 0xcc, 0x4c, 0x4f, 0x25, 0x8f, 0xda, 0x54, 0x88, 0xd2, 0xbc, 0xe1, 0x1a, 0x85, 0xfe, 0xb5, + 0xe6, 0x16, 0xa7, 0x4b, 0x96, 0x61, 0xc0, 0xa1, 0x96, 0x25, 0x08, 0xe6, 0x3a, 0x23, 0x08, 0x1e, + 0x0d, 0x4e, 0x51, 0xff, 0x0d, 0x0d, 0x8e, 0x84, 0xea, 0xac, 0xd9, 0xf6, 0x5b, 0x4b, 0xd4, 0x35, + 0xca, 0x86, 0x6b, 0xbc, 0x66, 0xba, 0x1b, 0x4b, 0x4c, 0x5e, 0xb2, 0x02, 0x7d, 0x55, 0x2c, 0x65, + 0xaa, 0x1a, 0x98, 0x39, 0x97, 0xa1, 0x63, 0x3f, 0xd1, 0x82, 0x24, 0x94, 0xaa, 0x5f, 0x32, 0x0e, + 0x3d, 0xa6, 0x33, 0xd7, 0xdc, 0x9a, 0xec, 0x3a, 0xa4, 0x1d, 0xed, 0x2b, 0xf0, 0x07, 0xfd, 0x69, + 0xc8, 0x33, 0xa5, 0xdf, 0xc4, 0x1e, 0x97, 0x8d, 0x86, 0x51, 0x15, 0xa3, 0xaa, 0x17, 0xe1, 0xa9, + 0xd8, 0xb7, 0x38, 0x20, 0xd7, 0xa1, 0xb7, 0xce, 0x4a, 0x50, 0x04, 0x3d, 0x4d, 0x04, 0xde, 0x76, + 0xae, 0xfb, 0xeb, 0xef, 0x1d, 0xdc, 0x55, 0xc0, 0x76, 0xfa, 0xe7, 0x35, 0x38, 0x10, 0x1a, 0xf4, + 0x79, 0x5a, 0xb7, 0x1d, 0xd3, 0xcd, 0x66, 0x59, 0x77, 0x00, 0x5a, 0xcf, 0x4c, 0xf4, 0x81, 0x99, + 0xe7, 0xd4, 0x14, 0xca, 0x38, 0xd2, 0x0a, 0xbe, 0xf6, 0xfa, 0x87, 0x1a, 0x1c, 0x4c, 0xe4, 0x0a, + 0x65, 0xa7, 0xd0, 0x57, 0xc6, 0x32, 0x34, 0xc5, 0xc5, 0xb4, 0xfe, 0xda, 0x90, 0x9b, 0x12, 0x05, + 0x37, 0x6b, 0x6e, 0x63, 0xab, 0x20, 0x49, 0xe7, 0x3f, 0x0d, 0x43, 0x81, 0x57, 0x64, 0x14, 0xba, + 0xde, 0xa2, 0x5b, 0xa8, 0x04, 0xef, 0x27, 0xb9, 0x00, 0x3d, 0x9b, 0x86, 0xd5, 0xa4, 0x28, 0xf6, + 0xb3, 0x69, 0x6c, 0x20, 0xad, 0x02, 0x6f, 0x71, 0x31, 0x77, 0x5e, 0xd3, 0x0f, 0xe0, 0xcc, 0x16, + 0x63, 0x3c, 0x67, 0x58, 0x46, 0xad, 0x44, 0xa5, 0x0d, 0xac, 0xe3, 0xb4, 0x8c, 0xbe, 0x47, 0x4d, + 0xdc, 0x84, 0xbe, 0x35, 0x2c, 0x43, 0x4d, 0xa4, 0xb2, 0x80, 0xed, 0xd1, 0x10, 0x64, 0x53, 0xfd, + 0x1c, 0xda, 0xda, 0x6c, 0xa5, 0xd2, 0xa0, 0x15, 0xc3, 0xa5, 0xaf, 0xda, 0x56, 0xb3, 0x4a, 0x85, + 0x19, 0x4c, 0xc2, 0x6e, 0x31, 0xbc, 0x5c, 0x76, 0xf1, 0xa8, 0x37, 0x51, 0x80, 0x48, 0x43, 0xe4, + 0xef, 0x3e, 0xec, 0x31, 0xc4, 0xab, 0xe2, 0x26, 0x7b, 0x27, 0x18, 0x3d, 0x9a, 0xc6, 0x28, 0x9f, + 0xa9, 0x48, 0x6c, 0xd4, 0x08, 0x52, 0x77, 0xf4, 0xd7, 0xe3, 0xbb, 0x95, 0x76, 0x9b, 0x87, 0x3e, + 0xe4, 0x90, 0xf7, 0xd6, 0x5f, 0x90, 0xcf, 0xe4, 0x19, 0x00, 0x39, 0x51, 0xb9, 0xe3, 0xe9, 0x2f, + 0xf4, 0x8b, 0x99, 0xea, 0xe8, 0xff, 0x29, 0x5c, 0x61, 0x94, 0x36, 0xca, 0xe4, 0xc2, 0xfe, 0x96, + 0x4c, 0x62, 0x6e, 0x04, 0x65, 0x3b, 0x9f, 0x26, 0x9b, 0x24, 0x3c, 0xcb, 0xdb, 0x0a, 0x95, 0x95, + 0xec, 0x46, 0xb9, 0xb0, 0xcf, 0x88, 0x7d, 0xeb, 0x90, 0x35, 0x98, 0x6c, 0xf5, 0x8a, 0x02, 0x88, + 0x4e, 0x73, 0x19, 0x15, 0x3a, 0x21, 0x29, 0xf9, 0x8b, 0x1d, 0xfd, 0x3a, 0x1c, 0x0e, 0x8a, 0x1e, + 0x68, 0x85, 0xba, 0x0d, 0x38, 0x3a, 0x2d, 0x14, 0x48, 0x2c, 0xd0, 0xd3, 0x28, 0xa0, 0x06, 0x17, + 0xa0, 0x97, 0xb3, 0x8e, 0xbe, 0x2b, 0x95, 0x73, 0xbf, 0x7a, 0x84, 0x07, 0xe3, 0xad, 0xf5, 0x13, + 0x30, 0xc9, 0x7a, 0x9b, 0xa7, 0x35, 0xbb, 0x3a, 0x4f, 0x4b, 0x66, 0xd5, 0xb0, 0x04, 0x9b, 0xe3, + 0xd0, 0x53, 0xf6, 0x8a, 0x91, 0x45, 0xfe, 0xa0, 0x9f, 0x81, 0xfd, 0x31, 0x2d, 0x90, 0xad, 0x49, + 0xd8, 0x5d, 0xe6, 0x45, 0xac, 0x51, 0x77, 0x41, 0x3c, 0xea, 0xa7, 0x62, 0x9a, 0x49, 0x63, 0x9b, + 0x80, 0x5e, 0x46, 0x5c, 0x98, 0x1a, 0x3e, 0xe9, 0x2e, 0xba, 0xf7, 0x50, 0x23, 0xec, 0xec, 0x55, + 0x18, 0x66, 0xf5, 0x8a, 0xd8, 0x87, 0x30, 0x9d, 0x17, 0xd2, 0x5d, 0x88, 0x8f, 0x14, 0x2a, 0x63, + 0xa8, 0xec, 0x2f, 0xd4, 0x6f, 0xa4, 0x8d, 0x80, 0xe4, 0x39, 0x38, 0x09, 0xb4, 0xf0, 0x24, 0x30, + 0xe1, 0xd9, 0x54, 0x22, 0x28, 0xc3, 0x1c, 0xec, 0xee, 0x74, 0x4e, 0x8b, 0x86, 0xfa, 0x1b, 0x91, + 0xcc, 0x43, 0xf8, 0xc9, 0x2c, 0x31, 0x48, 0x8e, 0x76, 0xce, 0x3f, 0xda, 0x46, 0x52, 0x80, 0x93, + 0x12, 0x5c, 0x0b, 0x44, 0x12, 0x65, 0x17, 0x2e, 0x1b, 0xe9, 0xcb, 0xb0, 0x8f, 0x77, 0x51, 0xb7, + 0x5d, 0x2e, 0xa0, 0xdf, 0x2e, 0x1c, 0xd7, 0x70, 0x9b, 0x8e, 0xc8, 0xfc, 0xf8, 0x53, 0x3b, 0x07, + 0xf4, 0x83, 0x68, 0xd4, 0x01, 0x8a, 0x32, 0xe8, 0xef, 0xe6, 0x15, 0x85, 0xc2, 0xd3, 0xe3, 0xac, + 0xa4, 0x50, 0x10, 0xcd, 0xf4, 0x33, 0x30, 0x11, 0xa2, 0xae, 0x34, 0xaf, 0x5f, 0x8f, 0x88, 0x29, + 0x79, 0xba, 0x0a, 0xbd, 0xbc, 0x1a, 0x2a, 0x50, 0x95, 0x25, 0x6c, 0xa5, 0x7f, 0x2f, 0x87, 0x93, + 0xcb, 0x7b, 0x27, 0x33, 0x2c, 0x15, 0xae, 0xbc, 0x51, 0xb7, 0xcc, 0xaa, 0xc9, 0x93, 0x8e, 0xee, + 0x02, 0x7f, 0x20, 0xf3, 0x00, 0x2c, 0xab, 0x2c, 0x3a, 0x66, 0x99, 0xb2, 0x8c, 0x6b, 0x78, 0xe6, + 0x48, 0x1a, 0x53, 0xac, 0xd3, 0x15, 0xb3, 0x4c, 0x0b, 0xfd, 0xb6, 0xf8, 0x49, 0xde, 0x84, 0xfd, + 0x8c, 0x5c, 0xb1, 0xd4, 0xac, 0x36, 0x2d, 0xc3, 0x6b, 0x59, 0xac, 0xd9, 0xde, 0xca, 0xc3, 0xb0, + 0x26, 0xbb, 0x3d, 0x46, 0xe6, 0xa6, 0xbc, 0xe4, 0xe5, 0xef, 0xdf, 0x3b, 0xf8, 0x5c, 0xc5, 0x74, + 0x37, 0x9a, 0x6b, 0x53, 0x25, 0xbb, 0x3a, 0x5d, 0xb2, 0x9d, 0xaa, 0xed, 0xe0, 0x9f, 0xe3, 0x4e, + 0xf9, 0xad, 0x69, 0x77, 0xab, 0x4e, 0x9d, 0xa9, 0x79, 0x5a, 0x2a, 0xec, 0x63, 0x04, 0x6f, 0x48, + 0x7a, 0x77, 0x91, 0x5c, 0x6c, 0x5f, 0x0f, 0x9a, 0x46, 0xcd, 0x35, 0xdd, 0xad, 0xc9, 0x9e, 0x1d, + 0xe9, 0xeb, 0x15, 0x24, 0xa7, 0xbf, 0xa3, 0xa1, 0x5b, 0x0a, 0xa9, 0x1b, 0x47, 0xf3, 0x36, 0x8c, + 0xae, 0x35, 0xb7, 0x9c, 0x62, 0xbd, 0x61, 0x96, 0x68, 0xd1, 0xa2, 0x9b, 0xd4, 0x42, 0x53, 0x3b, + 0x9c, 0xa6, 0xc2, 0x3b, 0x5e, 0xc5, 0xc2, 0xb0, 0xd7, 0x74, 0xd9, 0x6b, 0xc9, 0x9e, 0xc9, 0x12, + 0xec, 0xf1, 0x12, 0xf4, 0x20, 0xb5, 0x9c, 0x2a, 0xb5, 0x11, 0xd6, 0xb6, 0x45, 0x4e, 0xff, 0xa2, + 0x06, 0xc3, 0x0b, 0x4d, 0xcb, 0x6a, 0x19, 0xd1, 0x76, 0x8d, 0x8f, 0x7c, 0x0a, 0xf6, 0x54, 0xcd, + 0x32, 0xf2, 0x67, 0xd4, 0xca, 0x45, 0xd7, 0x5e, 0xc3, 0x5c, 0xee, 0x58, 0xaa, 0x2f, 0x33, 0xcb, + 0x8c, 0xb1, 0xd9, 0x5a, 0x79, 0xf5, 0xde, 0x1c, 0xa6, 0xb1, 0xc3, 0x55, 0x5f, 0xa9, 0xbd, 0xa6, + 0xff, 0x94, 0x86, 0x69, 0x55, 0x90, 0xe9, 0x6d, 0x3a, 0x08, 0x32, 0x03, 0x13, 0x6f, 0x9b, 0xee, + 0x46, 0x31, 0xca, 0x38, 0x5f, 0x5d, 0x10, 0xef, 0xed, 0x52, 0x90, 0x95, 0x32, 0x26, 0x4c, 0x11, + 0x4e, 0x70, 0xd8, 0xe7, 0xc3, 0x8e, 0x25, 0x55, 0xfa, 0x20, 0x95, 0x96, 0x73, 0xa9, 0xa2, 0x69, + 0x85, 0xde, 0xab, 0x4c, 0xe5, 0x64, 0xa1, 0x72, 0x89, 0x42, 0x19, 0xb1, 0xea, 0xf5, 0x45, 0xa7, + 0xa0, 0x6d, 0x64, 0x11, 0x49, 0x38, 0xa7, 0x9f, 0x94, 0x6b, 0x24, 0x31, 0x5b, 0x9c, 0xb9, 0xad, + 0x5b, 0x86, 0xb3, 0xd1, 0x0a, 0xa5, 0xa9, 0x62, 0x45, 0x82, 0x57, 0x2e, 0x26, 0x78, 0x1d, 0x86, + 0x41, 0xee, 0xb0, 0x36, 0x18, 0xe1, 0xc9, 0x2e, 0x36, 0xe2, 0x03, 0xac, 0x8c, 0xf7, 0xa5, 0x5b, + 0x62, 0x51, 0x14, 0xc3, 0x06, 0x8a, 0xbb, 0x08, 0xbd, 0x81, 0xd5, 0xf9, 0xc9, 0x34, 0x71, 0x57, + 0x1b, 0x66, 0xb5, 0x4a, 0xcb, 0x1e, 0xb9, 0x3b, 0x9e, 0xa3, 0x60, 0x34, 0x0b, 0x48, 0x40, 0x6e, + 0x38, 0xac, 0xb2, 0xad, 0x8a, 0x56, 0x9f, 0x3b, 0x26, 0xb2, 0x6e, 0xc1, 0x27, 0x78, 0x82, 0xc1, + 0x4b, 0x66, 0xcb, 0xe5, 0x06, 0x75, 0x9c, 0x8c, 0x3d, 0x3d, 0x0f, 0x23, 0xa2, 0x1b, 0x83, 0x13, + 0xc0, 0xbe, 0x86, 0x8d, 0x00, 0x59, 0xfd, 0x0b, 0x39, 0xd8, 0x1b, 0x2b, 0x31, 0x99, 0x87, 0x1e, + 0x66, 0x6d, 0x9c, 0x36, 0xf3, 0xb2, 0xbb, 0x32, 0x78, 0x59, 0xde, 0x98, 0xbc, 0x0c, 0x7d, 0xd2, + 0x5d, 0xe7, 0x3a, 0x22, 0x24, 0xdb, 0x7b, 0xb4, 0xd6, 0x4d, 0xcb, 0x32, 0xd6, 0x2c, 0x1e, 0xbb, + 0x3a, 0xa0, 0x25, 0xda, 0xb7, 0xb6, 0x1d, 0xba, 0x7d, 0xdb, 0x0e, 0x9e, 0x7b, 0x69, 0x99, 0x1b, + 0x0f, 0x2f, 0x18, 0xf8, 0x3c, 0x8b, 0xd2, 0xdf, 0xc4, 0x84, 0x2c, 0x3a, 0xf8, 0x3b, 0x6f, 0x68, + 0x0d, 0x38, 0xd2, 0xc6, 0x0c, 0x76, 0xbe, 0xcf, 0x2b, 0xbe, 0x19, 0x1d, 0x74, 0xe3, 0x4a, 0x99, + 0xd0, 0x2f, 0xe5, 0x7c, 0x53, 0x31, 0xdc, 0x5e, 0x06, 0xd1, 0x7e, 0xe9, 0xc7, 0x7c, 0x96, 0x95, + 0x25, 0x7e, 0xf7, 0x89, 0x58, 0x42, 0x56, 0x61, 0x78, 0x8d, 0x3a, 0x6e, 0x71, 0xad, 0xb9, 0x85, + 0x14, 0x73, 0x1d, 0x51, 0x1c, 0xf4, 0xa8, 0xcc, 0x35, 0xb7, 0x38, 0xd5, 0x57, 0x61, 0x84, 0x51, + 0x65, 0x9b, 0x70, 0x9c, 0x6c, 0x57, 0x47, 0x64, 0x87, 0x3c, 0x32, 0x2b, 0xd4, 0xb2, 0x18, 0x5d, + 0xfd, 0x06, 0x4e, 0xec, 0x79, 0xda, 0x30, 0x37, 0x59, 0xe6, 0xd1, 0x81, 0x8e, 0x7f, 0x2d, 0x87, + 0x76, 0x91, 0x4c, 0xe5, 0xfb, 0x9a, 0xfe, 0x3d, 0xb1, 0x51, 0xd6, 0x52, 0xd2, 0x4e, 0x64, 0xcf, + 0xa9, 0x79, 0x6f, 0xd7, 0x8e, 0xe6, 0xbd, 0xfa, 0x97, 0x35, 0x38, 0x94, 0x2c, 0xc2, 0xff, 0x81, + 0x8c, 0xf4, 0x77, 0xbb, 0x60, 0x2a, 0xd6, 0x59, 0xae, 0xda, 0x37, 0x8c, 0x5a, 0x89, 0x5a, 0xf7, + 0xeb, 0xab, 0xf6, 0x6c, 0xd5, 0xf3, 0x6d, 0x3b, 0x97, 0x2e, 0xdc, 0x83, 0x81, 0x35, 0xc3, 0xa1, + 0x45, 0x83, 0xd1, 0xed, 0x30, 0x48, 0x80, 0x47, 0x82, 0x73, 0x46, 0x5e, 0x81, 0xc1, 0x07, 0x4d, + 0xdb, 0x95, 0x14, 0xbb, 0x3b, 0xa2, 0x38, 0xc0, 0x68, 0x20, 0xc9, 0x3b, 0xd0, 0xe7, 0xb8, 0x0d, + 0xc3, 0xa5, 0x15, 0xbe, 0x80, 0x19, 0x9e, 0x39, 0x91, 0xa6, 0x5e, 0xae, 0x2c, 0x8b, 0x1d, 0xec, + 0xac, 0x60, 0xbb, 0x82, 0xa4, 0x40, 0x5e, 0x83, 0x91, 0x06, 0x5d, 0xa7, 0x0d, 0x5a, 0x2b, 0x51, + 0x9c, 0x42, 0xbd, 0x1d, 0x59, 0xe2, 0xb0, 0x24, 0xc3, 0xe7, 0xd0, 0xbf, 0xe7, 0xe0, 0xb4, 0x6f, + 0xfc, 0x42, 0x66, 0xf8, 0x44, 0x47, 0x31, 0xac, 0xf4, 0xae, 0x9d, 0x55, 0x7a, 0xf7, 0x93, 0x50, + 0x7a, 0xcf, 0x8e, 0x28, 0x7d, 0x1d, 0x77, 0xa8, 0xe2, 0x75, 0xbe, 0x73, 0x39, 0x66, 0x03, 0x8e, + 0xc5, 0x24, 0x17, 0x1d, 0xf5, 0xa7, 0x9c, 0x69, 0xfe, 0x44, 0x17, 0x3c, 0x85, 0xe9, 0x47, 0xab, + 0xa3, 0x8f, 0x75, 0xbe, 0xb9, 0xc0, 0x56, 0x49, 0x15, 0xb3, 0xd6, 0xa1, 0x05, 0x62, 0xeb, 0x40, + 0xde, 0xda, 0xbd, 0xcd, 0xbc, 0xf5, 0xa0, 0xc8, 0x5b, 0x3d, 0x83, 0xeb, 0x9b, 0xeb, 0xff, 0xf0, + 0xbd, 0x83, 0xbc, 0x20, 0x3e, 0x85, 0xed, 0x0d, 0xa7, 0xb0, 0x9b, 0xb8, 0x7d, 0x99, 0x64, 0x61, + 0x18, 0x59, 0xee, 0x85, 0x92, 0xca, 0x73, 0x0a, 0x49, 0x65, 0xdc, 0xa8, 0xca, 0xd4, 0xf2, 0x47, + 0xe0, 0x93, 0x4a, 0x16, 0xf7, 0xa4, 0xfa, 0xff, 0x19, 0x2d, 0x92, 0x7d, 0x7d, 0x84, 0x6b, 0xd6, + 0x87, 0x91, 0x24, 0x2e, 0x61, 0xe5, 0xba, 0xe3, 0x7a, 0xf8, 0x69, 0x71, 0x86, 0xe3, 0xcb, 0x1f, + 0x3f, 0xb2, 0xad, 0x97, 0x5f, 0xd6, 0x00, 0x7c, 0x19, 0xc8, 0xc7, 0xce, 0x03, 0xe8, 0x5f, 0xd1, + 0x60, 0x7c, 0x99, 0x36, 0xea, 0xd4, 0x6d, 0x1a, 0x16, 0xd7, 0xd3, 0x8a, 0x6b, 0xb8, 0x94, 0x2c, + 0xc3, 0x80, 0x50, 0x46, 0x6d, 0xdd, 0xc6, 0x5d, 0x94, 0xd4, 0x33, 0xfa, 0x10, 0x99, 0xc5, 0xda, + 0xba, 0x5d, 0x40, 0x85, 0x7a, 0xbf, 0xc9, 0x7d, 0x18, 0x5c, 0x6f, 0xd6, 0xca, 0x66, 0xad, 0xc2, + 0x49, 0xf2, 0x9d, 0xb6, 0x99, 0x0c, 0x24, 0x17, 0x78, 0xf3, 0xc2, 0x00, 0xd2, 0xf1, 0xc8, 0xea, + 0x7f, 0xd8, 0x05, 0xe3, 0x0b, 0x4d, 0xcb, 0x0a, 0x0f, 0x37, 0x99, 0x0f, 0x6d, 0x01, 0xbd, 0x98, + 0xbe, 0xb9, 0x1f, 0x6c, 0x2d, 0x37, 0x09, 0x5f, 0x87, 0xe1, 0xba, 0xe0, 0xc2, 0xcf, 0xf7, 0x89, + 0x0c, 0x7c, 0x33, 0x8d, 0xde, 0xda, 0x55, 0x18, 0x92, 0x94, 0x98, 0x42, 0x7e, 0xc0, 0x53, 0x88, + 0xdb, 0x6c, 0x50, 0x87, 0x13, 0xee, 0x62, 0x84, 0x4f, 0xa5, 0x11, 0xbe, 0xf9, 0xb0, 0x6e, 0x36, + 0xb6, 0x16, 0x78, 0xab, 0x96, 0x9e, 0x6f, 0xed, 0xf2, 0x74, 0xc2, 0x0a, 0x19, 0xe5, 0x25, 0x6e, + 0xc9, 0x18, 0xb9, 0x3b, 0xf3, 0xc8, 0xcc, 0xf2, 0xf9, 0x2a, 0x26, 0x76, 0xa3, 0xb4, 0x67, 0x67, + 0x36, 0x4a, 0xe7, 0x7a, 0xa1, 0xdb, 0x93, 0x5e, 0xb7, 0x70, 0x69, 0x1e, 0x33, 0x6d, 0xd1, 0x55, + 0xbc, 0x1c, 0xde, 0xa7, 0x3c, 0xd1, 0x6e, 0x53, 0x2f, 0x32, 0xaa, 0x72, 0xb7, 0xf2, 0x12, 0xee, + 0x72, 0x45, 0x6a, 0xa8, 0x2c, 0x51, 0xcd, 0x04, 0x0f, 0x23, 0x39, 0xbd, 0x15, 0x32, 0xbd, 0xec, + 0x8c, 0x8a, 0x3d, 0xc8, 0x39, 0x8c, 0x66, 0xe1, 0x0a, 0x18, 0x5e, 0x94, 0xd8, 0xa5, 0xd1, 0x65, + 0x79, 0x90, 0x46, 0xeb, 0x08, 0x54, 0x24, 0x38, 0xe2, 0xa4, 0x9f, 0x3f, 0xaa, 0xa5, 0x5c, 0x2f, + 0xe1, 0x7a, 0xae, 0x75, 0xe0, 0xc6, 0x42, 0x30, 0xbb, 0xc6, 0x94, 0xe5, 0x3c, 0x4f, 0x5f, 0x88, + 0x5c, 0x02, 0x59, 0xb6, 0x1d, 0x93, 0xdd, 0xfb, 0xca, 0x44, 0xe7, 0x4d, 0x78, 0x2e, 0x81, 0xce, + 0x62, 0x2d, 0x38, 0xda, 0xdb, 0xbf, 0x44, 0xe5, 0xc0, 0x74, 0xa8, 0xaf, 0x9b, 0xeb, 0xeb, 0x7c, + 0xc4, 0x9f, 0x5c, 0xa7, 0x2f, 0xa3, 0x71, 0x84, 0x2e, 0x29, 0xc9, 0x0b, 0x4a, 0x59, 0x94, 0x55, + 0x8b, 0x8c, 0x9e, 0x4f, 0xe9, 0x72, 0x02, 0xf6, 0x78, 0xa1, 0x92, 0xe2, 0xf4, 0x9b, 0x52, 0x73, + 0xa8, 0x82, 0x0e, 0x1e, 0x59, 0x73, 0x12, 0xfa, 0x5b, 0xf0, 0x7c, 0xdb, 0xc1, 0x91, 0x07, 0x9f, + 0xb2, 0x5b, 0x6f, 0x32, 0x7d, 0x22, 0xd5, 0xf3, 0xfa, 0x3b, 0xd3, 0x44, 0x67, 0xbf, 0x9e, 0x83, + 0x3d, 0x91, 0xf1, 0x20, 0xfb, 0x60, 0xb7, 0xe9, 0x14, 0x2d, 0xbb, 0x56, 0x61, 0x94, 0xfb, 0x0a, + 0xbd, 0xa6, 0x73, 0xc7, 0xae, 0x55, 0x76, 0x34, 0xc5, 0xbe, 0x07, 0x03, 0xb4, 0xe6, 0x36, 0xb6, + 0x22, 0xbb, 0x3f, 0x99, 0x16, 0xec, 0x8c, 0x04, 0x77, 0xc6, 0xaf, 0xc3, 0x28, 0x15, 0xa2, 0x14, + 0x31, 0x7b, 0xef, 0xcc, 0xc3, 0x8f, 0x48, 0x3a, 0x4b, 0x8c, 0x8c, 0xfe, 0x18, 0x4e, 0xa8, 0x1b, + 0xb1, 0xdc, 0x9c, 0x0d, 0x0c, 0xce, 0xf1, 0xd4, 0xe8, 0x15, 0xa6, 0x16, 0x1c, 0xa5, 0xab, 0x38, + 0xef, 0xe3, 0x12, 0x09, 0x15, 0x3f, 0x57, 0x45, 0x13, 0x8e, 0x6d, 0x2f, 0xd9, 0xed, 0xde, 0x46, + 0x3e, 0x83, 0x26, 0xcc, 0x03, 0x96, 0x70, 0xcd, 0x09, 0x31, 0x59, 0x89, 0xe5, 0x26, 0xba, 0xe6, + 0x44, 0x1a, 0xc8, 0xf6, 0x52, 0x80, 0xed, 0x4e, 0x52, 0x84, 0x00, 0xeb, 0xb3, 0xb8, 0x0a, 0x4f, + 0xc8, 0xaf, 0xd4, 0x38, 0x7f, 0x36, 0x95, 0x84, 0xbc, 0x3a, 0x1a, 0x30, 0x8f, 0x0e, 0xb2, 0xbd, + 0xa0, 0xdb, 0x90, 0xab, 0x9c, 0x44, 0x9f, 0x87, 0x1d, 0x97, 0x02, 0xf7, 0x3c, 0x3d, 0x77, 0x35, + 0xdb, 0xe1, 0x3d, 0xcf, 0xd6, 0xe5, 0x51, 0x71, 0x75, 0x4e, 0x10, 0xd6, 0x2f, 0xe0, 0x9d, 0xa9, + 0xf8, 0x90, 0x87, 0x9c, 0x8c, 0x43, 0x0f, 0xbf, 0xe1, 0xab, 0xb1, 0x1b, 0xbe, 0xfc, 0x41, 0xdf, + 0x8f, 0x97, 0x2a, 0x96, 0xec, 0x72, 0xd3, 0xa2, 0x2c, 0x43, 0x14, 0x17, 0xff, 0xde, 0xc0, 0x4b, + 0x20, 0x81, 0x57, 0xf2, 0xc2, 0x45, 0x40, 0x9f, 0xa9, 0x77, 0x6e, 0x5e, 0xe2, 0xd7, 0x9a, 0x39, + 0x01, 0xd4, 0xdf, 0x3e, 0xd8, 0xcb, 0x87, 0x2d, 0x14, 0x51, 0xf5, 0x32, 0xde, 0x0d, 0x79, 0xb2, + 0x5e, 0xff, 0x81, 0xff, 0x7c, 0xa9, 0x40, 0xdf, 0x36, 0x1a, 0xe5, 0x65, 0xdb, 0xac, 0xb9, 0x4a, + 0x97, 0xf7, 0x4e, 0xc3, 0x44, 0x9d, 0xf2, 0x05, 0x44, 0xdd, 0xb6, 0xad, 0xa2, 0x6b, 0x56, 0xa9, + 0xe3, 0x1a, 0xd5, 0x3a, 0x73, 0xd2, 0x5d, 0x85, 0x71, 0x7c, 0xbb, 0x6c, 0xdb, 0xd6, 0xaa, 0x78, + 0xa7, 0x7f, 0x4e, 0x9c, 0xe2, 0xc6, 0xf4, 0x89, 0x12, 0x56, 0xe1, 0x29, 0x11, 0x1d, 0xd9, 0x05, + 0xed, 0x62, 0x83, 0xd5, 0x2a, 0xd6, 0x59, 0x35, 0xce, 0x47, 0x66, 0xef, 0x3a, 0xe9, 0xb7, 0x08, + 0x7f, 0xb7, 0xfa, 0x61, 0xf4, 0x73, 0xbe, 0x37, 0x37, 0x8c, 0x6a, 0xdd, 0x30, 0x2b, 0x35, 0x31, + 0x1a, 0x3f, 0xd7, 0x83, 0xbe, 0x2c, 0xb6, 0x0e, 0xb2, 0xbd, 0x09, 0x4f, 0x7b, 0xec, 0x7a, 0xfa, + 0x40, 0x86, 0x4b, 0x58, 0xc5, 0xbf, 0x66, 0x3b, 0x93, 0xbe, 0xa0, 0x36, 0xf8, 0x74, 0xf5, 0x77, + 0xc0, 0x3c, 0xcf, 0x7e, 0x37, 0xe9, 0x15, 0xf9, 0x51, 0x0d, 0x8e, 0x84, 0x3a, 0x66, 0xe3, 0x21, + 0x7b, 0x77, 0x4a, 0x1b, 0xd4, 0x33, 0x5d, 0xdc, 0x5c, 0x9f, 0x4a, 0xdf, 0x88, 0x14, 0x52, 0x71, + 0x0d, 0xd9, 0x56, 0xe1, 0x70, 0xa0, 0x6b, 0xaf, 0x48, 0x54, 0x5a, 0x41, 0xc2, 0xc4, 0x84, 0xfd, + 0xae, 0xed, 0x1a, 0x56, 0xec, 0x78, 0x75, 0x16, 0x63, 0x27, 0x18, 0xc1, 0xc8, 0x68, 0x91, 0xcf, + 0x69, 0x70, 0x5c, 0x98, 0x9d, 0x9a, 0xd4, 0xdd, 0x1d, 0x49, 0x7d, 0x14, 0x3b, 0x59, 0x6d, 0x2b, + 0xfc, 0x43, 0x38, 0x2c, 0x19, 0x4a, 0x54, 0x42, 0x4f, 0x47, 0x46, 0xfb, 0x8c, 0x60, 0x22, 0x56, + 0x17, 0xfa, 0x25, 0xb4, 0xdc, 0x45, 0xe7, 0x5e, 0xdd, 0xa5, 0xe5, 0x7b, 0x4d, 0xf7, 0xde, 0x3a, + 0xaf, 0xe0, 0xb4, 0xbf, 0x2e, 0x3c, 0x8f, 0x26, 0x1d, 0xdb, 0x18, 0x4d, 0xfa, 0x10, 0x0c, 0x9a, + 0x4e, 0xd1, 0xf6, 0xde, 0x17, 0xed, 0xa6, 0x8b, 0x79, 0x19, 0x98, 0xb2, 0x89, 0xfe, 0x3c, 0x6e, + 0x2c, 0x45, 0x68, 0xe0, 0xbe, 0x9b, 0x74, 0x68, 0xf3, 0x98, 0xfd, 0xa7, 0x54, 0xc4, 0x4e, 0x53, + 0x7c, 0x8e, 0x7e, 0x15, 0x23, 0xe5, 0x02, 0xa5, 0xf3, 0xa6, 0xc3, 0x77, 0xf6, 0x30, 0x67, 0xf6, + 0xc5, 0xf8, 0x64, 0xa1, 0xff, 0x45, 0xc3, 0x38, 0x99, 0x44, 0x00, 0x79, 0x78, 0x06, 0xc0, 0x35, + 0x69, 0x43, 0x1e, 0x71, 0x69, 0x47, 0xbb, 0x0b, 0xfd, 0x5e, 0x09, 0xdf, 0x38, 0x2a, 0xc0, 0xa0, + 0xcc, 0xdf, 0x5b, 0x7b, 0x10, 0xa9, 0xe9, 0x8b, 0xaf, 0xc3, 0x55, 0x93, 0x36, 0x58, 0x6f, 0x03, + 0x46, 0xab, 0x6b, 0x2f, 0x33, 0x95, 0x5e, 0xcf, 0xb5, 0x70, 0xf7, 0x61, 0x2a, 0x03, 0xc9, 0xd5, + 0xd5, 0x3b, 0x05, 0x10, 0x5e, 0xce, 0xb5, 0xa4, 0x5f, 0xf3, 0x55, 0x13, 0x36, 0x2b, 0x06, 0xe5, + 0x33, 0xe2, 0xd0, 0x2f, 0xb6, 0x8e, 0x0c, 0xdd, 0x7b, 0xd7, 0x29, 0x2d, 0x96, 0xf1, 0x7d, 0x6b, + 0x62, 0x69, 0x99, 0xa4, 0x96, 0x74, 0xc7, 0xd6, 0xa3, 0x85, 0xfa, 0x75, 0x8c, 0x44, 0x78, 0x2b, + 0x7e, 0xc9, 0x74, 0xaa, 0x86, 0x5b, 0xf2, 0x6d, 0x93, 0x1e, 0x84, 0x81, 0x72, 0xd3, 0x71, 0x8b, + 0xeb, 0x46, 0xc9, 0xb5, 0x39, 0x80, 0xa7, 0xab, 0x00, 0x5e, 0xd1, 0x02, 0x2b, 0xd1, 0xff, 0xae, + 0x0b, 0x46, 0x42, 0xad, 0x89, 0x0e, 0x81, 0x55, 0x95, 0xfa, 0x75, 0x55, 0x72, 0x07, 0xfa, 0x8d, + 0x4d, 0xc3, 0xdc, 0xce, 0xdd, 0x8f, 0x16, 0x01, 0x32, 0x0f, 0x3d, 0xcc, 0x35, 0x74, 0xb8, 0x32, + 0xe0, 0x8d, 0xc9, 0x2b, 0x30, 0x88, 0x28, 0x81, 0xe2, 0x86, 0x6d, 0x95, 0x7d, 0x47, 0x40, 0x99, + 0x8e, 0xa9, 0x90, 0xc6, 0x2d, 0xdb, 0x2a, 0x93, 0xfb, 0x30, 0x4c, 0x1f, 0xd6, 0x69, 0xc9, 0x9b, + 0xe0, 0x9c, 0xc3, 0xde, 0x8e, 0x88, 0x0e, 0x09, 0x2a, 0xcc, 0x53, 0x91, 0xbb, 0x00, 0x65, 0x73, + 0x1d, 0x4f, 0x9a, 0x26, 0x77, 0x77, 0xb6, 0xc8, 0x6a, 0x51, 0xd0, 0x7f, 0x18, 0x73, 0x86, 0x18, + 0xeb, 0x40, 0x23, 0x7d, 0x03, 0x88, 0xd0, 0x4d, 0x55, 0xbe, 0xc5, 0x14, 0xe9, 0x93, 0x0a, 0x30, + 0x0c, 0x41, 0xb2, 0xb0, 0x67, 0x2d, 0xdc, 0x87, 0x7e, 0x04, 0x7d, 0x06, 0x56, 0xf5, 0x12, 0xd0, + 0xb9, 0x96, 0x0e, 0xa5, 0x87, 0x7b, 0x27, 0x07, 0x7b, 0x7d, 0x55, 0xf8, 0x22, 0x8e, 0x69, 0xf9, + 0xfb, 0x66, 0x98, 0x6e, 0x86, 0xfa, 0x2f, 0x88, 0x65, 0x44, 0xa2, 0x8a, 0x71, 0x98, 0x6b, 0x90, + 0x17, 0x7d, 0xb3, 0xcd, 0x7f, 0x3f, 0x23, 0x4a, 0xf7, 0x91, 0x62, 0x07, 0xa8, 0xb0, 0x6f, 0x2d, + 0xbe, 0x5f, 0x19, 0xde, 0x42, 0xae, 0xd6, 0xcb, 0xe1, 0x4d, 0xc7, 0x35, 0x4b, 0x72, 0xf0, 0x2f, + 0xc0, 0x50, 0xe0, 0x05, 0x21, 0xd0, 0xed, 0xc5, 0x0b, 0x8c, 0x1d, 0xec, 0xb7, 0x37, 0xc6, 0x2d, + 0x60, 0x56, 0x77, 0x81, 0x3f, 0xe8, 0x0e, 0x46, 0xc6, 0x94, 0x3e, 0xe4, 0x6a, 0x19, 0x1c, 0x59, + 0xaa, 0x82, 0x51, 0x08, 0xd0, 0x29, 0xf8, 0x1a, 0x7b, 0x0b, 0x8f, 0x25, 0xd3, 0xb5, 0x5f, 0x35, + 0x9a, 0x16, 0x0b, 0x3f, 0x52, 0x90, 0x3f, 0xd0, 0x60, 0x22, 0xfc, 0x06, 0xbb, 0x7f, 0x01, 0x46, + 0xab, 0x86, 0xe3, 0xd2, 0x86, 0x38, 0x78, 0xa5, 0x22, 0x40, 0x8f, 0xf0, 0xf2, 0x59, 0x51, 0x4c, + 0x4e, 0xc2, 0x78, 0x59, 0xae, 0x3d, 0x7c, 0xd5, 0xf9, 0x29, 0xce, 0x58, 0xeb, 0x5d, 0xab, 0xc9, + 0x11, 0x18, 0x76, 0xea, 0xb6, 0xeb, 0xab, 0xcc, 0xcf, 0xb1, 0x86, 0xbc, 0xd2, 0x40, 0xb5, 0xd2, + 0xdb, 0x33, 0x27, 0x7c, 0xd5, 0xba, 0x79, 0x35, 0xaf, 0x54, 0x56, 0xd3, 0xe7, 0x31, 0x9e, 0xe0, + 0x8a, 0x7b, 0x7e, 0xa1, 0x61, 0x57, 0x99, 0x48, 0xbe, 0x5d, 0xb8, 0x4d, 0xef, 0xb9, 0x18, 0xdc, + 0x63, 0x1d, 0x64, 0x85, 0xe2, 0x08, 0x59, 0xdc, 0x4f, 0x8b, 0xa1, 0x82, 0x3a, 0x49, 0x5d, 0x94, + 0x8b, 0x75, 0xfd, 0x2d, 0xd3, 0x71, 0xed, 0x86, 0x59, 0x92, 0x39, 0x5c, 0xc9, 0xf6, 0xa5, 0x68, + 0xa9, 0x24, 0x5c, 0xf4, 0x3d, 0x49, 0x24, 0xe4, 0x86, 0xc4, 0x90, 0xc8, 0x3a, 0xd9, 0x0b, 0x15, + 0x0c, 0x48, 0x80, 0xd0, 0xa0, 0xeb, 0x7b, 0xd2, 0x7f, 0x5b, 0x83, 0x31, 0xf6, 0x9a, 0x77, 0xeb, + 0x25, 0x6d, 0xde, 0x1a, 0x94, 0xbc, 0x08, 0x84, 0x77, 0x53, 0x69, 0xd8, 0xcd, 0xba, 0x97, 0xf1, + 0x3a, 0xb4, 0x84, 0x26, 0x3e, 0xca, 0xde, 0xbc, 0x84, 0x2f, 0x56, 0x68, 0x89, 0xec, 0x83, 0xdd, + 0x55, 0xe3, 0x61, 0xd1, 0xa8, 0x50, 0x34, 0xf8, 0xde, 0xaa, 0xf1, 0x70, 0xb6, 0x42, 0xc9, 0x14, + 0x8c, 0x99, 0xb5, 0x92, 0xd5, 0xf4, 0xf8, 0x35, 0xde, 0x2e, 0x6e, 0xf0, 0x4e, 0xf0, 0x66, 0xe4, + 0x1e, 0x7c, 0x55, 0x30, 0xde, 0xc6, 0xde, 0x3d, 0xc3, 0x13, 0xf5, 0xe5, 0x26, 0x02, 0x3b, 0x8e, + 0x2e, 0x8c, 0x60, 0xb9, 0xd8, 0x1c, 0xd0, 0x7f, 0x45, 0xc3, 0x93, 0x04, 0x89, 0x70, 0x31, 0x5c, + 0xd3, 0x32, 0xdd, 0x2d, 0xa5, 0xe3, 0xd6, 0x12, 0xec, 0xe5, 0xf2, 0x21, 0x4b, 0x5e, 0xea, 0xeb, + 0x09, 0xae, 0x92, 0xe0, 0xc5, 0xe8, 0xab, 0x30, 0xe6, 0x46, 0x0b, 0xf5, 0xcf, 0xe6, 0x02, 0xb6, + 0xe9, 0x67, 0x51, 0x2e, 0xf1, 0x61, 0x53, 0x96, 0xe2, 0xe1, 0xe4, 0xb1, 0x2c, 0xa1, 0xb3, 0xd5, + 0x9a, 0xbc, 0x06, 0xa3, 0x42, 0x18, 0xa9, 0xbb, 0x5c, 0xe4, 0x00, 0x0e, 0xa1, 0xd4, 0xf2, 0xa4, + 0x08, 0x6b, 0xfa, 0x7c, 0xd0, 0x08, 0x52, 0x11, 0xaf, 0xc8, 0x2d, 0x18, 0xf0, 0x0f, 0x5e, 0x17, + 0x33, 0xb8, 0xe7, 0x15, 0x0d, 0xae, 0x00, 0x0d, 0x39, 0xbc, 0x12, 0xd1, 0x35, 0x67, 0xd6, 0x0c, + 0xa1, 0x95, 0x76, 0xa7, 0xc3, 0x7a, 0x05, 0xef, 0xb7, 0x87, 0x1a, 0x49, 0x4f, 0x19, 0x3a, 0x9b, + 0x4a, 0x1d, 0x3a, 0x4e, 0x03, 0xc7, 0x27, 0x7c, 0x34, 0xf5, 0x00, 0x8e, 0xc7, 0x5e, 0x60, 0xb8, + 0x61, 0xd7, 0xca, 0x26, 0xbf, 0x3c, 0xb7, 0xd3, 0x10, 0xf0, 0x77, 0xba, 0xe0, 0x70, 0xe4, 0x6c, + 0x3d, 0xdc, 0xdf, 0xff, 0xe3, 0xfb, 0x2b, 0x05, 0x18, 0x74, 0x1b, 0x66, 0xa5, 0x42, 0x1b, 0xcb, + 0xdb, 0x38, 0x31, 0x0d, 0xd0, 0x68, 0x7f, 0x8f, 0xe5, 0x08, 0xec, 0x36, 0x1d, 0x76, 0x81, 0x81, + 0xe5, 0xc0, 0x7d, 0x73, 0x03, 0x1f, 0xbe, 0x77, 0x50, 0x14, 0x15, 0xc4, 0x8f, 0xd0, 0x75, 0x97, + 0xdd, 0xe1, 0xeb, 0x2e, 0x9f, 0xd1, 0x02, 0xb7, 0x10, 0x53, 0xcd, 0x45, 0xe2, 0x72, 0x83, 0x57, + 0x2e, 0xae, 0x64, 0xba, 0x72, 0x11, 0xa6, 0x2b, 0x2f, 0x5e, 0x2c, 0x21, 0x23, 0x78, 0xb8, 0xe8, + 0xda, 0x55, 0xb3, 0x74, 0xf3, 0x21, 0x2d, 0x35, 0xbd, 0xca, 0x0b, 0x94, 0x2e, 0x35, 0x2d, 0xd7, + 0xac, 0x5b, 0x26, 0x6d, 0x28, 0x05, 0xa2, 0x1f, 0xd3, 0xf0, 0x48, 0x4d, 0x85, 0x5e, 0xeb, 0x43, + 0x05, 0x55, 0x59, 0xda, 0xa1, 0x99, 0xfa, 0x28, 0x1c, 0x3b, 0x0d, 0xfd, 0x12, 0x1f, 0x46, 0xc6, + 0x61, 0xd4, 0xfb, 0x5b, 0xbc, 0x5f, 0x73, 0xea, 0xb4, 0x64, 0xae, 0x9b, 0xb4, 0x3c, 0xba, 0x8b, + 0xec, 0x86, 0xae, 0xb9, 0xe6, 0xd6, 0xa8, 0x46, 0xfa, 0xa0, 0x7b, 0x85, 0x5a, 0xd6, 0x68, 0xee, + 0xd8, 0xab, 0x30, 0x1e, 0x77, 0xbd, 0xce, 0x23, 0xe0, 0x6b, 0xcb, 0x08, 0x8f, 0xee, 0x22, 0x63, + 0x30, 0xe2, 0x45, 0xf9, 0xd7, 0xec, 0x86, 0xe3, 0xae, 0xda, 0x73, 0xd4, 0x71, 0x47, 0x35, 0x51, + 0xe8, 0x3d, 0xad, 0xda, 0xec, 0xd5, 0x68, 0x6e, 0xe6, 0x4f, 0x3e, 0x0d, 0x3d, 0x4c, 0x23, 0xe4, + 0x77, 0x34, 0x18, 0x8b, 0xf9, 0x3e, 0x00, 0x39, 0xdb, 0x16, 0x09, 0x1f, 0xfb, 0xb9, 0x81, 0xfc, + 0xb9, 0xcc, 0xed, 0xb8, 0xc2, 0xf5, 0x99, 0x1f, 0xff, 0xcb, 0xef, 0x7c, 0x3e, 0xf7, 0x22, 0x39, + 0x36, 0xad, 0xf0, 0x25, 0x0e, 0x64, 0xf2, 0x4f, 0x35, 0x20, 0x51, 0x40, 0x3e, 0xb9, 0xd8, 0x11, + 0x8a, 0x9f, 0xf3, 0x7f, 0x69, 0x1b, 0x5f, 0x00, 0xd0, 0xaf, 0x31, 0x19, 0x2e, 0x90, 0x73, 0x2a, + 0x32, 0x4c, 0x3b, 0x51, 0xce, 0xbf, 0xa1, 0xc1, 0x9e, 0x08, 0x7d, 0x72, 0x21, 0x3b, 0x4f, 0x42, + 0x9c, 0x8b, 0x9d, 0x34, 0x45, 0x69, 0xae, 0x32, 0x69, 0xce, 0x93, 0xb3, 0x9d, 0x49, 0x43, 0xfe, + 0x48, 0x83, 0xd1, 0xf0, 0x17, 0x07, 0xc8, 0x79, 0x65, 0xfb, 0x08, 0x7d, 0xc4, 0x20, 0x7f, 0xa1, + 0x83, 0x96, 0x28, 0xc9, 0x15, 0x26, 0xc9, 0x39, 0x72, 0x46, 0x49, 0x12, 0x1a, 0xe6, 0xf9, 0x8f, + 0x35, 0x18, 0x09, 0xc1, 0xf8, 0x49, 0x7b, 0x3b, 0x8f, 0xff, 0x08, 0x42, 0xfe, 0x7c, 0xf6, 0x86, + 0x28, 0xc5, 0x02, 0x93, 0xe2, 0x3a, 0xb9, 0xaa, 0x24, 0x45, 0xe8, 0x63, 0x07, 0xd3, 0x8f, 0x70, + 0x74, 0x1e, 0xb3, 0x71, 0x09, 0x7f, 0x95, 0x80, 0x64, 0x66, 0x2b, 0xc3, 0xb8, 0x24, 0x7d, 0x02, + 0x21, 0xe3, 0xb8, 0x84, 0x3f, 0xdf, 0x40, 0xfe, 0x59, 0x83, 0xbd, 0xb1, 0xd0, 0x72, 0x72, 0x45, + 0x9d, 0xa7, 0x98, 0x6f, 0x13, 0xe4, 0xaf, 0x76, 0xda, 0x1c, 0xe5, 0xba, 0xcb, 0xe4, 0xba, 0x45, + 0x16, 0xb2, 0xc9, 0xe5, 0xa7, 0x35, 0xfd, 0x48, 0xc6, 0xb3, 0xc7, 0xe4, 0x3d, 0x0d, 0x26, 0xe2, + 0x31, 0xf4, 0xa4, 0x43, 0x56, 0xe5, 0xe8, 0x5d, 0xeb, 0xb8, 0x3d, 0xca, 0x7a, 0x83, 0xc9, 0x7a, + 0x85, 0x5c, 0xea, 0x5c, 0x56, 0x87, 0x7c, 0x45, 0x83, 0x41, 0xff, 0x47, 0x09, 0xc8, 0xe9, 0xb6, + 0x6c, 0xc5, 0x7c, 0xac, 0x21, 0x7f, 0x26, 0x63, 0x2b, 0x14, 0x61, 0x8e, 0x89, 0x70, 0x99, 0x5c, + 0x54, 0x12, 0x21, 0xf0, 0xb9, 0x85, 0xe9, 0x47, 0xec, 0xf1, 0x31, 0xf9, 0x92, 0x06, 0x43, 0x81, + 0xcf, 0x2a, 0x90, 0x6c, 0xcc, 0xc8, 0x01, 0x39, 0x9b, 0xb5, 0x19, 0x0a, 0x71, 0x89, 0x09, 0x71, + 0x86, 0x9c, 0xca, 0x2e, 0x84, 0x43, 0xbe, 0xa0, 0xc1, 0x80, 0x0f, 0xcf, 0x4b, 0x4e, 0xb5, 0x0f, + 0x1b, 0x11, 0x1c, 0x72, 0xfe, 0x74, 0xb6, 0x46, 0xc8, 0xf7, 0x09, 0xc6, 0xf7, 0x31, 0x72, 0x34, + 0x8d, 0x6f, 0xa7, 0x6e, 0xbb, 0xd3, 0xb8, 0xaa, 0x21, 0xbf, 0xa5, 0x01, 0xf8, 0xb0, 0xdb, 0x33, + 0x19, 0xba, 0x15, 0xac, 0x9e, 0xca, 0xd4, 0x06, 0x39, 0xbd, 0xcc, 0x38, 0x3d, 0x4b, 0x4e, 0xab, + 0x72, 0x1a, 0x98, 0xc3, 0x5f, 0xd2, 0x60, 0x24, 0x04, 0x9b, 0x56, 0x08, 0x22, 0xf1, 0x90, 0x6f, + 0x85, 0x20, 0x92, 0x80, 0xd0, 0xd6, 0xcf, 0x30, 0x21, 0xa6, 0xc9, 0xf1, 0xb6, 0x42, 0xac, 0x37, + 0x2d, 0xab, 0x28, 0x74, 0xfe, 0xb5, 0x28, 0x66, 0xfe, 0x6c, 0x46, 0x1e, 0xd4, 0x33, 0xc4, 0x78, + 0x20, 0xb6, 0x7e, 0x9d, 0xb1, 0x7e, 0x91, 0x9c, 0xcf, 0xc2, 0x7a, 0x60, 0x0c, 0xbe, 0xac, 0xc1, + 0x50, 0xe0, 0x7b, 0x05, 0x0a, 0x93, 0x34, 0xee, 0x73, 0x12, 0x0a, 0x93, 0x34, 0xf6, 0xb3, 0x08, + 0x6a, 0x29, 0x15, 0x13, 0xc1, 0x16, 0x6d, 0x03, 0x02, 0x7c, 0x4b, 0x83, 0xd1, 0x30, 0x46, 0x4c, + 0x21, 0x74, 0x27, 0x00, 0xb0, 0x15, 0x42, 0x77, 0x12, 0x7a, 0x57, 0xbf, 0xcd, 0x24, 0xb9, 0x49, + 0x6e, 0xa8, 0x49, 0x12, 0x98, 0x0b, 0xd3, 0x8f, 0x02, 0x9b, 0x0c, 0x8f, 0xc9, 0x7f, 0x68, 0x30, + 0x99, 0x84, 0xdd, 0x25, 0xd7, 0xdb, 0x47, 0xa8, 0x74, 0xf4, 0x77, 0x7e, 0x76, 0x1b, 0x14, 0x50, + 0xdc, 0xfb, 0x4c, 0xdc, 0x7b, 0x64, 0xa9, 0x13, 0x71, 0x51, 0x54, 0x99, 0x82, 0x89, 0x7d, 0xdb, + 0xc7, 0xe4, 0x3b, 0xde, 0x02, 0x26, 0x82, 0xc5, 0x57, 0x59, 0xc0, 0x24, 0x7d, 0x47, 0x40, 0x65, + 0x01, 0x93, 0x08, 0xfe, 0xcf, 0x2c, 0x66, 0x71, 0x6d, 0x0b, 0x91, 0x1b, 0xa9, 0xe3, 0xfb, 0x35, + 0x0d, 0x46, 0xc3, 0x9f, 0x04, 0x54, 0x30, 0xdb, 0x84, 0x0f, 0x15, 0xe6, 0x2f, 0x74, 0xd0, 0x12, + 0x05, 0xbc, 0xc8, 0x04, 0x3c, 0x4d, 0x66, 0xd2, 0x04, 0x14, 0x43, 0x18, 0x92, 0xe2, 0xbb, 0x1a, + 0xec, 0x6f, 0xcd, 0x87, 0xd5, 0x86, 0x51, 0x73, 0x4c, 0x5a, 0xfb, 0x48, 0x67, 0xa1, 0xfa, 0x78, + 0xb9, 0x82, 0xdd, 0xa2, 0xc2, 0x7c, 0xfc, 0x2b, 0x34, 0xcb, 0xe0, 0xad, 0x7b, 0x45, 0xb3, 0x8c, + 0x05, 0x6a, 0x2b, 0x9a, 0x65, 0x3c, 0x3c, 0x5b, 0x6d, 0xe5, 0xc3, 0x23, 0x6f, 0x18, 0x5c, 0x10, + 0x70, 0x9f, 0xff, 0xaa, 0xc1, 0x64, 0x12, 0x16, 0x5c, 0xc1, 0xcf, 0xb4, 0x01, 0xa3, 0x2b, 0xf8, + 0x99, 0x76, 0x40, 0x74, 0xfd, 0x0e, 0x93, 0x74, 0x81, 0xcc, 0xa7, 0x49, 0xda, 0x3a, 0x82, 0x6a, + 0x23, 0xef, 0x5f, 0x6b, 0x30, 0x16, 0x83, 0x89, 0x26, 0x97, 0x32, 0x30, 0x1a, 0x89, 0x7d, 0x97, + 0x3b, 0x6b, 0x8c, 0x02, 0xce, 0x33, 0x01, 0xaf, 0x92, 0xcb, 0x8a, 0x02, 0xc6, 0xc7, 0xc1, 0xef, + 0x69, 0x30, 0x11, 0x8f, 0xca, 0x53, 0x58, 0x10, 0xa5, 0x02, 0x46, 0x15, 0x16, 0x44, 0xe9, 0x70, + 0x40, 0xfd, 0x15, 0x26, 0xe1, 0x6d, 0xb2, 0x98, 0x45, 0xc2, 0xf4, 0xf9, 0xf8, 0xd9, 0x1c, 0x1c, + 0x48, 0x07, 0x03, 0x92, 0x85, 0x8c, 0x31, 0x2e, 0x49, 0xfc, 0x97, 0xb6, 0x4d, 0x07, 0xd5, 0xf0, + 0x29, 0xa6, 0x86, 0xfb, 0x64, 0xa5, 0x73, 0x35, 0x24, 0xc7, 0xcd, 0xff, 0x0a, 0x4c, 0xe4, 0x50, + 0xf4, 0xbc, 0x9e, 0xd5, 0x40, 0x23, 0x31, 0x74, 0x76, 0x1b, 0x14, 0xb6, 0x25, 0xbe, 0x62, 0x3c, + 0xfd, 0x1f, 0x0d, 0x0e, 0x86, 0xad, 0x30, 0x1c, 0x8f, 0x3e, 0xf2, 0x79, 0x90, 0x55, 0x03, 0x99, + 0x22, 0xd4, 0xef, 0x6b, 0xb0, 0x27, 0x02, 0xef, 0x52, 0xd8, 0x28, 0x4d, 0x42, 0x72, 0x2a, 0x6c, + 0x94, 0x26, 0xa2, 0xc9, 0xf4, 0xb3, 0x4c, 0xd2, 0x13, 0x64, 0x4a, 0xd5, 0x69, 0x23, 0xbb, 0xdf, + 0xd4, 0x60, 0x34, 0x82, 0x35, 0x3c, 0x9f, 0x99, 0x11, 0xf5, 0x3c, 0x22, 0x09, 0x65, 0xa6, 0xb6, + 0x03, 0x12, 0x95, 0x20, 0xe0, 0x93, 0xbf, 0xab, 0xc1, 0xbe, 0x04, 0x5c, 0x18, 0xb9, 0x96, 0x99, + 0xb5, 0x20, 0x2a, 0x2d, 0x7f, 0xbd, 0x73, 0x02, 0x28, 0xe2, 0x22, 0x13, 0xf1, 0x06, 0x99, 0xcd, + 0x24, 0xa2, 0x70, 0x39, 0x01, 0x49, 0xff, 0x5c, 0x83, 0xf1, 0xb8, 0x7b, 0xfa, 0xe4, 0x72, 0x86, + 0xc4, 0x34, 0x82, 0x68, 0xcb, 0x5f, 0xe9, 0xb0, 0x75, 0x96, 0xed, 0x09, 0x59, 0x10, 0x9e, 0x50, + 0xbf, 0xa9, 0xc1, 0x98, 0xd8, 0x3f, 0xf7, 0xa1, 0x05, 0x14, 0x76, 0x82, 0xa2, 0xb0, 0x03, 0x85, + 0x9d, 0xa0, 0x18, 0x40, 0x82, 0xda, 0x4e, 0x50, 0x95, 0x35, 0x2c, 0x32, 0x0c, 0x00, 0xf9, 0x55, + 0x0d, 0xfa, 0x25, 0xca, 0x80, 0x9c, 0x6c, 0xdb, 0x6b, 0x18, 0xaa, 0x90, 0x9f, 0xc9, 0xd2, 0x04, + 0xd9, 0x3c, 0xce, 0xd8, 0x7c, 0x9e, 0x1c, 0x49, 0x63, 0xb3, 0x2e, 0xb9, 0xfa, 0x33, 0x0d, 0xc6, + 0x62, 0x90, 0x70, 0x24, 0xcb, 0x41, 0x53, 0x84, 0xef, 0xcb, 0x9d, 0x35, 0xce, 0xb2, 0xed, 0x2e, + 0x25, 0x88, 0x98, 0xca, 0xbf, 0x69, 0x90, 0x4f, 0xc6, 0xda, 0x91, 0xb9, 0x0e, 0x78, 0x0b, 0x01, + 0x1a, 0xf3, 0x37, 0xb6, 0x45, 0x23, 0xcb, 0x8c, 0x4f, 0x14, 0x33, 0x30, 0xe3, 0x7f, 0x3e, 0x07, + 0xcf, 0x2a, 0x40, 0xd9, 0xc8, 0xed, 0x0c, 0x7c, 0xb7, 0x43, 0x75, 0xe6, 0xef, 0xec, 0x0c, 0x31, + 0xd4, 0xc6, 0x0a, 0xd3, 0xc6, 0x12, 0xb9, 0x9d, 0xea, 0x1e, 0x24, 0x1c, 0x50, 0x4d, 0x2f, 0x7f, + 0xa3, 0xc1, 0x58, 0x0c, 0xb8, 0x4d, 0xc1, 0xb8, 0x93, 0x91, 0x79, 0x0a, 0xc6, 0x9d, 0x02, 0xcb, + 0xd3, 0x6f, 0x32, 0x39, 0xaf, 0x91, 0x2b, 0xa9, 0xa3, 0x2e, 0x71, 0xf8, 0xbe, 0x2f, 0x13, 0x04, + 0x24, 0xfb, 0xb6, 0x06, 0xfb, 0x12, 0xf0, 0x6f, 0x0a, 0xd1, 0x2c, 0x1d, 0xc8, 0xa7, 0x10, 0xcd, + 0xda, 0xa0, 0xf8, 0x54, 0x8f, 0x2c, 0x3c, 0x22, 0x89, 0x22, 0x7e, 0xa0, 0xc1, 0x44, 0x3c, 0x50, + 0x4e, 0x21, 0x79, 0x4c, 0xc5, 0xfb, 0x29, 0x24, 0x8f, 0xe9, 0x60, 0x3f, 0xfd, 0x16, 0x93, 0x6f, + 0x8e, 0x5c, 0xcf, 0x34, 0x8a, 0xf8, 0x31, 0x87, 0xc8, 0x40, 0x26, 0x20, 0xfc, 0x14, 0x06, 0x32, + 0x1d, 0x0f, 0xad, 0x30, 0x90, 0x6d, 0xc0, 0x85, 0x6a, 0x03, 0xc9, 0x6f, 0xed, 0x88, 0x3b, 0x70, + 0x71, 0xdb, 0x6b, 0x7b, 0xa2, 0x68, 0x23, 0xc5, 0x6d, 0xa5, 0x18, 0xe8, 0x9c, 0x42, 0x32, 0x9c, + 0x88, 0x80, 0xd3, 0xcf, 0x31, 0x81, 0x4e, 0x92, 0xe9, 0x34, 0x81, 0x62, 0x60, 0x46, 0xe4, 0x2f, + 0x34, 0x98, 0x5c, 0x6e, 0x01, 0x97, 0x3e, 0x16, 0xc2, 0x28, 0x5d, 0xe8, 0xf0, 0x43, 0xba, 0xc2, + 0x42, 0x7d, 0x53, 0xdc, 0x46, 0x0d, 0x82, 0xdf, 0x14, 0x1c, 0x64, 0x32, 0xa4, 0x4f, 0xc1, 0x41, + 0xa6, 0x60, 0xfd, 0xf4, 0x0b, 0x4c, 0xa6, 0x53, 0xe4, 0xa4, 0xf2, 0x00, 0x09, 0x5c, 0x1a, 0x79, + 0x5f, 0x83, 0x89, 0x78, 0xf4, 0x91, 0x82, 0xc7, 0x48, 0xc5, 0x3d, 0x29, 0x78, 0x8c, 0x74, 0xd8, + 0x93, 0xfe, 0x12, 0x13, 0x6b, 0x96, 0x5c, 0x4b, 0x13, 0x2b, 0x00, 0x06, 0xf2, 0xc3, 0xa0, 0x7c, + 0xd7, 0x23, 0xbc, 0x21, 0x8b, 0xc1, 0xfe, 0x28, 0x0c, 0x59, 0x32, 0x5a, 0x49, 0x61, 0xc8, 0x52, + 0x60, 0x4c, 0x6a, 0x43, 0x16, 0x0b, 0x74, 0x22, 0xef, 0x6a, 0xb0, 0x27, 0x02, 0x3d, 0x51, 0x98, + 0x4e, 0x49, 0x60, 0x26, 0x85, 0xe9, 0x94, 0x88, 0x74, 0x51, 0xdb, 0xfc, 0x8b, 0x62, 0x61, 0xa6, + 0x1f, 0xf9, 0xe0, 0x53, 0x8f, 0xc9, 0x3f, 0x68, 0xb0, 0x2f, 0x01, 0x6c, 0xa1, 0xe0, 0xd1, 0xd3, + 0x91, 0x30, 0x0a, 0x1e, 0xbd, 0x0d, 0xce, 0x43, 0xcd, 0x67, 0x88, 0x7f, 0x99, 0x12, 0x03, 0x05, + 0x21, 0xff, 0xa8, 0xc1, 0xfe, 0x44, 0x40, 0x05, 0x99, 0xcd, 0x62, 0x49, 0xb1, 0x80, 0x8f, 0xfc, + 0xdc, 0x76, 0x48, 0x64, 0xb9, 0x6e, 0x10, 0x30, 0x49, 0x06, 0x4a, 0xf4, 0xd6, 0x6d, 0x0e, 0xf9, + 0xa2, 0x06, 0xc3, 0x41, 0xa0, 0x46, 0xfa, 0xe2, 0x2d, 0x16, 0xee, 0x91, 0xbe, 0x78, 0x8b, 0xc7, + 0x81, 0xe8, 0xa7, 0x19, 0xdb, 0x53, 0xe4, 0xc5, 0xd4, 0x35, 0xa6, 0xe9, 0xda, 0x45, 0x8e, 0xb0, + 0x30, 0x19, 0x73, 0xdf, 0xd2, 0x10, 0xd2, 0x1e, 0x01, 0x53, 0x28, 0xcc, 0xa4, 0x24, 0x18, 0x87, + 0xc2, 0x4c, 0x4a, 0xc4, 0x6e, 0xa8, 0xdd, 0xba, 0xe1, 0x22, 0xc8, 0x5c, 0x68, 0xfa, 0x51, 0x00, + 0x35, 0xc2, 0xb2, 0xf7, 0x89, 0x78, 0x70, 0x86, 0x82, 0x3b, 0x4f, 0x05, 0x86, 0x28, 0xb8, 0xf3, + 0x74, 0x54, 0x88, 0xda, 0x6e, 0xc6, 0x86, 0xa4, 0x51, 0x0c, 0x40, 0x48, 0xd8, 0xba, 0x24, 0x06, + 0x1c, 0xac, 0xe0, 0xc3, 0x93, 0xf1, 0xc8, 0x0a, 0x3e, 0x3c, 0x05, 0x8f, 0xac, 0xb6, 0x2e, 0xf1, + 0x23, 0x96, 0x8b, 0xf6, 0x3a, 0x06, 0x60, 0xc7, 0x17, 0x9d, 0xfe, 0x49, 0x83, 0xfd, 0x89, 0x38, + 0x64, 0x05, 0xe7, 0xd0, 0x0e, 0xec, 0xac, 0xe0, 0x1c, 0xda, 0xc2, 0xa0, 0xf5, 0x59, 0x26, 0xeb, + 0x25, 0x72, 0x21, 0x35, 0xa9, 0x8d, 0x11, 0xb4, 0x28, 0xbf, 0xd0, 0xf0, 0x0d, 0x0d, 0x46, 0xc3, + 0x20, 0x13, 0x85, 0xbd, 0xd1, 0x04, 0xe8, 0x4c, 0xfe, 0x42, 0x07, 0x2d, 0xb3, 0x08, 0xd3, 0xfa, + 0x4f, 0x4a, 0xd8, 0x3c, 0xb0, 0x06, 0xf9, 0xaa, 0x06, 0xe3, 0x31, 0x40, 0x0d, 0x95, 0x3b, 0x62, + 0x71, 0xc0, 0x12, 0x85, 0xeb, 0x27, 0xb1, 0xd0, 0x12, 0xb5, 0xd3, 0xef, 0x35, 0xd6, 0x54, 0xc0, + 0x87, 0xe4, 0x66, 0xf5, 0x2f, 0xe6, 0xe0, 0x70, 0x5b, 0x60, 0x00, 0x59, 0xcc, 0x7c, 0x6a, 0x90, + 0x84, 0x45, 0xc9, 0xbf, 0xbc, 0x13, 0xa4, 0x50, 0xf0, 0x1f, 0x62, 0x82, 0xbf, 0x46, 0xee, 0x67, + 0x3b, 0x8c, 0x2a, 0xb5, 0x08, 0xa6, 0x9e, 0x46, 0xfc, 0xb7, 0x06, 0x7a, 0x7b, 0x6c, 0x01, 0x79, + 0x59, 0xd1, 0x08, 0x15, 0x00, 0x0f, 0xf9, 0xdb, 0x3b, 0x42, 0x2b, 0x4b, 0xca, 0x62, 0x30, 0x4a, + 0xfc, 0x70, 0xa6, 0xe8, 0x45, 0xf6, 0x16, 0xba, 0x61, 0x6e, 0xe3, 0xeb, 0xef, 0x1f, 0xd0, 0xde, + 0x7d, 0xff, 0x80, 0xf6, 0xed, 0xf7, 0x0f, 0x68, 0x3f, 0xfb, 0xc1, 0x81, 0x5d, 0xef, 0x7e, 0x70, + 0x60, 0xd7, 0xdf, 0x7e, 0x70, 0x60, 0xd7, 0x1b, 0x77, 0x7d, 0x58, 0x89, 0x45, 0x41, 0xfc, 0x8e, + 0xb1, 0xe6, 0xb4, 0xba, 0x3a, 0x5e, 0xb2, 0x1b, 0xd4, 0xff, 0xb8, 0x61, 0x98, 0x35, 0xdc, 0xe8, + 0x75, 0x5a, 0x7c, 0x30, 0x5c, 0xc5, 0x5a, 0x2f, 0xfb, 0xe7, 0x98, 0xa7, 0xfe, 0x37, 0x00, 0x00, + 0xff, 0xff, 0x67, 0x3b, 0xf9, 0xb8, 0x12, 0x74, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -6160,17 +6854,25 @@ type QueryClient interface { AggregateMarketVolumes(ctx context.Context, in *QueryAggregateMarketVolumesRequest, opts ...grpc.CallOption) (*QueryAggregateMarketVolumesResponse, error) // Retrieves the denom decimals for a denom. DenomDecimal(ctx context.Context, in *QueryDenomDecimalRequest, opts ...grpc.CallOption) (*QueryDenomDecimalResponse, error) - // Retrieves the denom decimals for multiple denoms. Returns all denom decimals if unspecified. + // Retrieves the denom decimals for multiple denoms. Returns all denom + // decimals if unspecified. DenomDecimals(ctx context.Context, in *QueryDenomDecimalsRequest, opts ...grpc.CallOption) (*QueryDenomDecimalsResponse, error) // Retrieves a list of spot markets. SpotMarkets(ctx context.Context, in *QuerySpotMarketsRequest, opts ...grpc.CallOption) (*QuerySpotMarketsResponse, error) // Retrieves a spot market by ticker SpotMarket(ctx context.Context, in *QuerySpotMarketRequest, opts ...grpc.CallOption) (*QuerySpotMarketResponse, error) + // Retrieves a list of spot markets with extra information. + FullSpotMarkets(ctx context.Context, in *QueryFullSpotMarketsRequest, opts ...grpc.CallOption) (*QueryFullSpotMarketsResponse, error) + // Retrieves a spot market with extra information. + FullSpotMarket(ctx context.Context, in *QueryFullSpotMarketRequest, opts ...grpc.CallOption) (*QueryFullSpotMarketResponse, error) // Retrieves a spot market's orderbook by marketID SpotOrderbook(ctx context.Context, in *QuerySpotOrderbookRequest, opts ...grpc.CallOption) (*QuerySpotOrderbookResponse, error) // Retrieves a trader's spot orders TraderSpotOrders(ctx context.Context, in *QueryTraderSpotOrdersRequest, opts ...grpc.CallOption) (*QueryTraderSpotOrdersResponse, error) - // Retrieves spot orders corresponding to specified order hashes for a given subaccountID and marketID + // Retrieves all account address spot orders + AccountAddressSpotOrders(ctx context.Context, in *QueryAccountAddressSpotOrdersRequest, opts ...grpc.CallOption) (*QueryAccountAddressSpotOrdersResponse, error) + // Retrieves spot orders corresponding to specified order hashes for a given + // subaccountID and marketID SpotOrdersByHashes(ctx context.Context, in *QuerySpotOrdersByHashesRequest, opts ...grpc.CallOption) (*QuerySpotOrdersByHashesResponse, error) // Retrieves subaccount's orders SubaccountOrders(ctx context.Context, in *QuerySubaccountOrdersRequest, opts ...grpc.CallOption) (*QuerySubaccountOrdersResponse, error) @@ -6184,6 +6886,8 @@ type QueryClient interface { DerivativeOrderbook(ctx context.Context, in *QueryDerivativeOrderbookRequest, opts ...grpc.CallOption) (*QueryDerivativeOrderbookResponse, error) // Retrieves a trader's derivative orders TraderDerivativeOrders(ctx context.Context, in *QueryTraderDerivativeOrdersRequest, opts ...grpc.CallOption) (*QueryTraderDerivativeOrdersResponse, error) + // Retrieves all account address derivative orders + AccountAddressDerivativeOrders(ctx context.Context, in *QueryAccountAddressDerivativeOrdersRequest, opts ...grpc.CallOption) (*QueryAccountAddressDerivativeOrdersResponse, error) // Retrieves a trader's derivative orders DerivativeOrdersByHashes(ctx context.Context, in *QueryDerivativeOrdersByHashesRequest, opts ...grpc.CallOption) (*QueryDerivativeOrdersByHashesResponse, error) // Retrieves a trader's transient derivative orders @@ -6192,7 +6896,8 @@ type QueryClient interface { DerivativeMarkets(ctx context.Context, in *QueryDerivativeMarketsRequest, opts ...grpc.CallOption) (*QueryDerivativeMarketsResponse, error) // Retrieves a derivative market by ticker DerivativeMarket(ctx context.Context, in *QueryDerivativeMarketRequest, opts ...grpc.CallOption) (*QueryDerivativeMarketResponse, error) - // Retrieves a derivative market's corresponding address for fees that contribute to the market's insurance fund + // Retrieves a derivative market's corresponding address for fees that + // contribute to the market's insurance fund DerivativeMarketAddress(ctx context.Context, in *QueryDerivativeMarketAddressRequest, opts ...grpc.CallOption) (*QueryDerivativeMarketAddressResponse, error) // Retrieves a subaccount's trade nonce SubaccountTradeNonce(ctx context.Context, in *QuerySubaccountTradeNonceRequest, opts ...grpc.CallOption) (*QuerySubaccountTradeNonceResponse, error) @@ -6240,7 +6945,8 @@ type QueryClient interface { IsOptedOutOfRewards(ctx context.Context, in *QueryIsOptedOutOfRewardsRequest, opts ...grpc.CallOption) (*QueryIsOptedOutOfRewardsResponse, error) // Retrieves all accounts opted out of rewards OptedOutOfRewardsAccounts(ctx context.Context, in *QueryOptedOutOfRewardsAccountsRequest, opts ...grpc.CallOption) (*QueryOptedOutOfRewardsAccountsResponse, error) - // MarketVolatility computes the volatility for spot and derivative markets trading history. + // MarketVolatility computes the volatility for spot and derivative markets + // trading history. MarketVolatility(ctx context.Context, in *QueryMarketVolatilityRequest, opts ...grpc.CallOption) (*QueryMarketVolatilityResponse, error) // Retrieves a spot market's orderbook by marketID BinaryOptionsMarkets(ctx context.Context, in *QueryBinaryMarketsRequest, opts ...grpc.CallOption) (*QueryBinaryMarketsResponse, error) @@ -6365,6 +7071,24 @@ func (c *queryClient) SpotMarket(ctx context.Context, in *QuerySpotMarketRequest return out, nil } +func (c *queryClient) FullSpotMarkets(ctx context.Context, in *QueryFullSpotMarketsRequest, opts ...grpc.CallOption) (*QueryFullSpotMarketsResponse, error) { + out := new(QueryFullSpotMarketsResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Query/FullSpotMarkets", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) FullSpotMarket(ctx context.Context, in *QueryFullSpotMarketRequest, opts ...grpc.CallOption) (*QueryFullSpotMarketResponse, error) { + out := new(QueryFullSpotMarketResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Query/FullSpotMarket", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryClient) SpotOrderbook(ctx context.Context, in *QuerySpotOrderbookRequest, opts ...grpc.CallOption) (*QuerySpotOrderbookResponse, error) { out := new(QuerySpotOrderbookResponse) err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Query/SpotOrderbook", in, out, opts...) @@ -6383,6 +7107,15 @@ func (c *queryClient) TraderSpotOrders(ctx context.Context, in *QueryTraderSpotO return out, nil } +func (c *queryClient) AccountAddressSpotOrders(ctx context.Context, in *QueryAccountAddressSpotOrdersRequest, opts ...grpc.CallOption) (*QueryAccountAddressSpotOrdersResponse, error) { + out := new(QueryAccountAddressSpotOrdersResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Query/AccountAddressSpotOrders", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryClient) SpotOrdersByHashes(ctx context.Context, in *QuerySpotOrdersByHashesRequest, opts ...grpc.CallOption) (*QuerySpotOrdersByHashesResponse, error) { out := new(QuerySpotOrdersByHashesResponse) err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Query/SpotOrdersByHashes", in, out, opts...) @@ -6446,6 +7179,15 @@ func (c *queryClient) TraderDerivativeOrders(ctx context.Context, in *QueryTrade return out, nil } +func (c *queryClient) AccountAddressDerivativeOrders(ctx context.Context, in *QueryAccountAddressDerivativeOrdersRequest, opts ...grpc.CallOption) (*QueryAccountAddressDerivativeOrdersResponse, error) { + out := new(QueryAccountAddressDerivativeOrdersResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Query/AccountAddressDerivativeOrders", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryClient) DerivativeOrdersByHashes(ctx context.Context, in *QueryDerivativeOrdersByHashesRequest, opts ...grpc.CallOption) (*QueryDerivativeOrdersByHashesResponse, error) { out := new(QueryDerivativeOrdersByHashesResponse) err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Query/DerivativeOrdersByHashes", in, out, opts...) @@ -6754,17 +7496,25 @@ type QueryServer interface { AggregateMarketVolumes(context.Context, *QueryAggregateMarketVolumesRequest) (*QueryAggregateMarketVolumesResponse, error) // Retrieves the denom decimals for a denom. DenomDecimal(context.Context, *QueryDenomDecimalRequest) (*QueryDenomDecimalResponse, error) - // Retrieves the denom decimals for multiple denoms. Returns all denom decimals if unspecified. + // Retrieves the denom decimals for multiple denoms. Returns all denom + // decimals if unspecified. DenomDecimals(context.Context, *QueryDenomDecimalsRequest) (*QueryDenomDecimalsResponse, error) // Retrieves a list of spot markets. SpotMarkets(context.Context, *QuerySpotMarketsRequest) (*QuerySpotMarketsResponse, error) // Retrieves a spot market by ticker SpotMarket(context.Context, *QuerySpotMarketRequest) (*QuerySpotMarketResponse, error) + // Retrieves a list of spot markets with extra information. + FullSpotMarkets(context.Context, *QueryFullSpotMarketsRequest) (*QueryFullSpotMarketsResponse, error) + // Retrieves a spot market with extra information. + FullSpotMarket(context.Context, *QueryFullSpotMarketRequest) (*QueryFullSpotMarketResponse, error) // Retrieves a spot market's orderbook by marketID SpotOrderbook(context.Context, *QuerySpotOrderbookRequest) (*QuerySpotOrderbookResponse, error) // Retrieves a trader's spot orders TraderSpotOrders(context.Context, *QueryTraderSpotOrdersRequest) (*QueryTraderSpotOrdersResponse, error) - // Retrieves spot orders corresponding to specified order hashes for a given subaccountID and marketID + // Retrieves all account address spot orders + AccountAddressSpotOrders(context.Context, *QueryAccountAddressSpotOrdersRequest) (*QueryAccountAddressSpotOrdersResponse, error) + // Retrieves spot orders corresponding to specified order hashes for a given + // subaccountID and marketID SpotOrdersByHashes(context.Context, *QuerySpotOrdersByHashesRequest) (*QuerySpotOrdersByHashesResponse, error) // Retrieves subaccount's orders SubaccountOrders(context.Context, *QuerySubaccountOrdersRequest) (*QuerySubaccountOrdersResponse, error) @@ -6778,6 +7528,8 @@ type QueryServer interface { DerivativeOrderbook(context.Context, *QueryDerivativeOrderbookRequest) (*QueryDerivativeOrderbookResponse, error) // Retrieves a trader's derivative orders TraderDerivativeOrders(context.Context, *QueryTraderDerivativeOrdersRequest) (*QueryTraderDerivativeOrdersResponse, error) + // Retrieves all account address derivative orders + AccountAddressDerivativeOrders(context.Context, *QueryAccountAddressDerivativeOrdersRequest) (*QueryAccountAddressDerivativeOrdersResponse, error) // Retrieves a trader's derivative orders DerivativeOrdersByHashes(context.Context, *QueryDerivativeOrdersByHashesRequest) (*QueryDerivativeOrdersByHashesResponse, error) // Retrieves a trader's transient derivative orders @@ -6786,7 +7538,8 @@ type QueryServer interface { DerivativeMarkets(context.Context, *QueryDerivativeMarketsRequest) (*QueryDerivativeMarketsResponse, error) // Retrieves a derivative market by ticker DerivativeMarket(context.Context, *QueryDerivativeMarketRequest) (*QueryDerivativeMarketResponse, error) - // Retrieves a derivative market's corresponding address for fees that contribute to the market's insurance fund + // Retrieves a derivative market's corresponding address for fees that + // contribute to the market's insurance fund DerivativeMarketAddress(context.Context, *QueryDerivativeMarketAddressRequest) (*QueryDerivativeMarketAddressResponse, error) // Retrieves a subaccount's trade nonce SubaccountTradeNonce(context.Context, *QuerySubaccountTradeNonceRequest) (*QuerySubaccountTradeNonceResponse, error) @@ -6834,7 +7587,8 @@ type QueryServer interface { IsOptedOutOfRewards(context.Context, *QueryIsOptedOutOfRewardsRequest) (*QueryIsOptedOutOfRewardsResponse, error) // Retrieves all accounts opted out of rewards OptedOutOfRewardsAccounts(context.Context, *QueryOptedOutOfRewardsAccountsRequest) (*QueryOptedOutOfRewardsAccountsResponse, error) - // MarketVolatility computes the volatility for spot and derivative markets trading history. + // MarketVolatility computes the volatility for spot and derivative markets + // trading history. MarketVolatility(context.Context, *QueryMarketVolatilityRequest) (*QueryMarketVolatilityResponse, error) // Retrieves a spot market's orderbook by marketID BinaryOptionsMarkets(context.Context, *QueryBinaryMarketsRequest) (*QueryBinaryMarketsResponse, error) @@ -6883,12 +7637,21 @@ func (*UnimplementedQueryServer) SpotMarkets(ctx context.Context, req *QuerySpot func (*UnimplementedQueryServer) SpotMarket(ctx context.Context, req *QuerySpotMarketRequest) (*QuerySpotMarketResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SpotMarket not implemented") } +func (*UnimplementedQueryServer) FullSpotMarkets(ctx context.Context, req *QueryFullSpotMarketsRequest) (*QueryFullSpotMarketsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FullSpotMarkets not implemented") +} +func (*UnimplementedQueryServer) FullSpotMarket(ctx context.Context, req *QueryFullSpotMarketRequest) (*QueryFullSpotMarketResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FullSpotMarket not implemented") +} func (*UnimplementedQueryServer) SpotOrderbook(ctx context.Context, req *QuerySpotOrderbookRequest) (*QuerySpotOrderbookResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SpotOrderbook not implemented") } func (*UnimplementedQueryServer) TraderSpotOrders(ctx context.Context, req *QueryTraderSpotOrdersRequest) (*QueryTraderSpotOrdersResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method TraderSpotOrders not implemented") } +func (*UnimplementedQueryServer) AccountAddressSpotOrders(ctx context.Context, req *QueryAccountAddressSpotOrdersRequest) (*QueryAccountAddressSpotOrdersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AccountAddressSpotOrders not implemented") +} func (*UnimplementedQueryServer) SpotOrdersByHashes(ctx context.Context, req *QuerySpotOrdersByHashesRequest) (*QuerySpotOrdersByHashesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SpotOrdersByHashes not implemented") } @@ -6910,6 +7673,9 @@ func (*UnimplementedQueryServer) DerivativeOrderbook(ctx context.Context, req *Q func (*UnimplementedQueryServer) TraderDerivativeOrders(ctx context.Context, req *QueryTraderDerivativeOrdersRequest) (*QueryTraderDerivativeOrdersResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method TraderDerivativeOrders not implemented") } +func (*UnimplementedQueryServer) AccountAddressDerivativeOrders(ctx context.Context, req *QueryAccountAddressDerivativeOrdersRequest) (*QueryAccountAddressDerivativeOrdersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AccountAddressDerivativeOrders not implemented") +} func (*UnimplementedQueryServer) DerivativeOrdersByHashes(ctx context.Context, req *QueryDerivativeOrdersByHashesRequest) (*QueryDerivativeOrdersByHashesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DerivativeOrdersByHashes not implemented") } @@ -7227,6 +7993,42 @@ func _Query_SpotMarket_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +func _Query_FullSpotMarkets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryFullSpotMarketsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).FullSpotMarkets(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.exchange.v1beta1.Query/FullSpotMarkets", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).FullSpotMarkets(ctx, req.(*QueryFullSpotMarketsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_FullSpotMarket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryFullSpotMarketRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).FullSpotMarket(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.exchange.v1beta1.Query/FullSpotMarket", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).FullSpotMarket(ctx, req.(*QueryFullSpotMarketRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Query_SpotOrderbook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(QuerySpotOrderbookRequest) if err := dec(in); err != nil { @@ -7263,6 +8065,24 @@ func _Query_TraderSpotOrders_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } +func _Query_AccountAddressSpotOrders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryAccountAddressSpotOrdersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).AccountAddressSpotOrders(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.exchange.v1beta1.Query/AccountAddressSpotOrders", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).AccountAddressSpotOrders(ctx, req.(*QueryAccountAddressSpotOrdersRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Query_SpotOrdersByHashes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(QuerySpotOrdersByHashesRequest) if err := dec(in); err != nil { @@ -7389,6 +8209,24 @@ func _Query_TraderDerivativeOrders_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _Query_AccountAddressDerivativeOrders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryAccountAddressDerivativeOrdersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).AccountAddressDerivativeOrders(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.exchange.v1beta1.Query/AccountAddressDerivativeOrders", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).AccountAddressDerivativeOrders(ctx, req.(*QueryAccountAddressDerivativeOrdersRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Query_DerivativeOrdersByHashes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(QueryDerivativeOrdersByHashesRequest) if err := dec(in); err != nil { @@ -8017,6 +8855,14 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "SpotMarket", Handler: _Query_SpotMarket_Handler, }, + { + MethodName: "FullSpotMarkets", + Handler: _Query_FullSpotMarkets_Handler, + }, + { + MethodName: "FullSpotMarket", + Handler: _Query_FullSpotMarket_Handler, + }, { MethodName: "SpotOrderbook", Handler: _Query_SpotOrderbook_Handler, @@ -8025,6 +8871,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "TraderSpotOrders", Handler: _Query_TraderSpotOrders_Handler, }, + { + MethodName: "AccountAddressSpotOrders", + Handler: _Query_AccountAddressSpotOrders_Handler, + }, { MethodName: "SpotOrdersByHashes", Handler: _Query_SpotOrdersByHashes_Handler, @@ -8053,6 +8903,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "TraderDerivativeOrders", Handler: _Query_TraderDerivativeOrders_Handler, }, + { + MethodName: "AccountAddressDerivativeOrders", + Handler: _Query_AccountAddressDerivativeOrders_Handler, + }, { MethodName: "DerivativeOrdersByHashes", Handler: _Query_DerivativeOrdersByHashes_Handler, @@ -9078,6 +9932,15 @@ func (m *QuerySpotMarketsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l + if len(m.MarketIds) > 0 { + for iNdEx := len(m.MarketIds) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.MarketIds[iNdEx]) + copy(dAtA[i:], m.MarketIds[iNdEx]) + i = encodeVarintQuery(dAtA, i, uint64(len(m.MarketIds[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } if len(m.Status) > 0 { i -= len(m.Status) copy(dAtA[i:], m.Status) @@ -9210,6 +10073,35 @@ func (m *QuerySpotOrderbookRequest) MarshalToSizedBuffer(dAtA []byte) (int, erro _ = i var l int _ = l + if m.LimitCumulativeQuantity != nil { + { + size := m.LimitCumulativeQuantity.Size() + i -= size + if _, err := m.LimitCumulativeQuantity.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } + if m.LimitCumulativeNotional != nil { + { + size := m.LimitCumulativeNotional.Size() + i -= size + if _, err := m.LimitCumulativeNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + if m.OrderSide != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.OrderSide)) + i-- + dAtA[i] = 0x18 + } if m.Limit != 0 { i = encodeVarintQuery(dAtA, i, uint64(m.Limit)) i-- @@ -9276,7 +10168,7 @@ func (m *QuerySpotOrderbookResponse) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *QuerySpotOrdersByHashesRequest) Marshal() (dAtA []byte, err error) { +func (m *FullSpotMarket) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -9286,43 +10178,44 @@ func (m *QuerySpotOrdersByHashesRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QuerySpotOrdersByHashesRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *FullSpotMarket) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QuerySpotOrdersByHashesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *FullSpotMarket) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.OrderHashes) > 0 { - for iNdEx := len(m.OrderHashes) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.OrderHashes[iNdEx]) - copy(dAtA[i:], m.OrderHashes[iNdEx]) - i = encodeVarintQuery(dAtA, i, uint64(len(m.OrderHashes[iNdEx]))) - i-- - dAtA[i] = 0x1a + if m.MidPriceAndTob != nil { + { + size, err := m.MidPriceAndTob.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) } - } - if len(m.SubaccountId) > 0 { - i -= len(m.SubaccountId) - copy(dAtA[i:], m.SubaccountId) - i = encodeVarintQuery(dAtA, i, uint64(len(m.SubaccountId))) i-- dAtA[i] = 0x12 } - if len(m.MarketId) > 0 { - i -= len(m.MarketId) - copy(dAtA[i:], m.MarketId) - i = encodeVarintQuery(dAtA, i, uint64(len(m.MarketId))) + if m.Market != nil { + { + size, err := m.Market.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *QuerySpotOrdersByHashesResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryFullSpotMarketsRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -9332,20 +10225,69 @@ func (m *QuerySpotOrdersByHashesResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QuerySpotOrdersByHashesResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryFullSpotMarketsRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QuerySpotOrdersByHashesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryFullSpotMarketsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Orders) > 0 { - for iNdEx := len(m.Orders) - 1; iNdEx >= 0; iNdEx-- { + if m.WithMidPriceAndTob { + i-- + if m.WithMidPriceAndTob { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if len(m.MarketIds) > 0 { + for iNdEx := len(m.MarketIds) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.MarketIds[iNdEx]) + copy(dAtA[i:], m.MarketIds[iNdEx]) + i = encodeVarintQuery(dAtA, i, uint64(len(m.MarketIds[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + if len(m.Status) > 0 { + i -= len(m.Status) + copy(dAtA[i:], m.Status) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Status))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryFullSpotMarketsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryFullSpotMarketsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryFullSpotMarketsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Markets) > 0 { + for iNdEx := len(m.Markets) - 1; iNdEx >= 0; iNdEx-- { { - size, err := m.Orders[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Markets[iNdEx].MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -9359,7 +10301,7 @@ func (m *QuerySpotOrdersByHashesResponse) MarshalToSizedBuffer(dAtA []byte) (int return len(dAtA) - i, nil } -func (m *QueryTraderSpotOrdersRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryFullSpotMarketRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -9369,22 +10311,25 @@ func (m *QueryTraderSpotOrdersRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryTraderSpotOrdersRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryFullSpotMarketRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryTraderSpotOrdersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryFullSpotMarketRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.SubaccountId) > 0 { - i -= len(m.SubaccountId) - copy(dAtA[i:], m.SubaccountId) - i = encodeVarintQuery(dAtA, i, uint64(len(m.SubaccountId))) + if m.WithMidPriceAndTob { i-- - dAtA[i] = 0x12 + if m.WithMidPriceAndTob { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 } if len(m.MarketId) > 0 { i -= len(m.MarketId) @@ -9396,7 +10341,7 @@ func (m *QueryTraderSpotOrdersRequest) MarshalToSizedBuffer(dAtA []byte) (int, e return len(dAtA) - i, nil } -func (m *TrimmedSpotLimitOrder) Marshal() (dAtA []byte, err error) { +func (m *QueryFullSpotMarketResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -9406,28 +10351,220 @@ func (m *TrimmedSpotLimitOrder) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *TrimmedSpotLimitOrder) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryFullSpotMarketResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *TrimmedSpotLimitOrder) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryFullSpotMarketResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.OrderHash) > 0 { - i -= len(m.OrderHash) - copy(dAtA[i:], m.OrderHash) - i = encodeVarintQuery(dAtA, i, uint64(len(m.OrderHash))) - i-- - dAtA[i] = 0x2a - } - if m.IsBuy { - i-- - if m.IsBuy { - dAtA[i] = 1 - } else { + if m.Market != nil { + { + size, err := m.Market.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QuerySpotOrdersByHashesRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QuerySpotOrdersByHashesRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QuerySpotOrdersByHashesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.OrderHashes) > 0 { + for iNdEx := len(m.OrderHashes) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.OrderHashes[iNdEx]) + copy(dAtA[i:], m.OrderHashes[iNdEx]) + i = encodeVarintQuery(dAtA, i, uint64(len(m.OrderHashes[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + if len(m.SubaccountId) > 0 { + i -= len(m.SubaccountId) + copy(dAtA[i:], m.SubaccountId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.SubaccountId))) + i-- + dAtA[i] = 0x12 + } + if len(m.MarketId) > 0 { + i -= len(m.MarketId) + copy(dAtA[i:], m.MarketId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.MarketId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QuerySpotOrdersByHashesResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QuerySpotOrdersByHashesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QuerySpotOrdersByHashesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Orders) > 0 { + for iNdEx := len(m.Orders) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Orders[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *QueryTraderSpotOrdersRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryTraderSpotOrdersRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryTraderSpotOrdersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.SubaccountId) > 0 { + i -= len(m.SubaccountId) + copy(dAtA[i:], m.SubaccountId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.SubaccountId))) + i-- + dAtA[i] = 0x12 + } + if len(m.MarketId) > 0 { + i -= len(m.MarketId) + copy(dAtA[i:], m.MarketId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.MarketId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryAccountAddressSpotOrdersRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryAccountAddressSpotOrdersRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAccountAddressSpotOrdersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.AccountAddress) > 0 { + i -= len(m.AccountAddress) + copy(dAtA[i:], m.AccountAddress) + i = encodeVarintQuery(dAtA, i, uint64(len(m.AccountAddress))) + i-- + dAtA[i] = 0x12 + } + if len(m.MarketId) > 0 { + i -= len(m.MarketId) + copy(dAtA[i:], m.MarketId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.MarketId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *TrimmedSpotLimitOrder) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TrimmedSpotLimitOrder) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *TrimmedSpotLimitOrder) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.OrderHash) > 0 { + i -= len(m.OrderHash) + copy(dAtA[i:], m.OrderHash) + i = encodeVarintQuery(dAtA, i, uint64(len(m.OrderHash))) + i-- + dAtA[i] = 0x2a + } + if m.IsBuy { + i-- + if m.IsBuy { + dAtA[i] = 1 + } else { dAtA[i] = 0 } i-- @@ -9503,6 +10640,43 @@ func (m *QueryTraderSpotOrdersResponse) MarshalToSizedBuffer(dAtA []byte) (int, return len(dAtA) - i, nil } +func (m *QueryAccountAddressSpotOrdersResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryAccountAddressSpotOrdersResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAccountAddressSpotOrdersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Orders) > 0 { + for iNdEx := len(m.Orders) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Orders[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + func (m *QuerySpotMidPriceAndTOBRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -9701,6 +10875,18 @@ func (m *QueryDerivativeOrderbookRequest) MarshalToSizedBuffer(dAtA []byte) (int _ = i var l int _ = l + if m.LimitCumulativeNotional != nil { + { + size := m.LimitCumulativeNotional.Size() + i -= size + if _, err := m.LimitCumulativeNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } if m.Limit != 0 { i = encodeVarintQuery(dAtA, i, uint64(m.Limit)) i-- @@ -9942,7 +11128,7 @@ func (m *QueryTraderDerivativeOrdersRequest) MarshalToSizedBuffer(dAtA []byte) ( return len(dAtA) - i, nil } -func (m *TrimmedDerivativeLimitOrder) Marshal() (dAtA []byte, err error) { +func (m *QueryAccountAddressDerivativeOrdersRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -9952,27 +11138,64 @@ func (m *TrimmedDerivativeLimitOrder) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *TrimmedDerivativeLimitOrder) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryAccountAddressDerivativeOrdersRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *TrimmedDerivativeLimitOrder) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryAccountAddressDerivativeOrdersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.OrderHash) > 0 { - i -= len(m.OrderHash) - copy(dAtA[i:], m.OrderHash) - i = encodeVarintQuery(dAtA, i, uint64(len(m.OrderHash))) + if len(m.AccountAddress) > 0 { + i -= len(m.AccountAddress) + copy(dAtA[i:], m.AccountAddress) + i = encodeVarintQuery(dAtA, i, uint64(len(m.AccountAddress))) i-- - dAtA[i] = 0x32 + dAtA[i] = 0x12 } - if m.IsBuy { + if len(m.MarketId) > 0 { + i -= len(m.MarketId) + copy(dAtA[i:], m.MarketId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.MarketId))) i-- - if m.IsBuy { - dAtA[i] = 1 + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *TrimmedDerivativeLimitOrder) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TrimmedDerivativeLimitOrder) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *TrimmedDerivativeLimitOrder) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.OrderHash) > 0 { + i -= len(m.OrderHash) + copy(dAtA[i:], m.OrderHash) + i = encodeVarintQuery(dAtA, i, uint64(len(m.OrderHash))) + i-- + dAtA[i] = 0x32 + } + if m.IsBuy { + i-- + if m.IsBuy { + dAtA[i] = 1 } else { dAtA[i] = 0 } @@ -10059,6 +11282,43 @@ func (m *QueryTraderDerivativeOrdersResponse) MarshalToSizedBuffer(dAtA []byte) return len(dAtA) - i, nil } +func (m *QueryAccountAddressDerivativeOrdersResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryAccountAddressDerivativeOrdersResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAccountAddressDerivativeOrdersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Orders) > 0 { + for iNdEx := len(m.Orders) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Orders[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + func (m *QueryDerivativeOrdersByHashesRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -10162,6 +11422,25 @@ func (m *QueryDerivativeMarketsRequest) MarshalToSizedBuffer(dAtA []byte) (int, _ = i var l int _ = l + if m.WithMidPriceAndTob { + i-- + if m.WithMidPriceAndTob { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if len(m.MarketIds) > 0 { + for iNdEx := len(m.MarketIds) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.MarketIds[iNdEx]) + copy(dAtA[i:], m.MarketIds[iNdEx]) + i = encodeVarintQuery(dAtA, i, uint64(len(m.MarketIds[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } if len(m.Status) > 0 { i -= len(m.Status) copy(dAtA[i:], m.Status) @@ -10282,6 +11561,18 @@ func (m *FullDerivativeMarket) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.MidPriceAndTob != nil { + { + size, err := m.MidPriceAndTob.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } { size := m.MarkPrice.Size() i -= size @@ -12149,10 +13440,10 @@ func (m *QueryMarketIDFromVaultRequest) MarshalToSizedBuffer(dAtA []byte) (int, _ = i var l int _ = l - if len(m.VaultSubaccountId) > 0 { - i -= len(m.VaultSubaccountId) - copy(dAtA[i:], m.VaultSubaccountId) - i = encodeVarintQuery(dAtA, i, uint64(len(m.VaultSubaccountId))) + if len(m.VaultAddress) > 0 { + i -= len(m.VaultAddress) + copy(dAtA[i:], m.VaultAddress) + i = encodeVarintQuery(dAtA, i, uint64(len(m.VaultAddress))) i-- dAtA[i] = 0xa } @@ -13093,6 +14384,12 @@ func (m *QuerySpotMarketsRequest) Size() (n int) { if l > 0 { n += 1 + l + sovQuery(uint64(l)) } + if len(m.MarketIds) > 0 { + for _, s := range m.MarketIds { + l = len(s) + n += 1 + l + sovQuery(uint64(l)) + } + } return n } @@ -13150,6 +14447,17 @@ func (m *QuerySpotOrderbookRequest) Size() (n int) { if m.Limit != 0 { n += 1 + sovQuery(uint64(m.Limit)) } + if m.OrderSide != 0 { + n += 1 + sovQuery(uint64(m.OrderSide)) + } + if m.LimitCumulativeNotional != nil { + l = m.LimitCumulativeNotional.Size() + n += 1 + l + sovQuery(uint64(l)) + } + if m.LimitCumulativeQuantity != nil { + l = m.LimitCumulativeQuantity.Size() + n += 1 + l + sovQuery(uint64(l)) + } return n } @@ -13174,6 +14482,89 @@ func (m *QuerySpotOrderbookResponse) Size() (n int) { return n } +func (m *FullSpotMarket) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Market != nil { + l = m.Market.Size() + n += 1 + l + sovQuery(uint64(l)) + } + if m.MidPriceAndTob != nil { + l = m.MidPriceAndTob.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryFullSpotMarketsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Status) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if len(m.MarketIds) > 0 { + for _, s := range m.MarketIds { + l = len(s) + n += 1 + l + sovQuery(uint64(l)) + } + } + if m.WithMidPriceAndTob { + n += 2 + } + return n +} + +func (m *QueryFullSpotMarketsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Markets) > 0 { + for _, e := range m.Markets { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + +func (m *QueryFullSpotMarketRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.MarketId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.WithMidPriceAndTob { + n += 2 + } + return n +} + +func (m *QueryFullSpotMarketResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Market != nil { + l = m.Market.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + func (m *QuerySpotOrdersByHashesRequest) Size() (n int) { if m == nil { return 0 @@ -13229,6 +14620,23 @@ func (m *QueryTraderSpotOrdersRequest) Size() (n int) { return n } +func (m *QueryAccountAddressSpotOrdersRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.MarketId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.AccountAddress) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + func (m *TrimmedSpotLimitOrder) Size() (n int) { if m == nil { return 0 @@ -13266,6 +14674,21 @@ func (m *QueryTraderSpotOrdersResponse) Size() (n int) { return n } +func (m *QueryAccountAddressSpotOrdersResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Orders) > 0 { + for _, e := range m.Orders { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + func (m *QuerySpotMidPriceAndTOBRequest) Size() (n int) { if m == nil { return 0 @@ -13347,6 +14770,10 @@ func (m *QueryDerivativeOrderbookRequest) Size() (n int) { if m.Limit != 0 { n += 1 + sovQuery(uint64(m.Limit)) } + if m.LimitCumulativeNotional != nil { + l = m.LimitCumulativeNotional.Size() + n += 1 + l + sovQuery(uint64(l)) + } return n } @@ -13442,6 +14869,23 @@ func (m *QueryTraderDerivativeOrdersRequest) Size() (n int) { return n } +func (m *QueryAccountAddressDerivativeOrdersRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.MarketId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.AccountAddress) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + func (m *TrimmedDerivativeLimitOrder) Size() (n int) { if m == nil { return 0 @@ -13481,6 +14925,21 @@ func (m *QueryTraderDerivativeOrdersResponse) Size() (n int) { return n } +func (m *QueryAccountAddressDerivativeOrdersResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Orders) > 0 { + for _, e := range m.Orders { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + func (m *QueryDerivativeOrdersByHashesRequest) Size() (n int) { if m == nil { return 0 @@ -13529,6 +14988,15 @@ func (m *QueryDerivativeMarketsRequest) Size() (n int) { if l > 0 { n += 1 + l + sovQuery(uint64(l)) } + if len(m.MarketIds) > 0 { + for _, s := range m.MarketIds { + l = len(s) + n += 1 + l + sovQuery(uint64(l)) + } + } + if m.WithMidPriceAndTob { + n += 2 + } return n } @@ -13577,6 +15045,10 @@ func (m *FullDerivativeMarket) Size() (n int) { } l = m.MarkPrice.Size() n += 1 + l + sovQuery(uint64(l)) + if m.MidPriceAndTob != nil { + l = m.MidPriceAndTob.Size() + n += 1 + l + sovQuery(uint64(l)) + } return n } @@ -14319,7 +15791,7 @@ func (m *QueryMarketIDFromVaultRequest) Size() (n int) { } var l int _ = l - l = len(m.VaultSubaccountId) + l = len(m.VaultAddress) if l > 0 { n += 1 + l + sovQuery(uint64(l)) } @@ -15423,7 +16895,539 @@ func (m *QuerySubaccountDepositsResponse) Unmarshal(dAtA []byte) error { iNdEx += skippy } } - m.Deposits[mapkey] = mapvalue + m.Deposits[mapkey] = mapvalue + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryExchangeBalancesRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryExchangeBalancesRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryExchangeBalancesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryExchangeBalancesResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryExchangeBalancesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryExchangeBalancesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Balances", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Balances = append(m.Balances, Balance{}) + if err := m.Balances[len(m.Balances)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryAggregateVolumeRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryAggregateVolumeRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAggregateVolumeRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Account", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Account = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryAggregateVolumeResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryAggregateVolumeResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAggregateVolumeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AggregateVolumes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AggregateVolumes = append(m.AggregateVolumes, &MarketVolume{}) + if err := m.AggregateVolumes[len(m.AggregateVolumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryAggregateVolumesRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryAggregateVolumesRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAggregateVolumesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Accounts", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Accounts = append(m.Accounts, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MarketIds", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MarketIds = append(m.MarketIds, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryAggregateVolumesResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryAggregateVolumesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAggregateVolumesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AggregateAccountVolumes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AggregateAccountVolumes = append(m.AggregateAccountVolumes, &AggregateAccountVolumeRecord{}) + if err := m.AggregateAccountVolumes[len(m.AggregateAccountVolumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AggregateMarketVolumes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AggregateMarketVolumes = append(m.AggregateMarketVolumes, &MarketVolume{}) + if err := m.AggregateMarketVolumes[len(m.AggregateMarketVolumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -15446,7 +17450,7 @@ func (m *QuerySubaccountDepositsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryExchangeBalancesRequest) Unmarshal(dAtA []byte) error { +func (m *QueryAggregateMarketVolumeRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15469,12 +17473,44 @@ func (m *QueryExchangeBalancesRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryExchangeBalancesRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryAggregateMarketVolumeRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryExchangeBalancesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryAggregateMarketVolumeRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MarketId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -15496,7 +17532,7 @@ func (m *QueryExchangeBalancesRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryExchangeBalancesResponse) Unmarshal(dAtA []byte) error { +func (m *QueryAggregateMarketVolumeResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15519,15 +17555,15 @@ func (m *QueryExchangeBalancesResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryExchangeBalancesResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryAggregateMarketVolumeResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryExchangeBalancesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryAggregateMarketVolumeResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Balances", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Volume", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -15554,8 +17590,7 @@ func (m *QueryExchangeBalancesResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Balances = append(m.Balances, Balance{}) - if err := m.Balances[len(m.Balances)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Volume.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -15580,7 +17615,7 @@ func (m *QueryExchangeBalancesResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryAggregateVolumeRequest) Unmarshal(dAtA []byte) error { +func (m *QueryDenomDecimalRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15603,15 +17638,15 @@ func (m *QueryAggregateVolumeRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryAggregateVolumeRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDenomDecimalRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryAggregateVolumeRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDenomDecimalRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Account", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15639,7 +17674,7 @@ func (m *QueryAggregateVolumeRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Account = string(dAtA[iNdEx:postIndex]) + m.Denom = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -15662,7 +17697,7 @@ func (m *QueryAggregateVolumeRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryAggregateVolumeResponse) Unmarshal(dAtA []byte) error { +func (m *QueryDenomDecimalResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15685,17 +17720,17 @@ func (m *QueryAggregateVolumeResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryAggregateVolumeResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDenomDecimalResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryAggregateVolumeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDenomDecimalResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AggregateVolumes", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Decimal", wireType) } - var msglen int + m.Decimal = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -15705,26 +17740,11 @@ func (m *QueryAggregateVolumeResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.Decimal |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.AggregateVolumes = append(m.AggregateVolumes, &MarketVolume{}) - if err := m.AggregateVolumes[len(m.AggregateVolumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -15746,7 +17766,7 @@ func (m *QueryAggregateVolumeResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryAggregateVolumesRequest) Unmarshal(dAtA []byte) error { +func (m *QueryDenomDecimalsRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15769,47 +17789,15 @@ func (m *QueryAggregateVolumesRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryAggregateVolumesRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDenomDecimalsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryAggregateVolumesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDenomDecimalsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Accounts", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Accounts = append(m.Accounts, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MarketIds", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Denoms", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15837,7 +17825,7 @@ func (m *QueryAggregateVolumesRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.MarketIds = append(m.MarketIds, string(dAtA[iNdEx:postIndex])) + m.Denoms = append(m.Denoms, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex default: iNdEx = preIndex @@ -15860,7 +17848,7 @@ func (m *QueryAggregateVolumesRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryAggregateVolumesResponse) Unmarshal(dAtA []byte) error { +func (m *QueryDenomDecimalsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15883,49 +17871,15 @@ func (m *QueryAggregateVolumesResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryAggregateVolumesResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDenomDecimalsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryAggregateVolumesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDenomDecimalsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AggregateAccountVolumes", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.AggregateAccountVolumes = append(m.AggregateAccountVolumes, &AggregateAccountVolumeRecord{}) - if err := m.AggregateAccountVolumes[len(m.AggregateAccountVolumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AggregateMarketVolumes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DenomDecimals", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -15952,8 +17906,8 @@ func (m *QueryAggregateVolumesResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.AggregateMarketVolumes = append(m.AggregateMarketVolumes, &MarketVolume{}) - if err := m.AggregateMarketVolumes[len(m.AggregateMarketVolumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.DenomDecimals = append(m.DenomDecimals, DenomDecimals{}) + if err := m.DenomDecimals[len(m.DenomDecimals)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -15978,7 +17932,7 @@ func (m *QueryAggregateVolumesResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryAggregateMarketVolumeRequest) Unmarshal(dAtA []byte) error { +func (m *QueryAggregateMarketVolumesRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16001,15 +17955,15 @@ func (m *QueryAggregateMarketVolumeRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryAggregateMarketVolumeRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryAggregateMarketVolumesRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryAggregateMarketVolumeRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryAggregateMarketVolumesRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MarketIds", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16037,7 +17991,7 @@ func (m *QueryAggregateMarketVolumeRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.MarketId = string(dAtA[iNdEx:postIndex]) + m.MarketIds = append(m.MarketIds, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex default: iNdEx = preIndex @@ -16060,7 +18014,7 @@ func (m *QueryAggregateMarketVolumeRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryAggregateMarketVolumeResponse) Unmarshal(dAtA []byte) error { +func (m *QueryAggregateMarketVolumesResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16083,15 +18037,15 @@ func (m *QueryAggregateMarketVolumeResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryAggregateMarketVolumeResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryAggregateMarketVolumesResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryAggregateMarketVolumeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryAggregateMarketVolumesResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Volume", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Volumes", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -16118,7 +18072,8 @@ func (m *QueryAggregateMarketVolumeResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Volume.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Volumes = append(m.Volumes, &MarketVolume{}) + if err := m.Volumes[len(m.Volumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -16143,7 +18098,7 @@ func (m *QueryAggregateMarketVolumeResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDenomDecimalRequest) Unmarshal(dAtA []byte) error { +func (m *QuerySubaccountDepositRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16166,13 +18121,45 @@ func (m *QueryDenomDecimalRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDenomDecimalRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QuerySubaccountDepositRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDenomDecimalRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QuerySubaccountDepositRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SubaccountId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType) } @@ -16225,7 +18212,7 @@ func (m *QueryDenomDecimalRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDenomDecimalResponse) Unmarshal(dAtA []byte) error { +func (m *QuerySubaccountDepositResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16248,17 +18235,17 @@ func (m *QueryDenomDecimalResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDenomDecimalResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QuerySubaccountDepositResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDenomDecimalResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QuerySubaccountDepositResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Decimal", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Deposits", wireType) } - m.Decimal = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -16268,11 +18255,28 @@ func (m *QueryDenomDecimalResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Decimal |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Deposits == nil { + m.Deposits = &Deposit{} + } + if err := m.Deposits.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -16294,7 +18298,7 @@ func (m *QueryDenomDecimalResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDenomDecimalsRequest) Unmarshal(dAtA []byte) error { +func (m *QuerySpotMarketsRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16317,15 +18321,15 @@ func (m *QueryDenomDecimalsRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDenomDecimalsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QuerySpotMarketsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDenomDecimalsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QuerySpotMarketsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Denoms", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16353,7 +18357,39 @@ func (m *QueryDenomDecimalsRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Denoms = append(m.Denoms, string(dAtA[iNdEx:postIndex])) + m.Status = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MarketIds", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MarketIds = append(m.MarketIds, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex default: iNdEx = preIndex @@ -16376,7 +18412,7 @@ func (m *QueryDenomDecimalsRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDenomDecimalsResponse) Unmarshal(dAtA []byte) error { +func (m *QuerySpotMarketsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16399,15 +18435,15 @@ func (m *QueryDenomDecimalsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDenomDecimalsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QuerySpotMarketsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDenomDecimalsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QuerySpotMarketsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DenomDecimals", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Markets", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -16434,8 +18470,8 @@ func (m *QueryDenomDecimalsResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.DenomDecimals = append(m.DenomDecimals, DenomDecimals{}) - if err := m.DenomDecimals[len(m.DenomDecimals)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Markets = append(m.Markets, &SpotMarket{}) + if err := m.Markets[len(m.Markets)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -16460,7 +18496,7 @@ func (m *QueryDenomDecimalsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryAggregateMarketVolumesRequest) Unmarshal(dAtA []byte) error { +func (m *QuerySpotMarketRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16483,15 +18519,15 @@ func (m *QueryAggregateMarketVolumesRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryAggregateMarketVolumesRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QuerySpotMarketRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryAggregateMarketVolumesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QuerySpotMarketRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MarketIds", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16519,7 +18555,7 @@ func (m *QueryAggregateMarketVolumesRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.MarketIds = append(m.MarketIds, string(dAtA[iNdEx:postIndex])) + m.MarketId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -16542,7 +18578,7 @@ func (m *QueryAggregateMarketVolumesRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryAggregateMarketVolumesResponse) Unmarshal(dAtA []byte) error { +func (m *QuerySpotMarketResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16565,15 +18601,15 @@ func (m *QueryAggregateMarketVolumesResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryAggregateMarketVolumesResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QuerySpotMarketResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryAggregateMarketVolumesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QuerySpotMarketResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Volumes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Market", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -16600,8 +18636,10 @@ func (m *QueryAggregateMarketVolumesResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Volumes = append(m.Volumes, &MarketVolume{}) - if err := m.Volumes[len(m.Volumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.Market == nil { + m.Market = &SpotMarket{} + } + if err := m.Market.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -16626,7 +18664,7 @@ func (m *QueryAggregateMarketVolumesResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QuerySubaccountDepositRequest) Unmarshal(dAtA []byte) error { +func (m *QuerySpotOrderbookRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16649,15 +18687,15 @@ func (m *QuerySubaccountDepositRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QuerySubaccountDepositRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QuerySpotOrderbookRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QuerySubaccountDepositRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QuerySpotOrderbookRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16685,11 +18723,49 @@ func (m *QuerySubaccountDepositRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SubaccountId = string(dAtA[iNdEx:postIndex]) + m.MarketId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Limit", wireType) + } + m.Limit = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Limit |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OrderSide", wireType) + } + m.OrderSide = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OrderSide |= OrderSide(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field LimitCumulativeNotional", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16717,63 +18793,17 @@ func (m *QuerySubaccountDepositRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Denom = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { + var v github_com_cosmos_cosmos_sdk_types.Dec + m.LimitCumulativeNotional = &v + if err := m.LimitCumulativeNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QuerySubaccountDepositResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QuerySubaccountDepositResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QuerySubaccountDepositResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Deposits", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field LimitCumulativeQuantity", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -16783,25 +18813,25 @@ func (m *QuerySubaccountDepositResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Deposits == nil { - m.Deposits = &Deposit{} - } - if err := m.Deposits.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + var v github_com_cosmos_cosmos_sdk_types.Dec + m.LimitCumulativeQuantity = &v + if err := m.LimitCumulativeQuantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -16826,7 +18856,7 @@ func (m *QuerySubaccountDepositResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QuerySpotMarketsRequest) Unmarshal(dAtA []byte) error { +func (m *QuerySpotOrderbookResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16849,17 +18879,51 @@ func (m *QuerySpotMarketsRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QuerySpotMarketsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QuerySpotOrderbookResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QuerySpotMarketsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QuerySpotOrderbookResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BuysPriceLevel", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BuysPriceLevel = append(m.BuysPriceLevel, &Level{}) + if err := m.BuysPriceLevel[len(m.BuysPriceLevel)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SellsPriceLevel", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -16869,23 +18933,25 @@ func (m *QuerySpotMarketsRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - m.Status = string(dAtA[iNdEx:postIndex]) + m.SellsPriceLevel = append(m.SellsPriceLevel, &Level{}) + if err := m.SellsPriceLevel[len(m.SellsPriceLevel)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -16908,7 +18974,7 @@ func (m *QuerySpotMarketsRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QuerySpotMarketsResponse) Unmarshal(dAtA []byte) error { +func (m *FullSpotMarket) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16931,15 +18997,15 @@ func (m *QuerySpotMarketsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QuerySpotMarketsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: FullSpotMarket: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QuerySpotMarketsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: FullSpotMarket: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Markets", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Market", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -16966,8 +19032,46 @@ func (m *QuerySpotMarketsResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Markets = append(m.Markets, &SpotMarket{}) - if err := m.Markets[len(m.Markets)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.Market == nil { + m.Market = &SpotMarket{} + } + if err := m.Market.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MidPriceAndTob", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.MidPriceAndTob == nil { + m.MidPriceAndTob = &MidPriceAndTOB{} + } + if err := m.MidPriceAndTob.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -16992,7 +19096,7 @@ func (m *QuerySpotMarketsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QuerySpotMarketRequest) Unmarshal(dAtA []byte) error { +func (m *QueryFullSpotMarketsRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17015,15 +19119,15 @@ func (m *QuerySpotMarketRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QuerySpotMarketRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryFullSpotMarketsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QuerySpotMarketRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryFullSpotMarketsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -17051,8 +19155,60 @@ func (m *QuerySpotMarketRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.MarketId = string(dAtA[iNdEx:postIndex]) + m.Status = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MarketIds", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MarketIds = append(m.MarketIds, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field WithMidPriceAndTob", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.WithMidPriceAndTob = bool(v != 0) default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -17074,7 +19230,7 @@ func (m *QuerySpotMarketRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QuerySpotMarketResponse) Unmarshal(dAtA []byte) error { +func (m *QueryFullSpotMarketsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17097,15 +19253,15 @@ func (m *QuerySpotMarketResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QuerySpotMarketResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryFullSpotMarketsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QuerySpotMarketResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryFullSpotMarketsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Market", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Markets", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -17132,10 +19288,8 @@ func (m *QuerySpotMarketResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Market == nil { - m.Market = &SpotMarket{} - } - if err := m.Market.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Markets = append(m.Markets, &FullSpotMarket{}) + if err := m.Markets[len(m.Markets)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -17160,7 +19314,7 @@ func (m *QuerySpotMarketResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QuerySpotOrderbookRequest) Unmarshal(dAtA []byte) error { +func (m *QueryFullSpotMarketRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17183,10 +19337,10 @@ func (m *QuerySpotOrderbookRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QuerySpotOrderbookRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryFullSpotMarketRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QuerySpotOrderbookRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryFullSpotMarketRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -17223,9 +19377,9 @@ func (m *QuerySpotOrderbookRequest) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Limit", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WithMidPriceAndTob", wireType) } - m.Limit = 0 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -17235,11 +19389,12 @@ func (m *QuerySpotOrderbookRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Limit |= uint64(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } + m.WithMidPriceAndTob = bool(v != 0) default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -17261,7 +19416,7 @@ func (m *QuerySpotOrderbookRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QuerySpotOrderbookResponse) Unmarshal(dAtA []byte) error { +func (m *QueryFullSpotMarketResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17284,15 +19439,15 @@ func (m *QuerySpotOrderbookResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QuerySpotOrderbookResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryFullSpotMarketResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QuerySpotOrderbookResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryFullSpotMarketResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BuysPriceLevel", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Market", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -17319,42 +19474,10 @@ func (m *QuerySpotOrderbookResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.BuysPriceLevel = append(m.BuysPriceLevel, &Level{}) - if err := m.BuysPriceLevel[len(m.BuysPriceLevel)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SellsPriceLevel", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF + if m.Market == nil { + m.Market = &FullSpotMarket{} } - m.SellsPriceLevel = append(m.SellsPriceLevel, &Level{}) - if err := m.SellsPriceLevel[len(m.SellsPriceLevel)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Market.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -17470,13 +19593,95 @@ func (m *QuerySpotOrdersByHashesRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SubaccountId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: + m.SubaccountId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OrderHashes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.OrderHashes = append(m.OrderHashes, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QuerySpotOrdersByHashesResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QuerySpotOrdersByHashesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QuerySpotOrdersByHashesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderHashes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Orders", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -17486,23 +19691,25 @@ func (m *QuerySpotOrdersByHashesRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - m.OrderHashes = append(m.OrderHashes, string(dAtA[iNdEx:postIndex])) + m.Orders = append(m.Orders, &TrimmedSpotLimitOrder{}) + if err := m.Orders[len(m.Orders)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -17525,7 +19732,7 @@ func (m *QuerySpotOrdersByHashesRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QuerySpotOrdersByHashesResponse) Unmarshal(dAtA []byte) error { +func (m *QueryTraderSpotOrdersRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17548,17 +19755,17 @@ func (m *QuerySpotOrdersByHashesResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QuerySpotOrdersByHashesResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTraderSpotOrdersRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QuerySpotOrdersByHashesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTraderSpotOrdersRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Orders", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -17568,25 +19775,55 @@ func (m *QuerySpotOrdersByHashesResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - m.Orders = append(m.Orders, &TrimmedSpotLimitOrder{}) - if err := m.Orders[len(m.Orders)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + m.MarketId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF } + m.SubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -17609,7 +19846,7 @@ func (m *QuerySpotOrdersByHashesResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryTraderSpotOrdersRequest) Unmarshal(dAtA []byte) error { +func (m *QueryAccountAddressSpotOrdersRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17632,10 +19869,10 @@ func (m *QueryTraderSpotOrdersRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryTraderSpotOrdersRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryAccountAddressSpotOrdersRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTraderSpotOrdersRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryAccountAddressSpotOrdersRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -17672,7 +19909,7 @@ func (m *QueryTraderSpotOrdersRequest) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AccountAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -17700,7 +19937,7 @@ func (m *QueryTraderSpotOrdersRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SubaccountId = string(dAtA[iNdEx:postIndex]) + m.AccountAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -18011,6 +20248,90 @@ func (m *QueryTraderSpotOrdersResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryAccountAddressSpotOrdersResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryAccountAddressSpotOrdersResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAccountAddressSpotOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Orders", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Orders = append(m.Orders, &TrimmedSpotLimitOrder{}) + if err := m.Orders[len(m.Orders)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *QuerySpotMidPriceAndTOBRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -18571,6 +20892,42 @@ func (m *QueryDerivativeOrderbookRequest) Unmarshal(dAtA []byte) error { break } } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LimitCumulativeNotional", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var v github_com_cosmos_cosmos_sdk_types.Dec + m.LimitCumulativeNotional = &v + if err := m.LimitCumulativeNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -19070,15 +21427,120 @@ func (m *QueryTraderDerivativeOrdersToCancelUpToAmountRequest) Unmarshal(dAtA [] if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.QuoteAmount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.QuoteAmount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Strategy", wireType) + } + m.Strategy = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Strategy |= CancellationStrategy(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReferencePrice", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var v github_com_cosmos_cosmos_sdk_types.Dec + m.ReferencePrice = &v + if err := m.ReferencePrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Strategy", wireType) + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err } - m.Strategy = 0 + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryTraderDerivativeOrdersRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryTraderDerivativeOrdersRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryTraderDerivativeOrdersRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) + } + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -19088,14 +21550,27 @@ func (m *QueryTraderDerivativeOrdersToCancelUpToAmountRequest) Unmarshal(dAtA [] } b := dAtA[iNdEx] iNdEx++ - m.Strategy |= CancellationStrategy(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - case 5: + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MarketId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ReferencePrice", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -19123,11 +21598,7 @@ func (m *QueryTraderDerivativeOrdersToCancelUpToAmountRequest) Unmarshal(dAtA [] if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec - m.ReferencePrice = &v - if err := m.ReferencePrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.SubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -19150,7 +21621,7 @@ func (m *QueryTraderDerivativeOrdersToCancelUpToAmountRequest) Unmarshal(dAtA [] } return nil } -func (m *QueryTraderDerivativeOrdersRequest) Unmarshal(dAtA []byte) error { +func (m *QueryAccountAddressDerivativeOrdersRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -19173,10 +21644,10 @@ func (m *QueryTraderDerivativeOrdersRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryTraderDerivativeOrdersRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryAccountAddressDerivativeOrdersRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryTraderDerivativeOrdersRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryAccountAddressDerivativeOrdersRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -19213,7 +21684,7 @@ func (m *QueryTraderDerivativeOrdersRequest) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AccountAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -19241,7 +21712,7 @@ func (m *QueryTraderDerivativeOrdersRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SubaccountId = string(dAtA[iNdEx:postIndex]) + m.AccountAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -19586,6 +22057,90 @@ func (m *QueryTraderDerivativeOrdersResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryAccountAddressDerivativeOrdersResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryAccountAddressDerivativeOrdersResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAccountAddressDerivativeOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Orders", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Orders = append(m.Orders, &TrimmedDerivativeLimitOrder{}) + if err := m.Orders[len(m.Orders)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *QueryDerivativeOrdersByHashesRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -19877,6 +22432,58 @@ func (m *QueryDerivativeMarketsRequest) Unmarshal(dAtA []byte) error { } m.Status = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MarketIds", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MarketIds = append(m.MarketIds, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field WithMidPriceAndTob", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.WithMidPriceAndTob = bool(v != 0) default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -20307,6 +22914,42 @@ func (m *FullDerivativeMarket) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MidPriceAndTob", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.MidPriceAndTob == nil { + m.MidPriceAndTob = &MidPriceAndTOB{} + } + if err := m.MidPriceAndTob.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -24968,7 +27611,7 @@ func (m *QueryMarketIDFromVaultRequest) Unmarshal(dAtA []byte) error { switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VaultSubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field VaultAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -24996,7 +27639,7 @@ func (m *QueryMarketIDFromVaultRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.VaultSubaccountId = string(dAtA[iNdEx:postIndex]) + m.VaultAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex diff --git a/chain/exchange/types/spot_orders.go b/chain/exchange/types/spot_orders.go index de0be81b..7c39ff9a 100644 --- a/chain/exchange/types/spot_orders.go +++ b/chain/exchange/types/spot_orders.go @@ -3,11 +3,11 @@ package types import ( "strconv" + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/ethereum/go-ethereum/common" ethmath "github.com/ethereum/go-ethereum/common/math" - gethsigner "github.com/ethereum/go-ethereum/signer/core" + "github.com/ethereum/go-ethereum/signer/core/apitypes" "golang.org/x/crypto/sha3" ) @@ -79,10 +79,10 @@ func (o *SpotMarketOrder) FeeRecipient() common.Address { func (o *SpotOrder) CheckTickSize(minPriceTickSize, minQuantityTickSize sdk.Dec) error { if BreachesMinimumTickSize(o.OrderInfo.Price, minPriceTickSize) { - return sdkerrors.Wrapf(ErrInvalidPrice, "price %s must be a multiple of the minimum price tick size %s", o.OrderInfo.Price.String(), minPriceTickSize.String()) + return errors.Wrapf(ErrInvalidPrice, "price %s must be a multiple of the minimum price tick size %s", o.OrderInfo.Price.String(), minPriceTickSize.String()) } if BreachesMinimumTickSize(o.OrderInfo.Quantity, minQuantityTickSize) { - return sdkerrors.Wrapf(ErrInvalidQuantity, "quantity %s must be a multiple of the minimum quantity tick size %s", o.OrderInfo.Quantity.String(), minQuantityTickSize.String()) + return errors.Wrapf(ErrInvalidQuantity, "quantity %s must be a multiple of the minimum quantity tick size %s", o.OrderInfo.Quantity.String(), minQuantityTickSize.String()) } return nil } @@ -212,7 +212,7 @@ func (m *SpotLimitOrder) ToTrimmed() *TrimmedSpotLimitOrder { // ComputeOrderHash computes the order hash for given spot limit order func (o *SpotOrder) ComputeOrderHash(nonce uint32) (common.Hash, error) { chainID := ethmath.NewHexOrDecimal256(888) - var domain = gethsigner.TypedDataDomain{ + var domain = apitypes.TypedDataDomain{ Name: "Injective Protocol", Version: "2.0.0", ChainId: chainID, @@ -238,7 +238,7 @@ func (o *SpotOrder) ComputeOrderHash(nonce uint32) (common.Hash, error) { "TriggerPrice": triggerPrice, } - var typedData = gethsigner.TypedData{ + var typedData = apitypes.TypedData{ Types: eip712OrderTypes, PrimaryType: "SpotOrder", Domain: domain, diff --git a/chain/exchange/types/tx.pb.go b/chain/exchange/types/tx.pb.go index ad23db3c..28532a8a 100644 --- a/chain/exchange/types/tx.pb.go +++ b/chain/exchange/types/tx.pb.go @@ -7,13 +7,14 @@ import ( context "context" fmt "fmt" types1 "github.com/InjectiveLabs/sdk-go/chain/oracle/types" + _ "github.com/cosmos/cosmos-proto" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/cosmos-sdk/types/msgservice" types2 "github.com/cosmos/cosmos-sdk/x/distribution/types" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" - _ "github.com/regen-network/cosmos-proto" + _ "github.com/cosmos/gogoproto/gogoproto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -61,11 +62,104 @@ func (ExchangeType) EnumDescriptor() ([]byte, []int) { return fileDescriptor_bd45b74cb6d81462, []int{0} } -// MsgDeposit defines a SDK message for transferring coins from the sender's bank balance into the subaccount's exchange deposits +type MsgUpdateParams struct { + // authority is the address of the governance account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // params defines the exchange parameters to update. + // + // NOTE: All parameters must be supplied. + Params Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params"` +} + +func (m *MsgUpdateParams) Reset() { *m = MsgUpdateParams{} } +func (m *MsgUpdateParams) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParams) ProtoMessage() {} +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{0} +} +func (m *MsgUpdateParams) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParams.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParams) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParams.Merge(m, src) +} +func (m *MsgUpdateParams) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParams) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParams.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParams proto.InternalMessageInfo + +func (m *MsgUpdateParams) GetAuthority() string { + if m != nil { + return m.Authority + } + return "" +} + +func (m *MsgUpdateParams) GetParams() Params { + if m != nil { + return m.Params + } + return Params{} +} + +type MsgUpdateParamsResponse struct { +} + +func (m *MsgUpdateParamsResponse) Reset() { *m = MsgUpdateParamsResponse{} } +func (m *MsgUpdateParamsResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParamsResponse) ProtoMessage() {} +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{1} +} +func (m *MsgUpdateParamsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParamsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParamsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParamsResponse.Merge(m, src) +} +func (m *MsgUpdateParamsResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParamsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo + +// MsgDeposit defines a SDK message for transferring coins from the sender's +// bank balance into the subaccount's exchange deposits type MsgDeposit struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` - // (Optional) bytes32 subaccount ID to deposit funds into. If empty, the coin will be deposited to the sender's default - // subaccount address. + // (Optional) bytes32 subaccount ID to deposit funds into. If empty, the coin + // will be deposited to the sender's default subaccount address. SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` Amount types.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount"` } @@ -74,7 +168,7 @@ func (m *MsgDeposit) Reset() { *m = MsgDeposit{} } func (m *MsgDeposit) String() string { return proto.CompactTextString(m) } func (*MsgDeposit) ProtoMessage() {} func (*MsgDeposit) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{0} + return fileDescriptor_bd45b74cb6d81462, []int{2} } func (m *MsgDeposit) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -111,7 +205,7 @@ func (m *MsgDepositResponse) Reset() { *m = MsgDepositResponse{} } func (m *MsgDepositResponse) String() string { return proto.CompactTextString(m) } func (*MsgDepositResponse) ProtoMessage() {} func (*MsgDepositResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{1} + return fileDescriptor_bd45b74cb6d81462, []int{3} } func (m *MsgDepositResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -140,7 +234,8 @@ func (m *MsgDepositResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgDepositResponse proto.InternalMessageInfo -// MsgWithdraw defines a SDK message for withdrawing coins from a subaccount's deposits to the user's bank balance +// MsgWithdraw defines a SDK message for withdrawing coins from a subaccount's +// deposits to the user's bank balance type MsgWithdraw struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` // bytes32 subaccount ID to withdraw funds from @@ -152,7 +247,7 @@ func (m *MsgWithdraw) Reset() { *m = MsgWithdraw{} } func (m *MsgWithdraw) String() string { return proto.CompactTextString(m) } func (*MsgWithdraw) ProtoMessage() {} func (*MsgWithdraw) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{2} + return fileDescriptor_bd45b74cb6d81462, []int{4} } func (m *MsgWithdraw) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -189,7 +284,7 @@ func (m *MsgWithdrawResponse) Reset() { *m = MsgWithdrawResponse{} } func (m *MsgWithdrawResponse) String() string { return proto.CompactTextString(m) } func (*MsgWithdrawResponse) ProtoMessage() {} func (*MsgWithdrawResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{3} + return fileDescriptor_bd45b74cb6d81462, []int{5} } func (m *MsgWithdrawResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -218,7 +313,8 @@ func (m *MsgWithdrawResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgWithdrawResponse proto.InternalMessageInfo -// MsgCreateSpotLimitOrder defines a SDK message for creating a new spot limit order. +// MsgCreateSpotLimitOrder defines a SDK message for creating a new spot limit +// order. type MsgCreateSpotLimitOrder struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` Order SpotOrder `protobuf:"bytes,2,opt,name=order,proto3" json:"order"` @@ -228,7 +324,7 @@ func (m *MsgCreateSpotLimitOrder) Reset() { *m = MsgCreateSpotLimitOrder func (m *MsgCreateSpotLimitOrder) String() string { return proto.CompactTextString(m) } func (*MsgCreateSpotLimitOrder) ProtoMessage() {} func (*MsgCreateSpotLimitOrder) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{4} + return fileDescriptor_bd45b74cb6d81462, []int{6} } func (m *MsgCreateSpotLimitOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -257,7 +353,8 @@ func (m *MsgCreateSpotLimitOrder) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCreateSpotLimitOrder proto.InternalMessageInfo -// MsgCreateSpotLimitOrderResponse defines the Msg/CreateSpotOrder response type. +// MsgCreateSpotLimitOrderResponse defines the Msg/CreateSpotOrder response +// type. type MsgCreateSpotLimitOrderResponse struct { OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` } @@ -266,7 +363,7 @@ func (m *MsgCreateSpotLimitOrderResponse) Reset() { *m = MsgCreateSpotLi func (m *MsgCreateSpotLimitOrderResponse) String() string { return proto.CompactTextString(m) } func (*MsgCreateSpotLimitOrderResponse) ProtoMessage() {} func (*MsgCreateSpotLimitOrderResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{5} + return fileDescriptor_bd45b74cb6d81462, []int{7} } func (m *MsgCreateSpotLimitOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -295,7 +392,8 @@ func (m *MsgCreateSpotLimitOrderResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCreateSpotLimitOrderResponse proto.InternalMessageInfo -// MsgBatchCreateSpotLimitOrders defines a SDK message for creating a new batch of spot limit orders. +// MsgBatchCreateSpotLimitOrders defines a SDK message for creating a new batch +// of spot limit orders. type MsgBatchCreateSpotLimitOrders struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` Orders []SpotOrder `protobuf:"bytes,2,rep,name=orders,proto3" json:"orders"` @@ -305,7 +403,7 @@ func (m *MsgBatchCreateSpotLimitOrders) Reset() { *m = MsgBatchCreateSpo func (m *MsgBatchCreateSpotLimitOrders) String() string { return proto.CompactTextString(m) } func (*MsgBatchCreateSpotLimitOrders) ProtoMessage() {} func (*MsgBatchCreateSpotLimitOrders) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{6} + return fileDescriptor_bd45b74cb6d81462, []int{8} } func (m *MsgBatchCreateSpotLimitOrders) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -334,7 +432,8 @@ func (m *MsgBatchCreateSpotLimitOrders) XXX_DiscardUnknown() { var xxx_messageInfo_MsgBatchCreateSpotLimitOrders proto.InternalMessageInfo -// MsgBatchCreateSpotLimitOrdersResponse defines the Msg/BatchCreateSpotLimitOrders response type. +// MsgBatchCreateSpotLimitOrdersResponse defines the +// Msg/BatchCreateSpotLimitOrders response type. type MsgBatchCreateSpotLimitOrdersResponse struct { OrderHashes []string `protobuf:"bytes,1,rep,name=order_hashes,json=orderHashes,proto3" json:"order_hashes,omitempty"` } @@ -343,7 +442,7 @@ func (m *MsgBatchCreateSpotLimitOrdersResponse) Reset() { *m = MsgBatchC func (m *MsgBatchCreateSpotLimitOrdersResponse) String() string { return proto.CompactTextString(m) } func (*MsgBatchCreateSpotLimitOrdersResponse) ProtoMessage() {} func (*MsgBatchCreateSpotLimitOrdersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{7} + return fileDescriptor_bd45b74cb6d81462, []int{9} } func (m *MsgBatchCreateSpotLimitOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -372,7 +471,8 @@ func (m *MsgBatchCreateSpotLimitOrdersResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgBatchCreateSpotLimitOrdersResponse proto.InternalMessageInfo -// MsgInstantSpotMarketLaunch defines a SDK message for creating a new spot market by paying listing fee without governance +// MsgInstantSpotMarketLaunch defines a SDK message for creating a new spot +// market by paying listing fee without governance type MsgInstantSpotMarketLaunch struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` // Ticker for the spot market. @@ -383,7 +483,8 @@ type MsgInstantSpotMarketLaunch struct { QuoteDenom string `protobuf:"bytes,4,opt,name=quote_denom,json=quoteDenom,proto3" json:"quote_denom,omitempty"` // min_price_tick_size defines the minimum tick size of the order's price MinPriceTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_price_tick_size"` - // min_quantity_tick_size defines the minimum tick size of the order's quantity + // min_quantity_tick_size defines the minimum tick size of the order's + // quantity MinQuantityTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_quantity_tick_size"` } @@ -391,7 +492,7 @@ func (m *MsgInstantSpotMarketLaunch) Reset() { *m = MsgInstantSpotMarket func (m *MsgInstantSpotMarketLaunch) String() string { return proto.CompactTextString(m) } func (*MsgInstantSpotMarketLaunch) ProtoMessage() {} func (*MsgInstantSpotMarketLaunch) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{8} + return fileDescriptor_bd45b74cb6d81462, []int{10} } func (m *MsgInstantSpotMarketLaunch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -420,7 +521,8 @@ func (m *MsgInstantSpotMarketLaunch) XXX_DiscardUnknown() { var xxx_messageInfo_MsgInstantSpotMarketLaunch proto.InternalMessageInfo -// MsgInstantSpotMarketLaunchResponse defines the Msg/InstantSpotMarketLaunch response type. +// MsgInstantSpotMarketLaunchResponse defines the Msg/InstantSpotMarketLaunch +// response type. type MsgInstantSpotMarketLaunchResponse struct { } @@ -428,7 +530,7 @@ func (m *MsgInstantSpotMarketLaunchResponse) Reset() { *m = MsgInstantSp func (m *MsgInstantSpotMarketLaunchResponse) String() string { return proto.CompactTextString(m) } func (*MsgInstantSpotMarketLaunchResponse) ProtoMessage() {} func (*MsgInstantSpotMarketLaunchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{9} + return fileDescriptor_bd45b74cb6d81462, []int{11} } func (m *MsgInstantSpotMarketLaunchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -457,7 +559,8 @@ func (m *MsgInstantSpotMarketLaunchResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgInstantSpotMarketLaunchResponse proto.InternalMessageInfo -// MsgInstantPerpetualMarketLaunch defines a SDK message for creating a new perpetual futures market by paying listing fee without governance +// MsgInstantPerpetualMarketLaunch defines a SDK message for creating a new +// perpetual futures market by paying listing fee without governance type MsgInstantPerpetualMarketLaunch struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` // Ticker for the derivative market. @@ -472,17 +575,23 @@ type MsgInstantPerpetualMarketLaunch struct { OracleScaleFactor uint32 `protobuf:"varint,6,opt,name=oracle_scale_factor,json=oracleScaleFactor,proto3" json:"oracle_scale_factor,omitempty"` // Oracle type OracleType types1.OracleType `protobuf:"varint,7,opt,name=oracle_type,json=oracleType,proto3,enum=injective.oracle.v1beta1.OracleType" json:"oracle_type,omitempty"` - // maker_fee_rate defines the trade fee rate for makers on the perpetual market + // maker_fee_rate defines the trade fee rate for makers on the perpetual + // market MakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,8,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maker_fee_rate"` - // taker_fee_rate defines the trade fee rate for takers on the perpetual market + // taker_fee_rate defines the trade fee rate for takers on the perpetual + // market TakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,9,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"taker_fee_rate"` - // initial_margin_ratio defines the initial margin ratio for the perpetual market + // initial_margin_ratio defines the initial margin ratio for the perpetual + // market InitialMarginRatio github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,10,opt,name=initial_margin_ratio,json=initialMarginRatio,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"initial_margin_ratio"` - // maintenance_margin_ratio defines the maintenance margin ratio for the perpetual market + // maintenance_margin_ratio defines the maintenance margin ratio for the + // perpetual market MaintenanceMarginRatio github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,11,opt,name=maintenance_margin_ratio,json=maintenanceMarginRatio,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maintenance_margin_ratio"` - // min_price_tick_size defines the minimum tick size of the order's price and margin + // min_price_tick_size defines the minimum tick size of the order's price and + // margin MinPriceTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,12,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_price_tick_size"` - // min_quantity_tick_size defines the minimum tick size of the order's quantity + // min_quantity_tick_size defines the minimum tick size of the order's + // quantity MinQuantityTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,13,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_quantity_tick_size"` } @@ -490,7 +599,7 @@ func (m *MsgInstantPerpetualMarketLaunch) Reset() { *m = MsgInstantPerpe func (m *MsgInstantPerpetualMarketLaunch) String() string { return proto.CompactTextString(m) } func (*MsgInstantPerpetualMarketLaunch) ProtoMessage() {} func (*MsgInstantPerpetualMarketLaunch) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{10} + return fileDescriptor_bd45b74cb6d81462, []int{12} } func (m *MsgInstantPerpetualMarketLaunch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -519,7 +628,8 @@ func (m *MsgInstantPerpetualMarketLaunch) XXX_DiscardUnknown() { var xxx_messageInfo_MsgInstantPerpetualMarketLaunch proto.InternalMessageInfo -// MsgInstantPerpetualMarketLaunchResponse defines the Msg/InstantPerpetualMarketLaunchResponse response type. +// MsgInstantPerpetualMarketLaunchResponse defines the +// Msg/InstantPerpetualMarketLaunchResponse response type. type MsgInstantPerpetualMarketLaunchResponse struct { } @@ -529,7 +639,7 @@ func (m *MsgInstantPerpetualMarketLaunchResponse) Reset() { func (m *MsgInstantPerpetualMarketLaunchResponse) String() string { return proto.CompactTextString(m) } func (*MsgInstantPerpetualMarketLaunchResponse) ProtoMessage() {} func (*MsgInstantPerpetualMarketLaunchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{11} + return fileDescriptor_bd45b74cb6d81462, []int{13} } func (m *MsgInstantPerpetualMarketLaunchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -558,7 +668,8 @@ func (m *MsgInstantPerpetualMarketLaunchResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgInstantPerpetualMarketLaunchResponse proto.InternalMessageInfo -// MsgInstantBinaryOptionsMarketLaunch defines a SDK message for creating a new perpetual futures market by paying listing fee without governance +// MsgInstantBinaryOptionsMarketLaunch defines a SDK message for creating a new +// perpetual futures market by paying listing fee without governance type MsgInstantBinaryOptionsMarketLaunch struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` // Ticker for the derivative contract. @@ -571,9 +682,11 @@ type MsgInstantBinaryOptionsMarketLaunch struct { OracleType types1.OracleType `protobuf:"varint,5,opt,name=oracle_type,json=oracleType,proto3,enum=injective.oracle.v1beta1.OracleType" json:"oracle_type,omitempty"` // Scale factor for oracle prices. OracleScaleFactor uint32 `protobuf:"varint,6,opt,name=oracle_scale_factor,json=oracleScaleFactor,proto3" json:"oracle_scale_factor,omitempty"` - // maker_fee_rate defines the trade fee rate for makers on the perpetual market + // maker_fee_rate defines the trade fee rate for makers on the perpetual + // market MakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,7,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maker_fee_rate"` - // taker_fee_rate defines the trade fee rate for takers on the perpetual market + // taker_fee_rate defines the trade fee rate for takers on the perpetual + // market TakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,8,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"taker_fee_rate"` // expiration timestamp ExpirationTimestamp int64 `protobuf:"varint,9,opt,name=expiration_timestamp,json=expirationTimestamp,proto3" json:"expiration_timestamp,omitempty"` @@ -583,9 +696,11 @@ type MsgInstantBinaryOptionsMarketLaunch struct { Admin string `protobuf:"bytes,11,opt,name=admin,proto3" json:"admin,omitempty"` // Address of the quote currency denomination for the binary options contract QuoteDenom string `protobuf:"bytes,12,opt,name=quote_denom,json=quoteDenom,proto3" json:"quote_denom,omitempty"` - // min_price_tick_size defines the minimum tick size that the price and margin required for orders in the market + // min_price_tick_size defines the minimum tick size that the price and margin + // required for orders in the market MinPriceTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,13,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_price_tick_size"` - // min_quantity_tick_size defines the minimum tick size of the quantity required for orders in the market + // min_quantity_tick_size defines the minimum tick size of the quantity + // required for orders in the market MinQuantityTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,14,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_quantity_tick_size"` } @@ -593,7 +708,7 @@ func (m *MsgInstantBinaryOptionsMarketLaunch) Reset() { *m = MsgInstantB func (m *MsgInstantBinaryOptionsMarketLaunch) String() string { return proto.CompactTextString(m) } func (*MsgInstantBinaryOptionsMarketLaunch) ProtoMessage() {} func (*MsgInstantBinaryOptionsMarketLaunch) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{12} + return fileDescriptor_bd45b74cb6d81462, []int{14} } func (m *MsgInstantBinaryOptionsMarketLaunch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -622,7 +737,8 @@ func (m *MsgInstantBinaryOptionsMarketLaunch) XXX_DiscardUnknown() { var xxx_messageInfo_MsgInstantBinaryOptionsMarketLaunch proto.InternalMessageInfo -// MsgInstantBinaryOptionsMarketLaunchResponse defines the Msg/InstantBinaryOptionsMarketLaunchResponse response type. +// MsgInstantBinaryOptionsMarketLaunchResponse defines the +// Msg/InstantBinaryOptionsMarketLaunchResponse response type. type MsgInstantBinaryOptionsMarketLaunchResponse struct { } @@ -634,7 +750,7 @@ func (m *MsgInstantBinaryOptionsMarketLaunchResponse) String() string { } func (*MsgInstantBinaryOptionsMarketLaunchResponse) ProtoMessage() {} func (*MsgInstantBinaryOptionsMarketLaunchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{13} + return fileDescriptor_bd45b74cb6d81462, []int{15} } func (m *MsgInstantBinaryOptionsMarketLaunchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -663,7 +779,8 @@ func (m *MsgInstantBinaryOptionsMarketLaunchResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgInstantBinaryOptionsMarketLaunchResponse proto.InternalMessageInfo -// MsgInstantExpiryFuturesMarketLaunch defines a SDK message for creating a new expiry futures market by paying listing fee without governance +// MsgInstantExpiryFuturesMarketLaunch defines a SDK message for creating a new +// expiry futures market by paying listing fee without governance type MsgInstantExpiryFuturesMarketLaunch struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` // Ticker for the derivative market. @@ -680,17 +797,23 @@ type MsgInstantExpiryFuturesMarketLaunch struct { OracleScaleFactor uint32 `protobuf:"varint,7,opt,name=oracle_scale_factor,json=oracleScaleFactor,proto3" json:"oracle_scale_factor,omitempty"` // Expiration time of the market Expiry int64 `protobuf:"varint,8,opt,name=expiry,proto3" json:"expiry,omitempty"` - // maker_fee_rate defines the trade fee rate for makers on the expiry futures market + // maker_fee_rate defines the trade fee rate for makers on the expiry futures + // market MakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,9,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maker_fee_rate"` - // taker_fee_rate defines the trade fee rate for takers on the expiry futures market + // taker_fee_rate defines the trade fee rate for takers on the expiry futures + // market TakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,10,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"taker_fee_rate"` - // initial_margin_ratio defines the initial margin ratio for the derivative market + // initial_margin_ratio defines the initial margin ratio for the derivative + // market InitialMarginRatio github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,11,opt,name=initial_margin_ratio,json=initialMarginRatio,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"initial_margin_ratio"` - // maintenance_margin_ratio defines the maintenance margin ratio for the derivative market + // maintenance_margin_ratio defines the maintenance margin ratio for the + // derivative market MaintenanceMarginRatio github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,12,opt,name=maintenance_margin_ratio,json=maintenanceMarginRatio,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maintenance_margin_ratio"` - // min_price_tick_size defines the minimum tick size of the order's price and margin + // min_price_tick_size defines the minimum tick size of the order's price and + // margin MinPriceTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,13,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_price_tick_size"` - // min_quantity_tick_size defines the minimum tick size of the order's quantity + // min_quantity_tick_size defines the minimum tick size of the order's + // quantity MinQuantityTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,14,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_quantity_tick_size"` } @@ -698,7 +821,7 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Reset() { *m = MsgInstantE func (m *MsgInstantExpiryFuturesMarketLaunch) String() string { return proto.CompactTextString(m) } func (*MsgInstantExpiryFuturesMarketLaunch) ProtoMessage() {} func (*MsgInstantExpiryFuturesMarketLaunch) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{14} + return fileDescriptor_bd45b74cb6d81462, []int{16} } func (m *MsgInstantExpiryFuturesMarketLaunch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -727,7 +850,8 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) XXX_DiscardUnknown() { var xxx_messageInfo_MsgInstantExpiryFuturesMarketLaunch proto.InternalMessageInfo -// MsgInstantExpiryFuturesMarketLaunchResponse defines the Msg/InstantExpiryFuturesMarketLaunch response type. +// MsgInstantExpiryFuturesMarketLaunchResponse defines the +// Msg/InstantExpiryFuturesMarketLaunch response type. type MsgInstantExpiryFuturesMarketLaunchResponse struct { } @@ -739,7 +863,7 @@ func (m *MsgInstantExpiryFuturesMarketLaunchResponse) String() string { } func (*MsgInstantExpiryFuturesMarketLaunchResponse) ProtoMessage() {} func (*MsgInstantExpiryFuturesMarketLaunchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{15} + return fileDescriptor_bd45b74cb6d81462, []int{17} } func (m *MsgInstantExpiryFuturesMarketLaunchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -768,7 +892,8 @@ func (m *MsgInstantExpiryFuturesMarketLaunchResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgInstantExpiryFuturesMarketLaunchResponse proto.InternalMessageInfo -// MsgCreateSpotMarketOrder defines a SDK message for creating a new spot market order. +// MsgCreateSpotMarketOrder defines a SDK message for creating a new spot market +// order. type MsgCreateSpotMarketOrder struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` Order SpotOrder `protobuf:"bytes,2,opt,name=order,proto3" json:"order"` @@ -778,7 +903,7 @@ func (m *MsgCreateSpotMarketOrder) Reset() { *m = MsgCreateSpotMarketOrd func (m *MsgCreateSpotMarketOrder) String() string { return proto.CompactTextString(m) } func (*MsgCreateSpotMarketOrder) ProtoMessage() {} func (*MsgCreateSpotMarketOrder) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{16} + return fileDescriptor_bd45b74cb6d81462, []int{18} } func (m *MsgCreateSpotMarketOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -807,7 +932,8 @@ func (m *MsgCreateSpotMarketOrder) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCreateSpotMarketOrder proto.InternalMessageInfo -// MsgCreateSpotMarketOrderResponse defines the Msg/CreateSpotMarketLimitOrder response type. +// MsgCreateSpotMarketOrderResponse defines the Msg/CreateSpotMarketLimitOrder +// response type. type MsgCreateSpotMarketOrderResponse struct { OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` Results *SpotMarketOrderResults `protobuf:"bytes,2,opt,name=results,proto3" json:"results,omitempty"` @@ -817,7 +943,7 @@ func (m *MsgCreateSpotMarketOrderResponse) Reset() { *m = MsgCreateSpotM func (m *MsgCreateSpotMarketOrderResponse) String() string { return proto.CompactTextString(m) } func (*MsgCreateSpotMarketOrderResponse) ProtoMessage() {} func (*MsgCreateSpotMarketOrderResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{17} + return fileDescriptor_bd45b74cb6d81462, []int{19} } func (m *MsgCreateSpotMarketOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -856,7 +982,7 @@ func (m *SpotMarketOrderResults) Reset() { *m = SpotMarketOrderResults{} func (m *SpotMarketOrderResults) String() string { return proto.CompactTextString(m) } func (*SpotMarketOrderResults) ProtoMessage() {} func (*SpotMarketOrderResults) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{18} + return fileDescriptor_bd45b74cb6d81462, []int{20} } func (m *SpotMarketOrderResults) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -895,7 +1021,7 @@ func (m *MsgCreateDerivativeLimitOrder) Reset() { *m = MsgCreateDerivati func (m *MsgCreateDerivativeLimitOrder) String() string { return proto.CompactTextString(m) } func (*MsgCreateDerivativeLimitOrder) ProtoMessage() {} func (*MsgCreateDerivativeLimitOrder) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{19} + return fileDescriptor_bd45b74cb6d81462, []int{21} } func (m *MsgCreateDerivativeLimitOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -924,7 +1050,8 @@ func (m *MsgCreateDerivativeLimitOrder) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCreateDerivativeLimitOrder proto.InternalMessageInfo -// MsgCreateDerivativeLimitOrderResponse defines the Msg/CreateDerivativeMarketOrder response type. +// MsgCreateDerivativeLimitOrderResponse defines the +// Msg/CreateDerivativeMarketOrder response type. type MsgCreateDerivativeLimitOrderResponse struct { OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` } @@ -933,7 +1060,7 @@ func (m *MsgCreateDerivativeLimitOrderResponse) Reset() { *m = MsgCreate func (m *MsgCreateDerivativeLimitOrderResponse) String() string { return proto.CompactTextString(m) } func (*MsgCreateDerivativeLimitOrderResponse) ProtoMessage() {} func (*MsgCreateDerivativeLimitOrderResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{20} + return fileDescriptor_bd45b74cb6d81462, []int{22} } func (m *MsgCreateDerivativeLimitOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -972,7 +1099,7 @@ func (m *MsgCreateBinaryOptionsLimitOrder) Reset() { *m = MsgCreateBinar func (m *MsgCreateBinaryOptionsLimitOrder) String() string { return proto.CompactTextString(m) } func (*MsgCreateBinaryOptionsLimitOrder) ProtoMessage() {} func (*MsgCreateBinaryOptionsLimitOrder) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{21} + return fileDescriptor_bd45b74cb6d81462, []int{23} } func (m *MsgCreateBinaryOptionsLimitOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1001,7 +1128,8 @@ func (m *MsgCreateBinaryOptionsLimitOrder) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCreateBinaryOptionsLimitOrder proto.InternalMessageInfo -// MsgCreateBinaryOptionsLimitOrderResponse defines the Msg/CreateBinaryOptionsLimitOrder response type. +// MsgCreateBinaryOptionsLimitOrderResponse defines the +// Msg/CreateBinaryOptionsLimitOrder response type. type MsgCreateBinaryOptionsLimitOrderResponse struct { OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` } @@ -1012,7 +1140,7 @@ func (m *MsgCreateBinaryOptionsLimitOrderResponse) Reset() { func (m *MsgCreateBinaryOptionsLimitOrderResponse) String() string { return proto.CompactTextString(m) } func (*MsgCreateBinaryOptionsLimitOrderResponse) ProtoMessage() {} func (*MsgCreateBinaryOptionsLimitOrderResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{22} + return fileDescriptor_bd45b74cb6d81462, []int{24} } func (m *MsgCreateBinaryOptionsLimitOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1051,7 +1179,7 @@ func (m *MsgBatchCreateDerivativeLimitOrders) Reset() { *m = MsgBatchCre func (m *MsgBatchCreateDerivativeLimitOrders) String() string { return proto.CompactTextString(m) } func (*MsgBatchCreateDerivativeLimitOrders) ProtoMessage() {} func (*MsgBatchCreateDerivativeLimitOrders) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{23} + return fileDescriptor_bd45b74cb6d81462, []int{25} } func (m *MsgBatchCreateDerivativeLimitOrders) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1080,7 +1208,8 @@ func (m *MsgBatchCreateDerivativeLimitOrders) XXX_DiscardUnknown() { var xxx_messageInfo_MsgBatchCreateDerivativeLimitOrders proto.InternalMessageInfo -// MsgBatchCreateDerivativeLimitOrdersResponse defines the Msg/BatchCreateDerivativeLimitOrders response type. +// MsgBatchCreateDerivativeLimitOrdersResponse defines the +// Msg/BatchCreateDerivativeLimitOrders response type. type MsgBatchCreateDerivativeLimitOrdersResponse struct { OrderHashes []string `protobuf:"bytes,1,rep,name=order_hashes,json=orderHashes,proto3" json:"order_hashes,omitempty"` } @@ -1093,7 +1222,7 @@ func (m *MsgBatchCreateDerivativeLimitOrdersResponse) String() string { } func (*MsgBatchCreateDerivativeLimitOrdersResponse) ProtoMessage() {} func (*MsgBatchCreateDerivativeLimitOrdersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{24} + return fileDescriptor_bd45b74cb6d81462, []int{26} } func (m *MsgBatchCreateDerivativeLimitOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1134,7 +1263,7 @@ func (m *MsgCancelSpotOrder) Reset() { *m = MsgCancelSpotOrder{} } func (m *MsgCancelSpotOrder) String() string { return proto.CompactTextString(m) } func (*MsgCancelSpotOrder) ProtoMessage() {} func (*MsgCancelSpotOrder) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{25} + return fileDescriptor_bd45b74cb6d81462, []int{27} } func (m *MsgCancelSpotOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1171,7 +1300,7 @@ func (m *MsgCancelSpotOrderResponse) Reset() { *m = MsgCancelSpotOrderRe func (m *MsgCancelSpotOrderResponse) String() string { return proto.CompactTextString(m) } func (*MsgCancelSpotOrderResponse) ProtoMessage() {} func (*MsgCancelSpotOrderResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{26} + return fileDescriptor_bd45b74cb6d81462, []int{28} } func (m *MsgCancelSpotOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1210,7 +1339,7 @@ func (m *MsgBatchCancelSpotOrders) Reset() { *m = MsgBatchCancelSpotOrde func (m *MsgBatchCancelSpotOrders) String() string { return proto.CompactTextString(m) } func (*MsgBatchCancelSpotOrders) ProtoMessage() {} func (*MsgBatchCancelSpotOrders) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{27} + return fileDescriptor_bd45b74cb6d81462, []int{29} } func (m *MsgBatchCancelSpotOrders) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1239,7 +1368,8 @@ func (m *MsgBatchCancelSpotOrders) XXX_DiscardUnknown() { var xxx_messageInfo_MsgBatchCancelSpotOrders proto.InternalMessageInfo -// MsgBatchCancelSpotOrdersResponse defines the Msg/BatchCancelSpotOrders response type. +// MsgBatchCancelSpotOrdersResponse defines the Msg/BatchCancelSpotOrders +// response type. type MsgBatchCancelSpotOrdersResponse struct { Success []bool `protobuf:"varint,1,rep,packed,name=success,proto3" json:"success,omitempty"` } @@ -1248,7 +1378,7 @@ func (m *MsgBatchCancelSpotOrdersResponse) Reset() { *m = MsgBatchCancel func (m *MsgBatchCancelSpotOrdersResponse) String() string { return proto.CompactTextString(m) } func (*MsgBatchCancelSpotOrdersResponse) ProtoMessage() {} func (*MsgBatchCancelSpotOrdersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{28} + return fileDescriptor_bd45b74cb6d81462, []int{30} } func (m *MsgBatchCancelSpotOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1277,7 +1407,8 @@ func (m *MsgBatchCancelSpotOrdersResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgBatchCancelSpotOrdersResponse proto.InternalMessageInfo -// MsgBatchCancelBinaryOptionsOrders defines the Msg/BatchCancelBinaryOptionsOrders response type. +// MsgBatchCancelBinaryOptionsOrders defines the +// Msg/BatchCancelBinaryOptionsOrders response type. type MsgBatchCancelBinaryOptionsOrders struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` Data []OrderData `protobuf:"bytes,2,rep,name=data,proto3" json:"data"` @@ -1287,7 +1418,7 @@ func (m *MsgBatchCancelBinaryOptionsOrders) Reset() { *m = MsgBatchCance func (m *MsgBatchCancelBinaryOptionsOrders) String() string { return proto.CompactTextString(m) } func (*MsgBatchCancelBinaryOptionsOrders) ProtoMessage() {} func (*MsgBatchCancelBinaryOptionsOrders) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{29} + return fileDescriptor_bd45b74cb6d81462, []int{31} } func (m *MsgBatchCancelBinaryOptionsOrders) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1316,7 +1447,8 @@ func (m *MsgBatchCancelBinaryOptionsOrders) XXX_DiscardUnknown() { var xxx_messageInfo_MsgBatchCancelBinaryOptionsOrders proto.InternalMessageInfo -// BatchCancelBinaryOptionsOrdersResponse defines the Msg/BatchCancelBinaryOptionsOrders response type. +// BatchCancelBinaryOptionsOrdersResponse defines the +// Msg/BatchCancelBinaryOptionsOrders response type. type MsgBatchCancelBinaryOptionsOrdersResponse struct { Success []bool `protobuf:"varint,1,rep,packed,name=success,proto3" json:"success,omitempty"` } @@ -1329,7 +1461,7 @@ func (m *MsgBatchCancelBinaryOptionsOrdersResponse) String() string { } func (*MsgBatchCancelBinaryOptionsOrdersResponse) ProtoMessage() {} func (*MsgBatchCancelBinaryOptionsOrdersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{30} + return fileDescriptor_bd45b74cb6d81462, []int{32} } func (m *MsgBatchCancelBinaryOptionsOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1361,7 +1493,8 @@ var xxx_messageInfo_MsgBatchCancelBinaryOptionsOrdersResponse proto.InternalMess // MsgBatchUpdateOrders defines the Msg/BatchUpdateOrders response type. type MsgBatchUpdateOrders struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` - // subaccount_id only used for the spot_market_ids_to_cancel_all and derivative_market_ids_to_cancel_all. + // subaccount_id only used for the spot_market_ids_to_cancel_all and + // derivative_market_ids_to_cancel_all. SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` SpotMarketIdsToCancelAll []string `protobuf:"bytes,3,rep,name=spot_market_ids_to_cancel_all,json=spotMarketIdsToCancelAll,proto3" json:"spot_market_ids_to_cancel_all,omitempty"` DerivativeMarketIdsToCancelAll []string `protobuf:"bytes,4,rep,name=derivative_market_ids_to_cancel_all,json=derivativeMarketIdsToCancelAll,proto3" json:"derivative_market_ids_to_cancel_all,omitempty"` @@ -1378,7 +1511,7 @@ func (m *MsgBatchUpdateOrders) Reset() { *m = MsgBatchUpdateOrders{} } func (m *MsgBatchUpdateOrders) String() string { return proto.CompactTextString(m) } func (*MsgBatchUpdateOrders) ProtoMessage() {} func (*MsgBatchUpdateOrders) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{31} + return fileDescriptor_bd45b74cb6d81462, []int{33} } func (m *MsgBatchUpdateOrders) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1421,7 +1554,7 @@ func (m *MsgBatchUpdateOrdersResponse) Reset() { *m = MsgBatchUpdateOrde func (m *MsgBatchUpdateOrdersResponse) String() string { return proto.CompactTextString(m) } func (*MsgBatchUpdateOrdersResponse) ProtoMessage() {} func (*MsgBatchUpdateOrdersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{32} + return fileDescriptor_bd45b74cb6d81462, []int{34} } func (m *MsgBatchUpdateOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1460,7 +1593,7 @@ func (m *MsgCreateDerivativeMarketOrder) Reset() { *m = MsgCreateDerivat func (m *MsgCreateDerivativeMarketOrder) String() string { return proto.CompactTextString(m) } func (*MsgCreateDerivativeMarketOrder) ProtoMessage() {} func (*MsgCreateDerivativeMarketOrder) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{33} + return fileDescriptor_bd45b74cb6d81462, []int{35} } func (m *MsgCreateDerivativeMarketOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1489,7 +1622,8 @@ func (m *MsgCreateDerivativeMarketOrder) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCreateDerivativeMarketOrder proto.InternalMessageInfo -// MsgCreateDerivativeMarketOrderResponse defines the Msg/CreateDerivativeMarketOrder response type. +// MsgCreateDerivativeMarketOrderResponse defines the +// Msg/CreateDerivativeMarketOrder response type. type MsgCreateDerivativeMarketOrderResponse struct { OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` Results *DerivativeMarketOrderResults `protobuf:"bytes,2,opt,name=results,proto3" json:"results,omitempty"` @@ -1501,7 +1635,7 @@ func (m *MsgCreateDerivativeMarketOrderResponse) Reset() { func (m *MsgCreateDerivativeMarketOrderResponse) String() string { return proto.CompactTextString(m) } func (*MsgCreateDerivativeMarketOrderResponse) ProtoMessage() {} func (*MsgCreateDerivativeMarketOrderResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{34} + return fileDescriptor_bd45b74cb6d81462, []int{36} } func (m *MsgCreateDerivativeMarketOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1542,7 +1676,7 @@ func (m *DerivativeMarketOrderResults) Reset() { *m = DerivativeMarketOr func (m *DerivativeMarketOrderResults) String() string { return proto.CompactTextString(m) } func (*DerivativeMarketOrderResults) ProtoMessage() {} func (*DerivativeMarketOrderResults) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{35} + return fileDescriptor_bd45b74cb6d81462, []int{37} } func (m *DerivativeMarketOrderResults) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1581,7 +1715,7 @@ func (m *MsgCreateBinaryOptionsMarketOrder) Reset() { *m = MsgCreateBina func (m *MsgCreateBinaryOptionsMarketOrder) String() string { return proto.CompactTextString(m) } func (*MsgCreateBinaryOptionsMarketOrder) ProtoMessage() {} func (*MsgCreateBinaryOptionsMarketOrder) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{36} + return fileDescriptor_bd45b74cb6d81462, []int{38} } func (m *MsgCreateBinaryOptionsMarketOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1610,7 +1744,8 @@ func (m *MsgCreateBinaryOptionsMarketOrder) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCreateBinaryOptionsMarketOrder proto.InternalMessageInfo -// MsgCreateBinaryOptionsMarketOrderResponse defines the Msg/CreateBinaryOptionsMarketOrder response type. +// MsgCreateBinaryOptionsMarketOrderResponse defines the +// Msg/CreateBinaryOptionsMarketOrder response type. type MsgCreateBinaryOptionsMarketOrderResponse struct { OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` Results *DerivativeMarketOrderResults `protobuf:"bytes,2,opt,name=results,proto3" json:"results,omitempty"` @@ -1624,7 +1759,7 @@ func (m *MsgCreateBinaryOptionsMarketOrderResponse) String() string { } func (*MsgCreateBinaryOptionsMarketOrderResponse) ProtoMessage() {} func (*MsgCreateBinaryOptionsMarketOrderResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{37} + return fileDescriptor_bd45b74cb6d81462, []int{39} } func (m *MsgCreateBinaryOptionsMarketOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1666,7 +1801,7 @@ func (m *MsgCancelDerivativeOrder) Reset() { *m = MsgCancelDerivativeOrd func (m *MsgCancelDerivativeOrder) String() string { return proto.CompactTextString(m) } func (*MsgCancelDerivativeOrder) ProtoMessage() {} func (*MsgCancelDerivativeOrder) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{38} + return fileDescriptor_bd45b74cb6d81462, []int{40} } func (m *MsgCancelDerivativeOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1695,7 +1830,8 @@ func (m *MsgCancelDerivativeOrder) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCancelDerivativeOrder proto.InternalMessageInfo -// MsgCancelDerivativeOrderResponse defines the Msg/CancelDerivativeOrderResponse response type. +// MsgCancelDerivativeOrderResponse defines the +// Msg/CancelDerivativeOrderResponse response type. type MsgCancelDerivativeOrderResponse struct { } @@ -1703,7 +1839,7 @@ func (m *MsgCancelDerivativeOrderResponse) Reset() { *m = MsgCancelDeriv func (m *MsgCancelDerivativeOrderResponse) String() string { return proto.CompactTextString(m) } func (*MsgCancelDerivativeOrderResponse) ProtoMessage() {} func (*MsgCancelDerivativeOrderResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{39} + return fileDescriptor_bd45b74cb6d81462, []int{41} } func (m *MsgCancelDerivativeOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1732,7 +1868,8 @@ func (m *MsgCancelDerivativeOrderResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCancelDerivativeOrderResponse proto.InternalMessageInfo -// MsgCancelBinaryOptionsOrder defines the Msg/CancelBinaryOptionsOrder response type. +// MsgCancelBinaryOptionsOrder defines the Msg/CancelBinaryOptionsOrder response +// type. type MsgCancelBinaryOptionsOrder struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` @@ -1745,7 +1882,7 @@ func (m *MsgCancelBinaryOptionsOrder) Reset() { *m = MsgCancelBinaryOpti func (m *MsgCancelBinaryOptionsOrder) String() string { return proto.CompactTextString(m) } func (*MsgCancelBinaryOptionsOrder) ProtoMessage() {} func (*MsgCancelBinaryOptionsOrder) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{40} + return fileDescriptor_bd45b74cb6d81462, []int{42} } func (m *MsgCancelBinaryOptionsOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1774,7 +1911,8 @@ func (m *MsgCancelBinaryOptionsOrder) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCancelBinaryOptionsOrder proto.InternalMessageInfo -// MsgCancelBinaryOptionsOrderResponse defines the Msg/CancelBinaryOptionsOrderResponse response type. +// MsgCancelBinaryOptionsOrderResponse defines the +// Msg/CancelBinaryOptionsOrderResponse response type. type MsgCancelBinaryOptionsOrderResponse struct { } @@ -1782,7 +1920,7 @@ func (m *MsgCancelBinaryOptionsOrderResponse) Reset() { *m = MsgCancelBi func (m *MsgCancelBinaryOptionsOrderResponse) String() string { return proto.CompactTextString(m) } func (*MsgCancelBinaryOptionsOrderResponse) ProtoMessage() {} func (*MsgCancelBinaryOptionsOrderResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{41} + return fileDescriptor_bd45b74cb6d81462, []int{43} } func (m *MsgCancelBinaryOptionsOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1822,7 +1960,7 @@ func (m *OrderData) Reset() { *m = OrderData{} } func (m *OrderData) String() string { return proto.CompactTextString(m) } func (*OrderData) ProtoMessage() {} func (*OrderData) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{42} + return fileDescriptor_bd45b74cb6d81462, []int{44} } func (m *OrderData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1879,7 +2017,8 @@ func (m *OrderData) GetOrderMask() int32 { return 0 } -// MsgBatchCancelDerivativeOrders defines the Msg/CancelDerivativeOrders response type. +// MsgBatchCancelDerivativeOrders defines the Msg/CancelDerivativeOrders +// response type. type MsgBatchCancelDerivativeOrders struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` Data []OrderData `protobuf:"bytes,2,rep,name=data,proto3" json:"data"` @@ -1889,7 +2028,7 @@ func (m *MsgBatchCancelDerivativeOrders) Reset() { *m = MsgBatchCancelDe func (m *MsgBatchCancelDerivativeOrders) String() string { return proto.CompactTextString(m) } func (*MsgBatchCancelDerivativeOrders) ProtoMessage() {} func (*MsgBatchCancelDerivativeOrders) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{43} + return fileDescriptor_bd45b74cb6d81462, []int{45} } func (m *MsgBatchCancelDerivativeOrders) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1918,7 +2057,8 @@ func (m *MsgBatchCancelDerivativeOrders) XXX_DiscardUnknown() { var xxx_messageInfo_MsgBatchCancelDerivativeOrders proto.InternalMessageInfo -// MsgBatchCancelDerivativeOrdersResponse defines the Msg/CancelDerivativeOrderResponse response type. +// MsgBatchCancelDerivativeOrdersResponse defines the +// Msg/CancelDerivativeOrderResponse response type. type MsgBatchCancelDerivativeOrdersResponse struct { Success []bool `protobuf:"varint,1,rep,packed,name=success,proto3" json:"success,omitempty"` } @@ -1929,7 +2069,7 @@ func (m *MsgBatchCancelDerivativeOrdersResponse) Reset() { func (m *MsgBatchCancelDerivativeOrdersResponse) String() string { return proto.CompactTextString(m) } func (*MsgBatchCancelDerivativeOrdersResponse) ProtoMessage() {} func (*MsgBatchCancelDerivativeOrdersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{44} + return fileDescriptor_bd45b74cb6d81462, []int{46} } func (m *MsgBatchCancelDerivativeOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1970,7 +2110,7 @@ func (m *MsgSubaccountTransfer) Reset() { *m = MsgSubaccountTransfer{} } func (m *MsgSubaccountTransfer) String() string { return proto.CompactTextString(m) } func (*MsgSubaccountTransfer) ProtoMessage() {} func (*MsgSubaccountTransfer) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{45} + return fileDescriptor_bd45b74cb6d81462, []int{47} } func (m *MsgSubaccountTransfer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2027,7 +2167,8 @@ func (m *MsgSubaccountTransfer) GetAmount() types.Coin { return types.Coin{} } -// MsgSubaccountTransferResponse defines the Msg/SubaccountTransfer response type. +// MsgSubaccountTransferResponse defines the Msg/SubaccountTransfer response +// type. type MsgSubaccountTransferResponse struct { } @@ -2035,7 +2176,7 @@ func (m *MsgSubaccountTransferResponse) Reset() { *m = MsgSubaccountTran func (m *MsgSubaccountTransferResponse) String() string { return proto.CompactTextString(m) } func (*MsgSubaccountTransferResponse) ProtoMessage() {} func (*MsgSubaccountTransferResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{46} + return fileDescriptor_bd45b74cb6d81462, []int{48} } func (m *MsgSubaccountTransferResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2076,7 +2217,7 @@ func (m *MsgExternalTransfer) Reset() { *m = MsgExternalTransfer{} } func (m *MsgExternalTransfer) String() string { return proto.CompactTextString(m) } func (*MsgExternalTransfer) ProtoMessage() {} func (*MsgExternalTransfer) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{47} + return fileDescriptor_bd45b74cb6d81462, []int{49} } func (m *MsgExternalTransfer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2141,7 +2282,7 @@ func (m *MsgExternalTransferResponse) Reset() { *m = MsgExternalTransfer func (m *MsgExternalTransferResponse) String() string { return proto.CompactTextString(m) } func (*MsgExternalTransferResponse) ProtoMessage() {} func (*MsgExternalTransferResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{48} + return fileDescriptor_bd45b74cb6d81462, []int{50} } func (m *MsgExternalTransferResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2183,7 +2324,7 @@ func (m *MsgLiquidatePosition) Reset() { *m = MsgLiquidatePosition{} } func (m *MsgLiquidatePosition) String() string { return proto.CompactTextString(m) } func (*MsgLiquidatePosition) ProtoMessage() {} func (*MsgLiquidatePosition) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{49} + return fileDescriptor_bd45b74cb6d81462, []int{51} } func (m *MsgLiquidatePosition) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2248,7 +2389,7 @@ func (m *MsgLiquidatePositionResponse) Reset() { *m = MsgLiquidatePositi func (m *MsgLiquidatePositionResponse) String() string { return proto.CompactTextString(m) } func (*MsgLiquidatePositionResponse) ProtoMessage() {} func (*MsgLiquidatePositionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{50} + return fileDescriptor_bd45b74cb6d81462, []int{52} } func (m *MsgLiquidatePositionResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2291,7 +2432,7 @@ func (m *MsgIncreasePositionMargin) Reset() { *m = MsgIncreasePositionMa func (m *MsgIncreasePositionMargin) String() string { return proto.CompactTextString(m) } func (*MsgIncreasePositionMargin) ProtoMessage() {} func (*MsgIncreasePositionMargin) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{51} + return fileDescriptor_bd45b74cb6d81462, []int{53} } func (m *MsgIncreasePositionMargin) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2348,7 +2489,8 @@ func (m *MsgIncreasePositionMargin) GetMarketId() string { return "" } -// MsgIncreasePositionMarginResponse defines the Msg/IncreasePositionMargin response type. +// MsgIncreasePositionMarginResponse defines the Msg/IncreasePositionMargin +// response type. type MsgIncreasePositionMarginResponse struct { } @@ -2356,7 +2498,7 @@ func (m *MsgIncreasePositionMarginResponse) Reset() { *m = MsgIncreasePo func (m *MsgIncreasePositionMarginResponse) String() string { return proto.CompactTextString(m) } func (*MsgIncreasePositionMarginResponse) ProtoMessage() {} func (*MsgIncreasePositionMarginResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{52} + return fileDescriptor_bd45b74cb6d81462, []int{54} } func (m *MsgIncreasePositionMarginResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2388,7 +2530,8 @@ var xxx_messageInfo_MsgIncreasePositionMarginResponse proto.InternalMessageInfo // MsgPrivilegedExecuteContract defines the Msg/Exec message type type MsgPrivilegedExecuteContract struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` - // funds defines the user's bank coins used to fund the execution (e.g. 100inj). + // funds defines the user's bank coins used to fund the execution (e.g. + // 100inj). Funds string `protobuf:"bytes,2,opt,name=funds,proto3" json:"funds,omitempty"` // contract_address defines the contract address to execute ContractAddress string `protobuf:"bytes,3,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"` @@ -2400,7 +2543,7 @@ func (m *MsgPrivilegedExecuteContract) Reset() { *m = MsgPrivilegedExecu func (m *MsgPrivilegedExecuteContract) String() string { return proto.CompactTextString(m) } func (*MsgPrivilegedExecuteContract) ProtoMessage() {} func (*MsgPrivilegedExecuteContract) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{53} + return fileDescriptor_bd45b74cb6d81462, []int{55} } func (m *MsgPrivilegedExecuteContract) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2438,7 +2581,7 @@ func (m *MsgPrivilegedExecuteContractResponse) Reset() { *m = MsgPrivile func (m *MsgPrivilegedExecuteContractResponse) String() string { return proto.CompactTextString(m) } func (*MsgPrivilegedExecuteContractResponse) ProtoMessage() {} func (*MsgPrivilegedExecuteContractResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{54} + return fileDescriptor_bd45b74cb6d81462, []int{56} } func (m *MsgPrivilegedExecuteContractResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2475,11 +2618,14 @@ type SpotMarketParamUpdateProposal struct { MakerFeeRate *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maker_fee_rate,omitempty"` // taker_fee_rate defines the trade fee rate for takers on the spot market TakerFeeRate *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"taker_fee_rate,omitempty"` - // relayer_fee_share_rate defines the relayer fee share rate for the spot market + // relayer_fee_share_rate defines the relayer fee share rate for the spot + // market RelayerFeeShareRate *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"relayer_fee_share_rate,omitempty"` - // min_price_tick_size defines the minimum tick size of the order's price and margin + // min_price_tick_size defines the minimum tick size of the order's price and + // margin MinPriceTickSize *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,7,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_price_tick_size,omitempty"` - // min_quantity_tick_size defines the minimum tick size of the order's quantity + // min_quantity_tick_size defines the minimum tick size of the order's + // quantity MinQuantityTickSize *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,8,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_quantity_tick_size,omitempty"` Status MarketStatus `protobuf:"varint,9,opt,name=status,proto3,enum=injective.exchange.v1beta1.MarketStatus" json:"status,omitempty"` } @@ -2488,7 +2634,7 @@ func (m *SpotMarketParamUpdateProposal) Reset() { *m = SpotMarketParamUp func (m *SpotMarketParamUpdateProposal) String() string { return proto.CompactTextString(m) } func (*SpotMarketParamUpdateProposal) ProtoMessage() {} func (*SpotMarketParamUpdateProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{55} + return fileDescriptor_bd45b74cb6d81462, []int{57} } func (m *SpotMarketParamUpdateProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2527,7 +2673,7 @@ func (m *ExchangeEnableProposal) Reset() { *m = ExchangeEnableProposal{} func (m *ExchangeEnableProposal) String() string { return proto.CompactTextString(m) } func (*ExchangeEnableProposal) ProtoMessage() {} func (*ExchangeEnableProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{56} + return fileDescriptor_bd45b74cb6d81462, []int{58} } func (m *ExchangeEnableProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2574,7 +2720,7 @@ func (m *BatchExchangeModificationProposal) Reset() { *m = BatchExchange func (m *BatchExchangeModificationProposal) String() string { return proto.CompactTextString(m) } func (*BatchExchangeModificationProposal) ProtoMessage() {} func (*BatchExchangeModificationProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{57} + return fileDescriptor_bd45b74cb6d81462, []int{59} } func (m *BatchExchangeModificationProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2603,7 +2749,8 @@ func (m *BatchExchangeModificationProposal) XXX_DiscardUnknown() { var xxx_messageInfo_BatchExchangeModificationProposal proto.InternalMessageInfo -// SpotMarketLaunchProposal defines a SDK message for proposing a new spot market through governance +// SpotMarketLaunchProposal defines a SDK message for proposing a new spot +// market through governance type SpotMarketLaunchProposal struct { Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` @@ -2615,7 +2762,8 @@ type SpotMarketLaunchProposal struct { QuoteDenom string `protobuf:"bytes,5,opt,name=quote_denom,json=quoteDenom,proto3" json:"quote_denom,omitempty"` // min_price_tick_size defines the minimum tick size of the order's price MinPriceTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_price_tick_size"` - // min_quantity_tick_size defines the minimum tick size of the order's quantity + // min_quantity_tick_size defines the minimum tick size of the order's + // quantity MinQuantityTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,7,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_quantity_tick_size"` // maker_fee_rate defines the fee percentage makers pay when trading MakerFeeRate *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,8,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maker_fee_rate,omitempty"` @@ -2627,7 +2775,7 @@ func (m *SpotMarketLaunchProposal) Reset() { *m = SpotMarketLaunchPropos func (m *SpotMarketLaunchProposal) String() string { return proto.CompactTextString(m) } func (*SpotMarketLaunchProposal) ProtoMessage() {} func (*SpotMarketLaunchProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{58} + return fileDescriptor_bd45b74cb6d81462, []int{60} } func (m *SpotMarketLaunchProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2656,7 +2804,8 @@ func (m *SpotMarketLaunchProposal) XXX_DiscardUnknown() { var xxx_messageInfo_SpotMarketLaunchProposal proto.InternalMessageInfo -// PerpetualMarketLaunchProposal defines a SDK message for proposing a new perpetual futures market through governance +// PerpetualMarketLaunchProposal defines a SDK message for proposing a new +// perpetual futures market through governance type PerpetualMarketLaunchProposal struct { Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` @@ -2672,17 +2821,23 @@ type PerpetualMarketLaunchProposal struct { OracleScaleFactor uint32 `protobuf:"varint,7,opt,name=oracle_scale_factor,json=oracleScaleFactor,proto3" json:"oracle_scale_factor,omitempty"` // Oracle type OracleType types1.OracleType `protobuf:"varint,8,opt,name=oracle_type,json=oracleType,proto3,enum=injective.oracle.v1beta1.OracleType" json:"oracle_type,omitempty"` - // initial_margin_ratio defines the initial margin ratio for the derivative market + // initial_margin_ratio defines the initial margin ratio for the derivative + // market InitialMarginRatio github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,9,opt,name=initial_margin_ratio,json=initialMarginRatio,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"initial_margin_ratio"` - // maintenance_margin_ratio defines the maintenance margin ratio for the derivative market + // maintenance_margin_ratio defines the maintenance margin ratio for the + // derivative market MaintenanceMarginRatio github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,10,opt,name=maintenance_margin_ratio,json=maintenanceMarginRatio,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maintenance_margin_ratio"` - // maker_fee_rate defines the exchange trade fee for makers for the derivative market + // maker_fee_rate defines the exchange trade fee for makers for the derivative + // market MakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,11,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maker_fee_rate"` - // taker_fee_rate defines the exchange trade fee for takers for the derivative market + // taker_fee_rate defines the exchange trade fee for takers for the derivative + // market TakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,12,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"taker_fee_rate"` - // min_price_tick_size defines the minimum tick size of the order's price and margin + // min_price_tick_size defines the minimum tick size of the order's price and + // margin MinPriceTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,13,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_price_tick_size"` - // min_quantity_tick_size defines the minimum tick size of the order's quantity + // min_quantity_tick_size defines the minimum tick size of the order's + // quantity MinQuantityTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,14,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_quantity_tick_size"` } @@ -2690,7 +2845,7 @@ func (m *PerpetualMarketLaunchProposal) Reset() { *m = PerpetualMarketLa func (m *PerpetualMarketLaunchProposal) String() string { return proto.CompactTextString(m) } func (*PerpetualMarketLaunchProposal) ProtoMessage() {} func (*PerpetualMarketLaunchProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{59} + return fileDescriptor_bd45b74cb6d81462, []int{61} } func (m *PerpetualMarketLaunchProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2744,9 +2899,11 @@ type BinaryOptionsMarketLaunchProposal struct { MakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,12,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maker_fee_rate"` // taker_fee_rate defines the taker fee rate of a derivative market TakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,13,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"taker_fee_rate"` - // min_price_tick_size defines the minimum tick size that the price and margin required for orders in the market + // min_price_tick_size defines the minimum tick size that the price and margin + // required for orders in the market MinPriceTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,14,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_price_tick_size"` - // min_quantity_tick_size defines the minimum tick size of the quantity required for orders in the market + // min_quantity_tick_size defines the minimum tick size of the quantity + // required for orders in the market MinQuantityTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,15,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_quantity_tick_size"` } @@ -2754,7 +2911,7 @@ func (m *BinaryOptionsMarketLaunchProposal) Reset() { *m = BinaryOptions func (m *BinaryOptionsMarketLaunchProposal) String() string { return proto.CompactTextString(m) } func (*BinaryOptionsMarketLaunchProposal) ProtoMessage() {} func (*BinaryOptionsMarketLaunchProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{60} + return fileDescriptor_bd45b74cb6d81462, []int{62} } func (m *BinaryOptionsMarketLaunchProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2783,7 +2940,8 @@ func (m *BinaryOptionsMarketLaunchProposal) XXX_DiscardUnknown() { var xxx_messageInfo_BinaryOptionsMarketLaunchProposal proto.InternalMessageInfo -// ExpiryFuturesMarketLaunchProposal defines a SDK message for proposing a new expiry futures market through governance +// ExpiryFuturesMarketLaunchProposal defines a SDK message for proposing a new +// expiry futures market through governance type ExpiryFuturesMarketLaunchProposal struct { Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` @@ -2801,17 +2959,23 @@ type ExpiryFuturesMarketLaunchProposal struct { OracleType types1.OracleType `protobuf:"varint,8,opt,name=oracle_type,json=oracleType,proto3,enum=injective.oracle.v1beta1.OracleType" json:"oracle_type,omitempty"` // Expiration time of the market Expiry int64 `protobuf:"varint,9,opt,name=expiry,proto3" json:"expiry,omitempty"` - // initial_margin_ratio defines the initial margin ratio for the derivative market + // initial_margin_ratio defines the initial margin ratio for the derivative + // market InitialMarginRatio github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,10,opt,name=initial_margin_ratio,json=initialMarginRatio,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"initial_margin_ratio"` - // maintenance_margin_ratio defines the maintenance margin ratio for the derivative market + // maintenance_margin_ratio defines the maintenance margin ratio for the + // derivative market MaintenanceMarginRatio github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,11,opt,name=maintenance_margin_ratio,json=maintenanceMarginRatio,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maintenance_margin_ratio"` - // maker_fee_rate defines the exchange trade fee for makers for the derivative market + // maker_fee_rate defines the exchange trade fee for makers for the derivative + // market MakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,12,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maker_fee_rate"` - // taker_fee_rate defines the exchange trade fee for takers for the derivative market + // taker_fee_rate defines the exchange trade fee for takers for the derivative + // market TakerFeeRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,13,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"taker_fee_rate"` - // min_price_tick_size defines the minimum tick size of the order's price and margin + // min_price_tick_size defines the minimum tick size of the order's price and + // margin MinPriceTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,14,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_price_tick_size"` - // min_quantity_tick_size defines the minimum tick size of the order's quantity + // min_quantity_tick_size defines the minimum tick size of the order's + // quantity MinQuantityTickSize github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,15,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_quantity_tick_size"` } @@ -2819,7 +2983,7 @@ func (m *ExpiryFuturesMarketLaunchProposal) Reset() { *m = ExpiryFutures func (m *ExpiryFuturesMarketLaunchProposal) String() string { return proto.CompactTextString(m) } func (*ExpiryFuturesMarketLaunchProposal) ProtoMessage() {} func (*ExpiryFuturesMarketLaunchProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{61} + return fileDescriptor_bd45b74cb6d81462, []int{63} } func (m *ExpiryFuturesMarketLaunchProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2852,23 +3016,31 @@ type DerivativeMarketParamUpdateProposal struct { Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - // initial_margin_ratio defines the initial margin ratio for the derivative market + // initial_margin_ratio defines the initial margin ratio for the derivative + // market InitialMarginRatio *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=initial_margin_ratio,json=initialMarginRatio,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"initial_margin_ratio,omitempty"` - // maintenance_margin_ratio defines the maintenance margin ratio for the derivative market + // maintenance_margin_ratio defines the maintenance margin ratio for the + // derivative market MaintenanceMarginRatio *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=maintenance_margin_ratio,json=maintenanceMarginRatio,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maintenance_margin_ratio,omitempty"` - // maker_fee_rate defines the exchange trade fee for makers for the derivative market + // maker_fee_rate defines the exchange trade fee for makers for the derivative + // market MakerFeeRate *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maker_fee_rate,omitempty"` - // taker_fee_rate defines the exchange trade fee for takers for the derivative market + // taker_fee_rate defines the exchange trade fee for takers for the derivative + // market TakerFeeRate *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,7,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"taker_fee_rate,omitempty"` - // relayer_fee_share_rate defines the relayer fee share rate for the derivative market + // relayer_fee_share_rate defines the relayer fee share rate for the + // derivative market RelayerFeeShareRate *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,8,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"relayer_fee_share_rate,omitempty"` - // min_price_tick_size defines the minimum tick size of the order's price and margin + // min_price_tick_size defines the minimum tick size of the order's price and + // margin MinPriceTickSize *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,9,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_price_tick_size,omitempty"` - // min_quantity_tick_size defines the minimum tick size of the order's quantity + // min_quantity_tick_size defines the minimum tick size of the order's + // quantity MinQuantityTickSize *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,10,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_quantity_tick_size,omitempty"` // hourly_interest_rate defines the hourly interest rate HourlyInterestRate *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,11,opt,name=HourlyInterestRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"HourlyInterestRate,omitempty"` - // hourly_funding_rate_cap defines the maximum absolute value of the hourly funding rate + // hourly_funding_rate_cap defines the maximum absolute value of the hourly + // funding rate HourlyFundingRateCap *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,12,opt,name=HourlyFundingRateCap,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"HourlyFundingRateCap,omitempty"` Status MarketStatus `protobuf:"varint,13,opt,name=status,proto3,enum=injective.exchange.v1beta1.MarketStatus" json:"status,omitempty"` OracleParams *OracleParams `protobuf:"bytes,14,opt,name=oracle_params,json=oracleParams,proto3" json:"oracle_params,omitempty"` @@ -2878,7 +3050,7 @@ func (m *DerivativeMarketParamUpdateProposal) Reset() { *m = DerivativeM func (m *DerivativeMarketParamUpdateProposal) String() string { return proto.CompactTextString(m) } func (*DerivativeMarketParamUpdateProposal) ProtoMessage() {} func (*DerivativeMarketParamUpdateProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{62} + return fileDescriptor_bd45b74cb6d81462, []int{64} } func (m *DerivativeMarketParamUpdateProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2918,7 +3090,7 @@ func (m *MarketForcedSettlementProposal) Reset() { *m = MarketForcedSett func (m *MarketForcedSettlementProposal) String() string { return proto.CompactTextString(m) } func (*MarketForcedSettlementProposal) ProtoMessage() {} func (*MarketForcedSettlementProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{63} + return fileDescriptor_bd45b74cb6d81462, []int{65} } func (m *MarketForcedSettlementProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2957,7 +3129,7 @@ func (m *UpdateDenomDecimalsProposal) Reset() { *m = UpdateDenomDecimals func (m *UpdateDenomDecimalsProposal) String() string { return proto.CompactTextString(m) } func (*UpdateDenomDecimalsProposal) ProtoMessage() {} func (*UpdateDenomDecimalsProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{64} + return fileDescriptor_bd45b74cb6d81462, []int{66} } func (m *UpdateDenomDecimalsProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2990,15 +3162,20 @@ type BinaryOptionsMarketParamUpdateProposal struct { Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - // maker_fee_rate defines the exchange trade fee for makers for the derivative market + // maker_fee_rate defines the exchange trade fee for makers for the derivative + // market MakerFeeRate *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maker_fee_rate,omitempty"` - // taker_fee_rate defines the exchange trade fee for takers for the derivative market + // taker_fee_rate defines the exchange trade fee for takers for the derivative + // market TakerFeeRate *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"taker_fee_rate,omitempty"` - // relayer_fee_share_rate defines the relayer fee share rate for the derivative market + // relayer_fee_share_rate defines the relayer fee share rate for the + // derivative market RelayerFeeShareRate *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"relayer_fee_share_rate,omitempty"` - // min_price_tick_size defines the minimum tick size of the order's price and margin + // min_price_tick_size defines the minimum tick size of the order's price and + // margin MinPriceTickSize *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,7,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_price_tick_size,omitempty"` - // min_quantity_tick_size defines the minimum tick size of the order's quantity + // min_quantity_tick_size defines the minimum tick size of the order's + // quantity MinQuantityTickSize *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,8,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_quantity_tick_size,omitempty"` // expiration timestamp ExpirationTimestamp int64 `protobuf:"varint,9,opt,name=expiration_timestamp,json=expirationTimestamp,proto3" json:"expiration_timestamp,omitempty"` @@ -3018,7 +3195,7 @@ func (m *BinaryOptionsMarketParamUpdateProposal) Reset() { func (m *BinaryOptionsMarketParamUpdateProposal) String() string { return proto.CompactTextString(m) } func (*BinaryOptionsMarketParamUpdateProposal) ProtoMessage() {} func (*BinaryOptionsMarketParamUpdateProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{65} + return fileDescriptor_bd45b74cb6d81462, []int{67} } func (m *BinaryOptionsMarketParamUpdateProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3062,7 +3239,7 @@ func (m *ProviderOracleParams) Reset() { *m = ProviderOracleParams{} } func (m *ProviderOracleParams) String() string { return proto.CompactTextString(m) } func (*ProviderOracleParams) ProtoMessage() {} func (*ProviderOracleParams) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{66} + return fileDescriptor_bd45b74cb6d81462, []int{68} } func (m *ProviderOracleParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3134,7 +3311,7 @@ func (m *OracleParams) Reset() { *m = OracleParams{} } func (m *OracleParams) String() string { return proto.CompactTextString(m) } func (*OracleParams) ProtoMessage() {} func (*OracleParams) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{67} + return fileDescriptor_bd45b74cb6d81462, []int{69} } func (m *OracleParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3202,7 +3379,7 @@ func (m *TradingRewardCampaignLaunchProposal) Reset() { *m = TradingRewa func (m *TradingRewardCampaignLaunchProposal) String() string { return proto.CompactTextString(m) } func (*TradingRewardCampaignLaunchProposal) ProtoMessage() {} func (*TradingRewardCampaignLaunchProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{68} + return fileDescriptor_bd45b74cb6d81462, []int{70} } func (m *TradingRewardCampaignLaunchProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3243,7 +3420,7 @@ func (m *TradingRewardCampaignUpdateProposal) Reset() { *m = TradingRewa func (m *TradingRewardCampaignUpdateProposal) String() string { return proto.CompactTextString(m) } func (*TradingRewardCampaignUpdateProposal) ProtoMessage() {} func (*TradingRewardCampaignUpdateProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{69} + return fileDescriptor_bd45b74cb6d81462, []int{71} } func (m *TradingRewardCampaignUpdateProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3282,7 +3459,7 @@ func (m *RewardPointUpdate) Reset() { *m = RewardPointUpdate{} } func (m *RewardPointUpdate) String() string { return proto.CompactTextString(m) } func (*RewardPointUpdate) ProtoMessage() {} func (*RewardPointUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{70} + return fileDescriptor_bd45b74cb6d81462, []int{72} } func (m *RewardPointUpdate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3331,7 +3508,7 @@ func (m *TradingRewardPendingPointsUpdateProposal) Reset() { func (m *TradingRewardPendingPointsUpdateProposal) String() string { return proto.CompactTextString(m) } func (*TradingRewardPendingPointsUpdateProposal) ProtoMessage() {} func (*TradingRewardPendingPointsUpdateProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{71} + return fileDescriptor_bd45b74cb6d81462, []int{73} } func (m *TradingRewardPendingPointsUpdateProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3370,7 +3547,7 @@ func (m *FeeDiscountProposal) Reset() { *m = FeeDiscountProposal{} } func (m *FeeDiscountProposal) String() string { return proto.CompactTextString(m) } func (*FeeDiscountProposal) ProtoMessage() {} func (*FeeDiscountProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{72} + return fileDescriptor_bd45b74cb6d81462, []int{74} } func (m *FeeDiscountProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3409,7 +3586,7 @@ func (m *BatchCommunityPoolSpendProposal) Reset() { *m = BatchCommunityP func (m *BatchCommunityPoolSpendProposal) String() string { return proto.CompactTextString(m) } func (*BatchCommunityPoolSpendProposal) ProtoMessage() {} func (*BatchCommunityPoolSpendProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{73} + return fileDescriptor_bd45b74cb6d81462, []int{75} } func (m *BatchCommunityPoolSpendProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3447,7 +3624,7 @@ func (m *MsgRewardsOptOut) Reset() { *m = MsgRewardsOptOut{} } func (m *MsgRewardsOptOut) String() string { return proto.CompactTextString(m) } func (*MsgRewardsOptOut) ProtoMessage() {} func (*MsgRewardsOptOut) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{74} + return fileDescriptor_bd45b74cb6d81462, []int{76} } func (m *MsgRewardsOptOut) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3491,7 +3668,7 @@ func (m *MsgRewardsOptOutResponse) Reset() { *m = MsgRewardsOptOutRespon func (m *MsgRewardsOptOutResponse) String() string { return proto.CompactTextString(m) } func (*MsgRewardsOptOutResponse) ProtoMessage() {} func (*MsgRewardsOptOutResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{75} + return fileDescriptor_bd45b74cb6d81462, []int{77} } func (m *MsgRewardsOptOutResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3531,7 +3708,7 @@ func (m *MsgReclaimLockedFunds) Reset() { *m = MsgReclaimLockedFunds{} } func (m *MsgReclaimLockedFunds) String() string { return proto.CompactTextString(m) } func (*MsgReclaimLockedFunds) ProtoMessage() {} func (*MsgReclaimLockedFunds) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{76} + return fileDescriptor_bd45b74cb6d81462, []int{78} } func (m *MsgReclaimLockedFunds) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3581,7 +3758,8 @@ func (m *MsgReclaimLockedFunds) GetSignature() []byte { return nil } -// MsgReclaimLockedFundsResponse defines the Msg/ReclaimLockedFunds response type. +// MsgReclaimLockedFundsResponse defines the Msg/ReclaimLockedFunds response +// type. type MsgReclaimLockedFundsResponse struct { } @@ -3589,7 +3767,7 @@ func (m *MsgReclaimLockedFundsResponse) Reset() { *m = MsgReclaimLockedF func (m *MsgReclaimLockedFundsResponse) String() string { return proto.CompactTextString(m) } func (*MsgReclaimLockedFundsResponse) ProtoMessage() {} func (*MsgReclaimLockedFundsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{77} + return fileDescriptor_bd45b74cb6d81462, []int{79} } func (m *MsgReclaimLockedFundsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3622,7 +3800,8 @@ var xxx_messageInfo_MsgReclaimLockedFundsResponse proto.InternalMessageInfo type MsgSignData struct { // Signer is the sdk.AccAddress of the message signer Signer github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=Signer,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"signer"` - // Data represents the raw bytes of the content that is signed (text, json, etc) + // Data represents the raw bytes of the content that is signed (text, json, + // etc) Data []byte `protobuf:"bytes,2,opt,name=Data,proto3" json:"data"` } @@ -3630,7 +3809,7 @@ func (m *MsgSignData) Reset() { *m = MsgSignData{} } func (m *MsgSignData) String() string { return proto.CompactTextString(m) } func (*MsgSignData) ProtoMessage() {} func (*MsgSignData) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{78} + return fileDescriptor_bd45b74cb6d81462, []int{80} } func (m *MsgSignData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3683,7 +3862,7 @@ func (m *MsgSignDoc) Reset() { *m = MsgSignDoc{} } func (m *MsgSignDoc) String() string { return proto.CompactTextString(m) } func (*MsgSignDoc) ProtoMessage() {} func (*MsgSignDoc) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{79} + return fileDescriptor_bd45b74cb6d81462, []int{81} } func (m *MsgSignDoc) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3726,7 +3905,8 @@ func (m *MsgSignDoc) GetValue() MsgSignData { return MsgSignData{} } -// MsgAdminUpdateBinaryOptionsMarket is used by the market Admin to operate the market +// MsgAdminUpdateBinaryOptionsMarket is used by the market Admin to operate the +// market type MsgAdminUpdateBinaryOptionsMarket struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` @@ -3744,7 +3924,7 @@ func (m *MsgAdminUpdateBinaryOptionsMarket) Reset() { *m = MsgAdminUpdat func (m *MsgAdminUpdateBinaryOptionsMarket) String() string { return proto.CompactTextString(m) } func (*MsgAdminUpdateBinaryOptionsMarket) ProtoMessage() {} func (*MsgAdminUpdateBinaryOptionsMarket) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{80} + return fileDescriptor_bd45b74cb6d81462, []int{82} } func (m *MsgAdminUpdateBinaryOptionsMarket) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3808,7 +3988,8 @@ func (m *MsgAdminUpdateBinaryOptionsMarket) GetStatus() MarketStatus { return MarketStatus_Unspecified } -// MsgAdminUpdateBinaryOptionsMarketResponse is the response for AdminUpdateBinaryOptionsMarket rpc method +// MsgAdminUpdateBinaryOptionsMarketResponse is the response for +// AdminUpdateBinaryOptionsMarket rpc method type MsgAdminUpdateBinaryOptionsMarketResponse struct { } @@ -3820,7 +4001,7 @@ func (m *MsgAdminUpdateBinaryOptionsMarketResponse) String() string { } func (*MsgAdminUpdateBinaryOptionsMarketResponse) ProtoMessage() {} func (*MsgAdminUpdateBinaryOptionsMarketResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{81} + return fileDescriptor_bd45b74cb6d81462, []int{83} } func (m *MsgAdminUpdateBinaryOptionsMarketResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3849,7 +4030,8 @@ func (m *MsgAdminUpdateBinaryOptionsMarketResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgAdminUpdateBinaryOptionsMarketResponse proto.InternalMessageInfo -// AtomicMarketOrderFeeMultiplierScheduleProposal defines a SDK message for proposing new atomic take fee multipliers for specified markets +// AtomicMarketOrderFeeMultiplierScheduleProposal defines a SDK message for +// proposing new atomic take fee multipliers for specified markets type AtomicMarketOrderFeeMultiplierScheduleProposal struct { Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` @@ -3864,7 +4046,7 @@ func (m *AtomicMarketOrderFeeMultiplierScheduleProposal) String() string { } func (*AtomicMarketOrderFeeMultiplierScheduleProposal) ProtoMessage() {} func (*AtomicMarketOrderFeeMultiplierScheduleProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{82} + return fileDescriptor_bd45b74cb6d81462, []int{84} } func (m *AtomicMarketOrderFeeMultiplierScheduleProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3895,6 +4077,8 @@ var xxx_messageInfo_AtomicMarketOrderFeeMultiplierScheduleProposal proto.Interna func init() { proto.RegisterEnum("injective.exchange.v1beta1.ExchangeType", ExchangeType_name, ExchangeType_value) + proto.RegisterType((*MsgUpdateParams)(nil), "injective.exchange.v1beta1.MsgUpdateParams") + proto.RegisterType((*MsgUpdateParamsResponse)(nil), "injective.exchange.v1beta1.MsgUpdateParamsResponse") proto.RegisterType((*MsgDeposit)(nil), "injective.exchange.v1beta1.MsgDeposit") proto.RegisterType((*MsgDepositResponse)(nil), "injective.exchange.v1beta1.MsgDepositResponse") proto.RegisterType((*MsgWithdraw)(nil), "injective.exchange.v1beta1.MsgWithdraw") @@ -3985,279 +4169,289 @@ func init() { } var fileDescriptor_bd45b74cb6d81462 = []byte{ - // 4343 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5d, 0x4d, 0x6c, 0x1c, 0x47, - 0x76, 0x56, 0x73, 0x86, 0xc3, 0x99, 0x37, 0xa4, 0x7e, 0x9a, 0x14, 0x35, 0x1a, 0x89, 0x3f, 0x1a, - 0x5a, 0x12, 0x65, 0x47, 0xa4, 0xc5, 0xd5, 0x5a, 0x6b, 0x3b, 0x8a, 0xcc, 0x5f, 0x9b, 0x6b, 0xd1, - 0xe2, 0xf6, 0xd0, 0xce, 0xc6, 0x40, 0x76, 0xd2, 0xec, 0x2e, 0x0e, 0xdb, 0x9a, 0xe9, 0x1e, 0x75, - 0xf5, 0x48, 0xe2, 0x62, 0x11, 0x07, 0x9b, 0x64, 0xb3, 0xb1, 0x93, 0x4d, 0x8c, 0xac, 0xb1, 0x40, - 0x10, 0x27, 0x06, 0xb2, 0x48, 0x82, 0x24, 0x1b, 0x60, 0x6f, 0xf9, 0x39, 0xe5, 0x10, 0x60, 0x03, - 0x04, 0xc8, 0x1e, 0x82, 0x20, 0xd9, 0x00, 0x4a, 0x60, 0x5f, 0x82, 0xbd, 0x06, 0xc8, 0xc1, 0xa7, - 0x45, 0x57, 0x55, 0xf7, 0x54, 0xf7, 0xf4, 0x3f, 0x39, 0xb2, 0x21, 0xf8, 0x24, 0x4e, 0x55, 0xbd, - 0x57, 0x5f, 0xbd, 0x7a, 0xef, 0x55, 0xd5, 0xab, 0xd7, 0x25, 0x98, 0xd3, 0xf4, 0xb7, 0x90, 0x62, - 0x69, 0xf7, 0xd1, 0x22, 0x7a, 0xa8, 0xec, 0xcb, 0x7a, 0x13, 0x2d, 0xde, 0xbf, 0xb6, 0x8b, 0x2c, - 0xf9, 0xda, 0xa2, 0xf5, 0x70, 0xa1, 0x63, 0x1a, 0x96, 0x21, 0x56, 0xdd, 0x46, 0x0b, 0x4e, 0xa3, - 0x05, 0xd6, 0xa8, 0x3a, 0xd1, 0x34, 0x9a, 0x06, 0x69, 0xb6, 0x68, 0xff, 0x45, 0x29, 0xaa, 0x17, - 0x7b, 0x6c, 0x0d, 0x53, 0x56, 0x5a, 0x3d, 0xa6, 0xf4, 0x27, 0x6b, 0x76, 0x25, 0xa2, 0x77, 0xb7, - 0x27, 0xda, 0x74, 0x5a, 0x31, 0x70, 0xdb, 0xc0, 0x8b, 0xbb, 0x32, 0xee, 0xb5, 0x51, 0x0c, 0x4d, - 0x67, 0xf5, 0x0b, 0xac, 0x5e, 0xd5, 0xb0, 0x65, 0x6a, 0xbb, 0x5d, 0x4b, 0x33, 0x74, 0xb7, 0x1d, - 0x5f, 0xc8, 0xda, 0x9f, 0xa5, 0xed, 0x1b, 0x14, 0x3a, 0xfd, 0x41, 0xab, 0x6a, 0xbf, 0x23, 0x00, - 0x6c, 0xe1, 0xe6, 0x1a, 0xea, 0x18, 0x58, 0xb3, 0xc4, 0x49, 0x28, 0x60, 0xa4, 0xab, 0xc8, 0xac, - 0x08, 0xb3, 0xc2, 0x7c, 0x49, 0x62, 0xbf, 0xc4, 0x39, 0x18, 0xc3, 0xdd, 0x5d, 0x59, 0x51, 0x8c, - 0xae, 0x6e, 0x35, 0x34, 0xb5, 0x32, 0x44, 0xaa, 0x47, 0x7b, 0x85, 0x9b, 0xaa, 0x78, 0x03, 0x0a, - 0x72, 0xdb, 0xfe, 0xbb, 0x92, 0x9b, 0x15, 0xe6, 0xcb, 0x4b, 0x67, 0x19, 0xce, 0x05, 0x7b, 0x1c, - 0x8e, 0x10, 0x17, 0x56, 0x0d, 0x4d, 0x5f, 0xc9, 0xff, 0xe8, 0xd1, 0xcc, 0x31, 0x89, 0x35, 0x7f, - 0xa1, 0xf8, 0xed, 0x0f, 0x67, 0x8e, 0xfd, 0xef, 0x87, 0x33, 0xc7, 0x6a, 0x13, 0x20, 0xf6, 0xd0, - 0x48, 0x08, 0x77, 0x0c, 0x1d, 0xa3, 0xda, 0xef, 0x0a, 0x50, 0xde, 0xc2, 0xcd, 0x5f, 0xd4, 0xac, - 0x7d, 0xd5, 0x94, 0x1f, 0x7c, 0xea, 0x28, 0x4f, 0xc3, 0x38, 0x07, 0xc7, 0x85, 0xf9, 0xab, 0x70, - 0x66, 0x0b, 0x37, 0x57, 0x4d, 0x24, 0x5b, 0xa8, 0xde, 0x31, 0xac, 0xdb, 0x5a, 0x5b, 0xb3, 0xee, - 0x98, 0x36, 0xb2, 0x30, 0xc4, 0xcb, 0x30, 0x6c, 0xd8, 0x0d, 0x08, 0xd2, 0xf2, 0xd2, 0xc5, 0x85, - 0x70, 0xed, 0x5b, 0xb0, 0x59, 0x12, 0x6e, 0x0c, 0x17, 0xa5, 0xe4, 0x60, 0x7d, 0x19, 0x66, 0x42, - 0xfa, 0x77, 0x20, 0x8a, 0x53, 0x00, 0x84, 0xaa, 0xb1, 0x2f, 0xe3, 0x7d, 0x86, 0xa5, 0x44, 0x4a, - 0x5e, 0x91, 0xf1, 0x3e, 0xc7, 0xeb, 0x5b, 0x02, 0x4c, 0x6d, 0xe1, 0xe6, 0x8a, 0x6c, 0x29, 0xfb, - 0x41, 0x1c, 0x71, 0xe8, 0x90, 0x56, 0xa1, 0x40, 0x18, 0xe2, 0xca, 0xd0, 0x6c, 0x2e, 0xed, 0x98, - 0x18, 0x29, 0x07, 0x64, 0x07, 0x2e, 0x46, 0xe2, 0x70, 0x87, 0x76, 0x01, 0x46, 0x7b, 0x43, 0x43, - 0xb8, 0x22, 0xcc, 0xe6, 0xe6, 0x4b, 0x52, 0xd9, 0x1d, 0x1c, 0xe2, 0xb9, 0xfe, 0x64, 0x08, 0xaa, - 0x5b, 0xb8, 0xb9, 0xa9, 0x63, 0x4b, 0xd6, 0x2d, 0x9b, 0xe5, 0x96, 0x6c, 0xde, 0x45, 0xd6, 0x6d, - 0xb9, 0xab, 0x2b, 0xfb, 0xa1, 0x63, 0x9b, 0x84, 0x82, 0xa5, 0x29, 0x77, 0xd9, 0x7c, 0x95, 0x24, - 0xf6, 0xcb, 0x16, 0xab, 0xad, 0x3d, 0x0d, 0x15, 0xe9, 0x46, 0x9b, 0xe8, 0x55, 0x49, 0x2a, 0xd9, - 0x25, 0x6b, 0x76, 0x81, 0x38, 0x03, 0xe5, 0x7b, 0x5d, 0xc3, 0x72, 0xea, 0xf3, 0xa4, 0x1e, 0x48, - 0x11, 0x6d, 0xf0, 0xcb, 0x30, 0xde, 0xd6, 0xf4, 0x46, 0xc7, 0xd4, 0x14, 0xd4, 0xb0, 0x79, 0x36, - 0xb0, 0xf6, 0x75, 0x54, 0x19, 0xb6, 0x1b, 0xae, 0x2c, 0xd8, 0x92, 0xf9, 0xc9, 0xa3, 0x99, 0x4b, - 0x4d, 0xcd, 0xda, 0xef, 0xee, 0x2e, 0x28, 0x46, 0x9b, 0xd9, 0x30, 0xfb, 0xe7, 0x2a, 0x56, 0xef, - 0x2e, 0x5a, 0x07, 0x1d, 0x84, 0x17, 0xd6, 0x90, 0x22, 0x9d, 0x6c, 0x6b, 0xfa, 0xb6, 0xcd, 0x69, - 0x47, 0x53, 0xee, 0xd6, 0xb5, 0xaf, 0x23, 0x51, 0x81, 0x49, 0x9b, 0xfd, 0xbd, 0xae, 0xac, 0x5b, - 0x9a, 0x75, 0xc0, 0xf5, 0x50, 0xc8, 0xd4, 0x83, 0x0d, 0xf6, 0x2b, 0x8c, 0x99, 0xd3, 0x09, 0x27, - 0xdc, 0xa7, 0xa0, 0x16, 0x2e, 0x5b, 0xd7, 0x5a, 0xfe, 0xaf, 0x40, 0xd4, 0x95, 0x35, 0xdb, 0x46, - 0x66, 0x07, 0x59, 0x5d, 0xb9, 0x75, 0xa8, 0x79, 0xf0, 0x09, 0x3a, 0xd7, 0x27, 0xe8, 0x19, 0x28, - 0x53, 0xa7, 0xdc, 0xb0, 0x67, 0xc7, 0x99, 0x09, 0x5a, 0xb4, 0x22, 0x3b, 0x5a, 0x44, 0x1a, 0x10, - 0x2a, 0x3a, 0x05, 0x12, 0x23, 0xfa, 0x8a, 0x5d, 0x24, 0x2e, 0xc0, 0x38, 0x6b, 0x82, 0x15, 0xb9, - 0x85, 0x1a, 0x7b, 0xb2, 0x62, 0x19, 0x26, 0x11, 0xe5, 0x98, 0x74, 0x8a, 0x56, 0xd5, 0xed, 0x9a, - 0x0d, 0x52, 0x21, 0xae, 0xbb, 0x7d, 0xda, 0x12, 0xac, 0x8c, 0xcc, 0x0a, 0xf3, 0xc7, 0x97, 0x9e, - 0xe2, 0xac, 0x82, 0x2d, 0x13, 0x8e, 0x4d, 0xdc, 0x21, 0x3f, 0x77, 0x0e, 0x3a, 0xc8, 0x41, 0x66, - 0xff, 0x2d, 0xee, 0xc0, 0xf1, 0xb6, 0x7c, 0x17, 0x99, 0x8d, 0x3d, 0x84, 0x1a, 0xa6, 0x6c, 0xa1, - 0x4a, 0x31, 0xd3, 0xe4, 0x8d, 0x12, 0x2e, 0x1b, 0x08, 0x49, 0xb2, 0x45, 0xb8, 0x5a, 0x5e, 0xae, - 0xa5, 0x6c, 0x5c, 0x2d, 0x9e, 0xeb, 0xaf, 0xc0, 0x84, 0xa6, 0x6b, 0x96, 0x26, 0xb7, 0x1a, 0x6d, - 0xd9, 0x6c, 0x6a, 0xba, 0xcd, 0x5a, 0x33, 0x2a, 0x90, 0x89, 0xb7, 0xc8, 0x78, 0x6d, 0x11, 0x56, - 0x92, 0xcd, 0x49, 0xdc, 0x87, 0x4a, 0x5b, 0xd6, 0x74, 0x0b, 0xe9, 0xb2, 0xae, 0x20, 0x6f, 0x2f, - 0xe5, 0x4c, 0xbd, 0x4c, 0x72, 0xfc, 0xf8, 0x9e, 0x42, 0x6c, 0x73, 0x74, 0xe0, 0xb6, 0x39, 0x36, - 0x08, 0xdb, 0xbc, 0x02, 0x97, 0x63, 0x8c, 0xce, 0x35, 0xd0, 0x1f, 0x16, 0x60, 0xae, 0xd7, 0x76, - 0x45, 0xd3, 0x65, 0xf3, 0xe0, 0x4e, 0xc7, 0xde, 0x56, 0xe0, 0x43, 0x19, 0xe9, 0x1c, 0x8c, 0x39, - 0xf6, 0x73, 0xd0, 0xde, 0x35, 0x5a, 0xcc, 0x4c, 0x99, 0xdd, 0xd5, 0x49, 0x99, 0x78, 0x19, 0x4e, - 0xb0, 0x46, 0x1d, 0xd3, 0xb8, 0xaf, 0xd9, 0xdc, 0xa9, 0xb1, 0x1e, 0xa7, 0xc5, 0xdb, 0xac, 0xd4, - 0x6f, 0x5d, 0xc3, 0x19, 0xad, 0x2b, 0xad, 0x51, 0xf7, 0x5b, 0xe3, 0xc8, 0x40, 0xac, 0xb1, 0x78, - 0x04, 0xd6, 0x78, 0x0d, 0x26, 0xd0, 0xc3, 0x8e, 0x46, 0x8c, 0x43, 0x6f, 0x58, 0x5a, 0x1b, 0x61, - 0x4b, 0x6e, 0x77, 0x88, 0xa5, 0xe7, 0xa4, 0xf1, 0x5e, 0xdd, 0x8e, 0x53, 0x65, 0x93, 0x60, 0x64, - 0x59, 0x2d, 0xd4, 0x46, 0xba, 0xc5, 0x91, 0x00, 0x25, 0xe9, 0xd5, 0xf5, 0x48, 0x26, 0x60, 0x58, - 0x56, 0xdb, 0x9a, 0x4e, 0xcd, 0x4f, 0xa2, 0x3f, 0xfc, 0x1e, 0x79, 0x34, 0xe9, 0xd2, 0x37, 0x36, - 0x70, 0xf3, 0x3a, 0x3e, 0x08, 0xf3, 0xba, 0x0a, 0xcf, 0x24, 0x30, 0x19, 0xd7, 0xc4, 0x7e, 0x6f, - 0x84, 0x37, 0xb1, 0x75, 0x7b, 0x22, 0x0e, 0x36, 0xba, 0x56, 0xd7, 0x44, 0xf8, 0xb3, 0xbf, 0x0e, - 0xfa, 0x2c, 0xaf, 0x70, 0xb4, 0x96, 0x37, 0x12, 0x66, 0x79, 0x93, 0x50, 0x20, 0x1a, 0x7b, 0x40, - 0x6c, 0x23, 0x27, 0xb1, 0x5f, 0x01, 0x16, 0x59, 0x1a, 0x88, 0x45, 0xc2, 0x00, 0xd7, 0xc7, 0xf2, - 0x63, 0x59, 0x1f, 0x47, 0x1f, 0xc7, 0xfa, 0xf8, 0x24, 0x18, 0x70, 0xa8, 0x41, 0xba, 0x06, 0xfc, - 0x36, 0x54, 0x3c, 0x47, 0x2e, 0xda, 0xe8, 0x31, 0x9e, 0xf9, 0xfe, 0x44, 0x80, 0xd9, 0x30, 0x04, - 0x09, 0x4f, 0x7d, 0xa2, 0x04, 0x23, 0x26, 0xc2, 0xdd, 0x96, 0x85, 0x19, 0xa4, 0xa5, 0x38, 0x48, - 0xde, 0x4e, 0x6c, 0x4a, 0x82, 0x4f, 0x90, 0x1c, 0x46, 0x1c, 0xc2, 0xff, 0x17, 0x60, 0x32, 0x98, - 0x46, 0xfc, 0x32, 0x14, 0x9d, 0x79, 0xa5, 0xa8, 0x52, 0xcf, 0xa6, 0x4b, 0x2f, 0xae, 0xc1, 0x30, - 0x51, 0x41, 0xea, 0x09, 0x53, 0x33, 0xa2, 0xc4, 0xe2, 0x4b, 0x90, 0xdb, 0x43, 0x88, 0x3a, 0xcc, - 0xd4, 0x3c, 0x6c, 0xd2, 0xfe, 0x23, 0x34, 0x9d, 0x9a, 0x35, 0x64, 0x6a, 0xf7, 0x65, 0x5b, 0xa2, - 0x09, 0xa2, 0x02, 0x2f, 0x7b, 0x35, 0xe4, 0x99, 0xa8, 0xe9, 0xe8, 0x31, 0x0e, 0xd0, 0x93, 0xbc, - 0x0d, 0xa6, 0xb6, 0x4d, 0x8e, 0xd0, 0xe1, 0x38, 0xd2, 0x47, 0x07, 0x7e, 0x9b, 0xd7, 0x3a, 0xcf, - 0x32, 0xf7, 0xf8, 0x47, 0x57, 0x87, 0xf9, 0x38, 0x28, 0xe9, 0x07, 0xf8, 0x1d, 0x81, 0x2c, 0xcc, - 0x5c, 0xd8, 0x21, 0x48, 0x70, 0xe1, 0x41, 0x90, 0x4d, 0x5f, 0x10, 0x24, 0xc3, 0x20, 0x9d, 0x50, - 0x08, 0x1d, 0xe5, 0x9b, 0xc4, 0x2f, 0xc5, 0xe1, 0xc9, 0x16, 0x0c, 0xf9, 0x03, 0x81, 0x44, 0xdd, - 0x56, 0x6d, 0xcf, 0xde, 0x72, 0x3d, 0x4e, 0xe8, 0xd8, 0xce, 0x41, 0xa9, 0x4d, 0x6c, 0xb9, 0x17, - 0x61, 0x2b, 0xd2, 0x82, 0x4d, 0xb5, 0x3f, 0x04, 0x97, 0x0b, 0x08, 0xc1, 0x79, 0xa7, 0x21, 0xef, - 0x9f, 0x06, 0x3a, 0xe2, 0xf3, 0x24, 0x42, 0xe3, 0x03, 0xe5, 0x3a, 0xde, 0x03, 0xe2, 0x78, 0xa9, - 0x3c, 0xbc, 0x4d, 0xc2, 0x27, 0xe5, 0x16, 0xe4, 0x55, 0xd9, 0x92, 0x93, 0xc4, 0xa5, 0x08, 0xa7, - 0x35, 0xd9, 0x92, 0xd9, 0x64, 0x10, 0x42, 0x06, 0x6c, 0x83, 0xe8, 0x7e, 0x60, 0xd7, 0xae, 0xfc, - 0x2b, 0x30, 0x82, 0xbb, 0x8a, 0x82, 0x30, 0x15, 0x7d, 0x51, 0x72, 0x7e, 0x72, 0x62, 0xff, 0xa6, - 0x00, 0x17, 0xbc, 0x8c, 0x3c, 0xea, 0xfb, 0x78, 0x06, 0x73, 0x07, 0xae, 0xc4, 0x62, 0x48, 0x35, - 0xaa, 0x7f, 0x1a, 0x81, 0x09, 0x87, 0xe3, 0xeb, 0x1d, 0x55, 0xb6, 0x50, 0xcc, 0x40, 0x12, 0x05, - 0x6d, 0x6f, 0xc1, 0x14, 0xee, 0x18, 0x56, 0xc3, 0x55, 0x3c, 0xdc, 0xb0, 0x8c, 0x86, 0x42, 0x10, - 0x37, 0xe4, 0x96, 0x7d, 0x86, 0xb4, 0x15, 0xbc, 0x82, 0xdd, 0x85, 0x66, 0x53, 0xc5, 0x3b, 0x06, - 0x1d, 0xd2, 0x72, 0xab, 0x25, 0xbe, 0x0a, 0x73, 0xaa, 0x6b, 0x31, 0xe1, 0x6c, 0xf2, 0x84, 0xcd, - 0x74, 0xaf, 0x69, 0x20, 0xb3, 0xaf, 0xc1, 0x69, 0x82, 0x86, 0x5a, 0x68, 0x8f, 0x45, 0x65, 0x38, - 0xed, 0x64, 0x08, 0x92, 0x88, 0x5d, 0xed, 0x71, 0xba, 0x10, 0xdf, 0x82, 0x73, 0x1c, 0xd8, 0xbe, - 0x5e, 0x0a, 0xe9, 0x7b, 0xa9, 0xa8, 0x5e, 0x1f, 0xd3, 0xeb, 0x2b, 0x60, 0x2c, 0xc4, 0xbf, 0x54, - 0x46, 0xd2, 0x46, 0x6f, 0xfd, 0x63, 0x21, 0x6c, 0xc4, 0x4e, 0xd8, 0x58, 0x68, 0x2f, 0xc5, 0x6c, - 0xee, 0x31, 0x78, 0x44, 0xb4, 0xc7, 0x7b, 0x30, 0xb3, 0x4b, 0x94, 0xb8, 0x61, 0x50, 0x2d, 0xee, - 0x97, 0x60, 0x29, 0xbd, 0x04, 0xcf, 0xed, 0xf6, 0x1b, 0x86, 0x2b, 0x44, 0x09, 0x2e, 0xfb, 0xba, - 0x0c, 0xd5, 0x30, 0x20, 0x1a, 0x76, 0x61, 0xb7, 0xff, 0x6c, 0xe8, 0x53, 0xb2, 0x07, 0x51, 0xc3, - 0xa0, 0xc2, 0x2b, 0x67, 0x15, 0x5e, 0xc8, 0x60, 0x08, 0x57, 0xe6, 0x18, 0x3e, 0x19, 0x82, 0xf3, - 0x41, 0x76, 0xec, 0x3a, 0x83, 0x05, 0x18, 0x27, 0x8a, 0xc3, 0xc6, 0xe6, 0x75, 0x0c, 0xa7, 0xec, - 0x2a, 0xe6, 0x1d, 0x69, 0x85, 0xf8, 0x02, 0x9c, 0xe5, 0x14, 0xc1, 0x47, 0x35, 0x44, 0xa8, 0xce, - 0xf4, 0x1a, 0x78, 0x69, 0x9f, 0x86, 0x53, 0x3d, 0x25, 0x75, 0xd6, 0x34, 0x6a, 0xf2, 0x27, 0x5c, - 0x9d, 0xa3, 0xeb, 0x9a, 0xf8, 0x1c, 0x9c, 0xf1, 0x2b, 0x9c, 0x43, 0x41, 0xad, 0xfb, 0xb4, 0x4f, - 0x73, 0x18, 0xdd, 0x32, 0x4c, 0xf9, 0xe4, 0xed, 0xc3, 0x38, 0x4c, 0x30, 0x56, 0x3d, 0xa2, 0xf3, - 0xc2, 0xbc, 0x09, 0xe7, 0x82, 0xa6, 0xcc, 0xe9, 0xbe, 0x40, 0x7d, 0x54, 0xbf, 0xec, 0xfb, 0x56, - 0xe4, 0xdf, 0x12, 0x60, 0x3a, 0x60, 0xcb, 0x96, 0xe4, 0x74, 0x71, 0xc4, 0xbb, 0xab, 0xbf, 0x12, - 0xe0, 0x52, 0x34, 0x92, 0xa4, 0xa7, 0x8c, 0xaf, 0xfa, 0x4f, 0x19, 0x5f, 0x4a, 0x06, 0x2d, 0xcd, - 0x59, 0xe3, 0x8f, 0x72, 0x70, 0x3e, 0x8a, 0xf2, 0x49, 0x3c, 0x71, 0x88, 0x6f, 0xc0, 0x71, 0x72, - 0x5d, 0xaa, 0x19, 0x7a, 0x43, 0x45, 0x2d, 0x4b, 0x26, 0x3b, 0xaa, 0xf2, 0xd2, 0x95, 0x28, 0xf9, - 0x6e, 0x33, 0x8a, 0x35, 0x9b, 0x80, 0x4d, 0xfc, 0x58, 0x87, 0x2f, 0x14, 0x37, 0xa0, 0xd0, 0x91, - 0x0f, 0x8c, 0xae, 0x95, 0xf1, 0x1e, 0x8a, 0x51, 0x73, 0xd3, 0xf3, 0x0e, 0xdd, 0xf1, 0x04, 0xec, - 0xd5, 0x3f, 0x05, 0xcd, 0xfe, 0x1b, 0x81, 0x6c, 0x7d, 0xa2, 0xc1, 0x7c, 0x96, 0x94, 0xfb, 0x6f, - 0x05, 0x1a, 0x6c, 0x20, 0x2e, 0xc7, 0x37, 0xc0, 0x4f, 0x6d, 0xb3, 0xde, 0xab, 0x6e, 0xcb, 0xf8, - 0x2e, 0xd1, 0x94, 0x61, 0x56, 0xbd, 0x25, 0xe3, 0xbb, 0x4c, 0xd6, 0x35, 0x7a, 0x5c, 0x0c, 0x42, - 0xee, 0xee, 0xe8, 0xff, 0x41, 0x80, 0x73, 0x6e, 0xa3, 0xfe, 0x5d, 0xe8, 0x67, 0x7c, 0x84, 0x17, - 0xc9, 0x79, 0x31, 0x0c, 0xbc, 0x3b, 0xc8, 0x77, 0x05, 0x28, 0xb9, 0x3b, 0x0b, 0x2f, 0x74, 0x21, - 0x0e, 0xfa, 0x50, 0x2c, 0xf4, 0x5c, 0x34, 0xf4, 0xbc, 0x0f, 0x7a, 0xed, 0x6d, 0xb2, 0xca, 0x70, - 0x9b, 0x7f, 0xdf, 0xdc, 0x0c, 0xfc, 0xf4, 0x71, 0x9b, 0x2c, 0x2e, 0x11, 0x00, 0x52, 0x1d, 0x3d, - 0xfe, 0x5d, 0x80, 0xd3, 0x5b, 0xb8, 0x59, 0x77, 0x05, 0xb4, 0x63, 0xca, 0x3a, 0xde, 0x8b, 0xd0, - 0x9d, 0x67, 0x61, 0x02, 0x1b, 0x5d, 0x53, 0x41, 0x8d, 0x20, 0x51, 0x8b, 0xb4, 0xae, 0xce, 0x0b, - 0x9c, 0xec, 0x62, 0xb0, 0xa5, 0xe9, 0xf4, 0x32, 0x25, 0x48, 0xb9, 0xce, 0x70, 0x0d, 0xea, 0xc1, - 0x99, 0x27, 0xf9, 0x54, 0x99, 0x27, 0xb5, 0x19, 0x12, 0x48, 0xea, 0x1f, 0x97, 0xab, 0x56, 0xff, - 0x26, 0x90, 0x8c, 0x94, 0xf5, 0x87, 0x16, 0x32, 0x75, 0xb9, 0xf5, 0xa4, 0x8c, 0x7b, 0x8a, 0x78, - 0x04, 0xff, 0xa8, 0xdc, 0x51, 0xff, 0x9d, 0x40, 0x8e, 0x9a, 0xb7, 0xb5, 0x7b, 0x5d, 0xcd, 0xde, - 0xa0, 0x3a, 0x6b, 0xda, 0xe1, 0x8e, 0x9a, 0x1e, 0xa3, 0xcc, 0xf9, 0x8c, 0xd2, 0x5d, 0x83, 0xf2, - 0xd9, 0xd6, 0x20, 0x81, 0xad, 0x41, 0xb5, 0x69, 0xb2, 0xbb, 0xee, 0x83, 0xee, 0x8e, 0xed, 0x5b, - 0x43, 0x70, 0x96, 0x04, 0xa2, 0xed, 0xad, 0x3e, 0x76, 0xeb, 0x69, 0xe0, 0xfd, 0x33, 0x32, 0xaf, - 0x1e, 0x49, 0xe5, 0x7d, 0x92, 0xda, 0x70, 0x27, 0x3d, 0xe3, 0xee, 0x81, 0xe9, 0xc0, 0x1c, 0xd9, - 0x32, 0x04, 0xcb, 0xc1, 0x95, 0xd6, 0xfb, 0x02, 0x11, 0xe7, 0xb6, 0xa9, 0xdd, 0xd7, 0x5a, 0xa8, - 0x89, 0xd4, 0xf5, 0x87, 0x48, 0xe9, 0x5a, 0x68, 0xd5, 0xd0, 0x2d, 0x53, 0x56, 0xc2, 0xf3, 0xda, - 0x26, 0x60, 0x78, 0xaf, 0xab, 0xab, 0x98, 0x49, 0x88, 0xfe, 0x10, 0xaf, 0xc0, 0x49, 0x85, 0x51, - 0x36, 0x64, 0x55, 0x35, 0x6d, 0xaf, 0x43, 0x65, 0x71, 0xc2, 0x29, 0x5f, 0xa6, 0xc5, 0xa2, 0xc8, - 0x1c, 0x21, 0x1d, 0x3e, 0xf5, 0x6d, 0xdc, 0x7e, 0x54, 0x80, 0xa7, 0xa2, 0x70, 0xb9, 0xee, 0xed, - 0x2d, 0x00, 0xd2, 0x75, 0x43, 0xd5, 0xf6, 0xf6, 0x88, 0x87, 0x8b, 0x34, 0x93, 0x67, 0x6d, 0x61, - 0xfe, 0xe5, 0x7f, 0xcf, 0xcc, 0x27, 0x10, 0xa6, 0x4d, 0x80, 0xa5, 0x12, 0x61, 0xbf, 0xa6, 0xed, - 0xed, 0x71, 0xf0, 0xde, 0x1f, 0x86, 0xa9, 0x5e, 0x68, 0x7e, 0x5b, 0x36, 0xe5, 0x36, 0x3d, 0xea, - 0x6d, 0x9b, 0x46, 0xc7, 0xc0, 0x72, 0xcb, 0x96, 0x8f, 0xa5, 0x59, 0x2d, 0xc4, 0xc4, 0x46, 0x7f, - 0x88, 0xb3, 0x50, 0x56, 0x11, 0x56, 0x4c, 0x8d, 0x2c, 0x71, 0x4c, 0x76, 0x7c, 0x51, 0xb4, 0x11, - 0xf5, 0xdf, 0xd4, 0xe5, 0x5d, 0x15, 0x11, 0x8e, 0xf0, 0xa6, 0x6e, 0x38, 0x1b, 0x57, 0xcf, 0x4d, - 0x9d, 0x02, 0x93, 0x26, 0x6a, 0xc9, 0x07, 0x8c, 0x2f, 0xde, 0x97, 0x4d, 0xc6, 0xbd, 0x90, 0x89, - 0xfb, 0x38, 0xe3, 0xb6, 0x81, 0x50, 0xdd, 0xe6, 0x45, 0x3a, 0x09, 0xb9, 0x42, 0x1b, 0xc9, 0xd4, - 0x43, 0x9a, 0x2b, 0xb4, 0x62, 0xb6, 0x31, 0x04, 0x5c, 0xa1, 0x89, 0x2f, 0x41, 0x01, 0x5b, 0xb2, - 0xd5, 0xc5, 0xe4, 0xda, 0xf5, 0xf8, 0xd2, 0x7c, 0x94, 0x6b, 0xa4, 0x0a, 0x57, 0x27, 0xed, 0x25, - 0x46, 0xc7, 0xe9, 0xe5, 0x5f, 0x08, 0x30, 0xb9, 0xce, 0x68, 0xd6, 0x75, 0x79, 0xb7, 0x75, 0x78, - 0x85, 0xbc, 0x0d, 0xa3, 0x0e, 0x8a, 0x9d, 0x83, 0x0e, 0x3d, 0x6f, 0xc5, 0x80, 0x5c, 0xe7, 0xda, - 0x4b, 0x1e, 0x6a, 0x3e, 0x91, 0x10, 0xe0, 0x02, 0xd9, 0xbf, 0x38, 0xad, 0xb7, 0x0c, 0x55, 0xdb, - 0xd3, 0x14, 0xe2, 0x2d, 0x0f, 0x8d, 0xfa, 0x37, 0x05, 0xa8, 0xf1, 0x71, 0xcf, 0x8e, 0x6d, 0xa2, - 0x8d, 0x2e, 0xb1, 0xd1, 0x46, 0x87, 0x71, 0xa7, 0x91, 0x90, 0xf2, 0xd2, 0xf3, 0xc9, 0x6e, 0xed, - 0x02, 0xcc, 0x5c, 0x9a, 0xc6, 0x51, 0xd5, 0x58, 0xfc, 0x9e, 0x00, 0xf3, 0xfd, 0xe1, 0xd3, 0x10, - 0x34, 0x79, 0x82, 0xe6, 0x56, 0x9a, 0x03, 0x50, 0x10, 0xa6, 0xa7, 0xd4, 0xf8, 0x46, 0x58, 0xec, - 0xc2, 0x79, 0x5e, 0x40, 0x2d, 0x72, 0x3d, 0xcb, 0x81, 0xa1, 0x11, 0xd9, 0xeb, 0xc9, 0x44, 0x43, - 0x2f, 0x77, 0x5d, 0x04, 0x67, 0x71, 0x48, 0x0d, 0x16, 0x7f, 0x43, 0x80, 0x0b, 0x1d, 0x27, 0x7b, - 0x2a, 0xb4, 0xf3, 0x42, 0xfc, 0xbc, 0x04, 0xa6, 0x60, 0xf5, 0xe6, 0xa5, 0x13, 0x55, 0x8d, 0xc5, - 0xf7, 0x04, 0xb8, 0x44, 0xd3, 0x1f, 0x1a, 0x7b, 0xf4, 0x96, 0x3a, 0x14, 0x0b, 0x0d, 0xe7, 0xde, - 0x8c, 0x56, 0xf8, 0x90, 0xeb, 0x6e, 0x17, 0x4f, 0x0d, 0xc5, 0x35, 0xc1, 0xe2, 0xfb, 0x02, 0x5c, - 0xb6, 0x4c, 0x59, 0xd5, 0xf4, 0x66, 0xc3, 0x44, 0x0f, 0x64, 0x53, 0x6d, 0x28, 0x72, 0xbb, 0x23, - 0x6b, 0x4d, 0xdd, 0xaf, 0x2b, 0xc4, 0xff, 0xc4, 0xa8, 0xca, 0x0e, 0x65, 0x25, 0x11, 0x4e, 0xab, - 0x8c, 0x91, 0x4f, 0x55, 0xe6, 0xac, 0xf8, 0x46, 0x44, 0x56, 0xc1, 0x41, 0xda, 0x3e, 0x59, 0x95, - 0xe2, 0x65, 0x15, 0x9a, 0xdb, 0xd3, 0x93, 0xd5, 0x6e, 0x5c, 0x13, 0x2c, 0x7e, 0x57, 0x80, 0x8b, - 0x3e, 0x4c, 0x21, 0x46, 0x05, 0x04, 0xd2, 0x4a, 0x4a, 0x48, 0x41, 0x76, 0xe5, 0x0d, 0x3d, 0x07, - 0x1a, 0xd5, 0x37, 0x60, 0x9a, 0x24, 0x0e, 0x35, 0x54, 0xa4, 0x68, 0x6d, 0xb9, 0x85, 0xfb, 0x26, - 0xae, 0x4c, 0x26, 0xee, 0x46, 0x14, 0x1c, 0xca, 0x94, 0xa4, 0x1b, 0xad, 0x31, 0x36, 0x2e, 0x86, - 0x73, 0x2a, 0x5f, 0xec, 0xed, 0x9e, 0x73, 0xae, 0xdf, 0xcf, 0x43, 0x25, 0xcc, 0x3a, 0x33, 0xfb, - 0xd4, 0x5e, 0xce, 0x54, 0x2e, 0x22, 0x87, 0x3b, 0x1f, 0x93, 0xc3, 0x3d, 0x9c, 0x34, 0x91, 0xad, - 0x30, 0xf0, 0x3c, 0x98, 0x91, 0x23, 0xcb, 0x83, 0x89, 0xcc, 0x31, 0x16, 0x06, 0x92, 0x63, 0x9c, - 0x79, 0x67, 0xc6, 0xa9, 0xc9, 0x7b, 0x23, 0x30, 0x15, 0xe9, 0x47, 0x8f, 0x5c, 0x57, 0x62, 0x13, - 0xfa, 0x7d, 0xf9, 0x75, 0xc3, 0xb1, 0xf9, 0x75, 0x85, 0xc4, 0x79, 0xe6, 0x23, 0x09, 0xf3, 0xcc, - 0x8b, 0x19, 0xf3, 0xf1, 0xc2, 0x72, 0xd3, 0x4a, 0x8f, 0x25, 0x37, 0x0d, 0x8e, 0x34, 0x37, 0xad, - 0x5f, 0x9f, 0xcb, 0x03, 0xc9, 0x09, 0x1c, 0x3d, 0x82, 0x9c, 0xc0, 0x27, 0x2b, 0x8f, 0xee, 0x5f, - 0x0b, 0x70, 0x21, 0x76, 0x8d, 0x3c, 0x72, 0xbb, 0xec, 0x4b, 0x2d, 0xcf, 0x27, 0x4b, 0x2d, 0x1f, - 0x4e, 0x92, 0x5a, 0xfe, 0xb8, 0x12, 0x5c, 0xc3, 0xd2, 0xb5, 0x8b, 0xe9, 0xd3, 0xb5, 0x4b, 0x09, - 0xd2, 0xb5, 0x21, 0x22, 0x5d, 0xbb, 0xdc, 0xe7, 0xd8, 0xfa, 0x2d, 0x6a, 0x74, 0x20, 0x16, 0x35, - 0x36, 0x38, 0x8b, 0x3a, 0x3e, 0x70, 0x8b, 0x3a, 0x31, 0x08, 0x8b, 0xfa, 0xc1, 0x08, 0x5c, 0x88, - 0xdd, 0xa1, 0x7f, 0xbe, 0xd2, 0xa5, 0x30, 0xcc, 0x5e, 0x26, 0x79, 0xc9, 0x93, 0x49, 0xfe, 0x24, - 0x7d, 0xbd, 0xf4, 0xb9, 0xbd, 0x7e, 0x5a, 0xf6, 0xfa, 0x49, 0x11, 0xe6, 0x12, 0xc4, 0x39, 0x06, - 0x13, 0x62, 0x0d, 0x53, 0xe1, 0x6c, 0x81, 0xd6, 0xb4, 0x2a, 0x9c, 0x2d, 0xf0, 0x9a, 0x5c, 0x85, - 0x0b, 0x03, 0x39, 0x94, 0x8c, 0x0c, 0x34, 0x5c, 0x5c, 0x1c, 0x78, 0xb8, 0xb8, 0x34, 0xf0, 0x70, - 0x31, 0x1c, 0x5d, 0xb8, 0xf8, 0x6b, 0x20, 0xbe, 0x62, 0x74, 0xcd, 0xd6, 0xc1, 0xa6, 0x6e, 0x21, - 0x13, 0x61, 0x4b, 0xf2, 0xee, 0xce, 0x53, 0xa9, 0x67, 0x3f, 0x27, 0x71, 0x17, 0x26, 0x68, 0xe9, - 0x46, 0x57, 0x27, 0xa1, 0x21, 0xd9, 0x42, 0xab, 0x72, 0x87, 0xf3, 0x7e, 0x69, 0x7a, 0x08, 0xe4, - 0xc5, 0x85, 0xbc, 0xc7, 0xb2, 0x85, 0xbc, 0xc5, 0x2d, 0x77, 0xbf, 0x4a, 0xc2, 0x3e, 0x98, 0xf8, - 0xba, 0x72, 0x34, 0x23, 0xba, 0x98, 0x11, 0x4f, 0x82, 0x9d, 0x9d, 0x2d, 0xfd, 0xc5, 0x87, 0xa5, - 0x05, 0x98, 0xa6, 0x3d, 0x6e, 0x18, 0xa6, 0x82, 0xd4, 0xba, 0xbb, 0x03, 0x1c, 0xac, 0xdf, 0xf9, - 0x25, 0x38, 0xc9, 0x6d, 0x44, 0x69, 0x7a, 0x54, 0x36, 0x9f, 0x73, 0x02, 0x73, 0x90, 0x35, 0x85, - 0xf7, 0xac, 0x3f, 0x14, 0xe0, 0x5c, 0x44, 0x74, 0x29, 0xf3, 0xc8, 0xb6, 0xe1, 0xb8, 0x37, 0xec, - 0xc5, 0x02, 0xeb, 0x57, 0xa2, 0x43, 0xd9, 0x1c, 0x04, 0x69, 0xcc, 0x13, 0xd8, 0xe2, 0x30, 0xff, - 0xcb, 0x08, 0x5c, 0x4a, 0x16, 0xa0, 0xfb, 0xfc, 0xce, 0xed, 0xf3, 0x3b, 0xb7, 0x84, 0x4e, 0xf4, - 0xf1, 0x7c, 0xd8, 0x1b, 0x64, 0xd3, 0xe5, 0x23, 0xb1, 0xe9, 0xde, 0x21, 0x74, 0x94, 0x3f, 0x84, - 0x1e, 0xde, 0xaf, 0xbe, 0x1e, 0xec, 0x57, 0x9f, 0x8d, 0xbc, 0x89, 0x61, 0xc7, 0xfe, 0x44, 0xfe, - 0xf5, 0x1f, 0x05, 0x98, 0x08, 0x22, 0x20, 0x89, 0x06, 0x34, 0xf4, 0xe0, 0x24, 0x1a, 0xd0, 0xa0, - 0x43, 0x15, 0x8a, 0x6e, 0xb4, 0x81, 0x25, 0xa9, 0x39, 0xbf, 0xc3, 0x8e, 0x3f, 0xb9, 0x84, 0xc7, - 0x9f, 0x7c, 0xb6, 0xe3, 0x4f, 0xed, 0x9f, 0x05, 0x18, 0xf5, 0x60, 0xf7, 0x1d, 0xe5, 0x84, 0xd8, - 0xa3, 0xdc, 0x50, 0xe2, 0xa3, 0xdc, 0xa0, 0xc7, 0xf2, 0xe7, 0x43, 0x30, 0x17, 0x78, 0x53, 0x74, - 0x44, 0xc7, 0xe3, 0x37, 0x61, 0xcc, 0xbd, 0xc4, 0xd2, 0xf4, 0x3d, 0x83, 0xbd, 0x1d, 0xf4, 0xc5, - 0xd4, 0x37, 0x57, 0x9b, 0xfa, 0x9e, 0x21, 0x8d, 0x2a, 0xdc, 0x2f, 0x71, 0x17, 0x4e, 0xbb, 0xbc, - 0xd9, 0x85, 0x59, 0xc7, 0x30, 0xdc, 0x8b, 0xd4, 0x85, 0xa8, 0x3e, 0x1c, 0xb6, 0xb4, 0x93, 0x6d, - 0xc3, 0x68, 0x49, 0xe3, 0x4a, 0x5f, 0x19, 0xaf, 0xb9, 0x3f, 0xc8, 0x85, 0x48, 0xea, 0x88, 0x56, - 0xa1, 0x41, 0x4a, 0xaa, 0x0b, 0x33, 0x81, 0x92, 0x6a, 0xc8, 0xaa, 0x4a, 0xd2, 0x82, 0xb2, 0xca, - 0xec, 0x7c, 0x80, 0xcc, 0x96, 0x1d, 0x9e, 0xe2, 0x3d, 0x98, 0x0a, 0xee, 0x96, 0xde, 0x8a, 0x39, - 0x97, 0xcc, 0x69, 0x3b, 0xad, 0x06, 0x74, 0x4a, 0x27, 0x81, 0x9f, 0xaf, 0x77, 0x05, 0x38, 0xe5, - 0x34, 0xd0, 0x74, 0x8b, 0x36, 0x10, 0x2f, 0xc3, 0x09, 0x27, 0x4f, 0xcb, 0x49, 0x50, 0xa2, 0xf3, - 0x74, 0x9c, 0x15, 0x3b, 0xf9, 0x49, 0x5b, 0x00, 0x3a, 0x7a, 0xd0, 0xe8, 0xd8, 0xb4, 0x38, 0xe3, - 0xd9, 0xbf, 0xa4, 0xa3, 0x07, 0xa4, 0x73, 0x5c, 0xfb, 0xf5, 0x21, 0x98, 0xf7, 0xcc, 0xd6, 0x36, - 0x22, 0x5b, 0x62, 0x5a, 0x7d, 0x44, 0x2a, 0x74, 0x1d, 0x26, 0x3b, 0x94, 0x2d, 0x91, 0x33, 0xb7, - 0x4a, 0xe5, 0xc8, 0x2a, 0x35, 0xd1, 0x71, 0x3a, 0x35, 0x5a, 0xbd, 0x65, 0xaa, 0x01, 0x13, 0xee, - 0xe4, 0x68, 0xba, 0xe5, 0x4e, 0x0e, 0xd5, 0x88, 0xab, 0x51, 0x93, 0xd3, 0x27, 0x5f, 0x49, 0x34, - 0xfd, 0x45, 0xfc, 0x9c, 0x7c, 0x5f, 0x80, 0xf1, 0x0d, 0x84, 0xd6, 0x34, 0x4c, 0x64, 0x7d, 0xe8, - 0x01, 0xbf, 0x0a, 0x45, 0xac, 0xec, 0x23, 0xb5, 0xdb, 0x42, 0xcc, 0x5c, 0x16, 0xa3, 0xe0, 0x72, - 0x5d, 0xd7, 0x19, 0x99, 0xe4, 0x32, 0xe0, 0x60, 0xfe, 0xbd, 0x00, 0x33, 0x34, 0xb7, 0xd6, 0x68, - 0xb7, 0xbb, 0xba, 0x66, 0x1d, 0xd8, 0x12, 0xab, 0xdb, 0xd2, 0x3b, 0x34, 0xe4, 0xd7, 0xa1, 0xe4, - 0xcf, 0x3f, 0xb9, 0xe1, 0xe4, 0xab, 0x79, 0x5e, 0xa0, 0xeb, 0xe5, 0xad, 0x85, 0x61, 0x90, 0x7a, - 0x9c, 0x38, 0xf0, 0x4f, 0xc3, 0xc9, 0x2d, 0xcc, 0x94, 0x0c, 0xdf, 0xe9, 0x58, 0x77, 0xba, 0xa1, - 0x59, 0x7c, 0xb5, 0x2a, 0x49, 0x8c, 0xf7, 0xb4, 0xe5, 0xbe, 0xd0, 0x3f, 0x4d, 0xea, 0x94, 0x96, - 0xac, 0xb5, 0x6f, 0x1b, 0xca, 0x5d, 0xa4, 0x6e, 0x90, 0x24, 0xbf, 0xf0, 0x1c, 0xca, 0xf1, 0x16, - 0x69, 0xb6, 0x4c, 0x2d, 0x69, 0xbb, 0xbb, 0xfb, 0x2a, 0x3a, 0x20, 0x32, 0x18, 0x95, 0x82, 0xaa, - 0xc4, 0xf3, 0x50, 0xc2, 0x5a, 0x53, 0x97, 0xad, 0xae, 0x49, 0xe7, 0x6f, 0x54, 0xea, 0x15, 0xb0, - 0xe4, 0xdd, 0x7e, 0x00, 0x2e, 0xc2, 0x5f, 0xa3, 0xaf, 0xdb, 0xd5, 0xb5, 0xa6, 0x4e, 0xb2, 0xc2, - 0xeb, 0x50, 0xb0, 0xff, 0x66, 0xc0, 0x46, 0x57, 0x5e, 0xfc, 0xe9, 0xa3, 0x99, 0x02, 0x26, 0x25, - 0x9f, 0x3c, 0x9a, 0xb9, 0x9a, 0xc0, 0x68, 0x97, 0x15, 0x85, 0xd9, 0xbf, 0xc4, 0x58, 0x89, 0xe7, - 0x21, 0xbf, 0x46, 0x13, 0xb6, 0x6d, 0x96, 0xc5, 0x9f, 0x3e, 0x9a, 0x21, 0xb9, 0x8a, 0x12, 0x29, - 0xad, 0x3d, 0x24, 0x8f, 0x00, 0x12, 0x04, 0x86, 0x22, 0x5e, 0xa4, 0xe3, 0xa1, 0x2b, 0x32, 0xfd, - 0x4a, 0x86, 0x10, 0xd8, 0xbf, 0xa5, 0xa2, 0x5d, 0x45, 0xc2, 0xa7, 0xab, 0x30, 0x7c, 0x5f, 0x6e, - 0x75, 0x11, 0xfb, 0xe2, 0xe1, 0x72, 0xe4, 0x2e, 0xad, 0x37, 0x3e, 0xe7, 0x5b, 0x0c, 0x42, 0x5b, - 0xfb, 0xaf, 0x21, 0x92, 0xdf, 0xb9, 0x6c, 0x6f, 0xfc, 0xa8, 0xa1, 0x05, 0x9c, 0x92, 0xb2, 0xe5, - 0xfe, 0x07, 0xed, 0x5b, 0x73, 0x47, 0xb3, 0x6f, 0x0d, 0xdb, 0x78, 0xe7, 0xd3, 0x6f, 0xbc, 0x87, - 0xc3, 0x37, 0xde, 0xbd, 0x7d, 0x70, 0x21, 0xdb, 0x3e, 0xb8, 0xf6, 0x0c, 0xf9, 0xc4, 0x25, 0x5a, - 0xb8, 0xae, 0x1e, 0xfe, 0xa7, 0x00, 0x0b, 0xcb, 0x96, 0xd1, 0xd6, 0x14, 0xee, 0xab, 0x94, 0x0d, - 0x84, 0xb6, 0xba, 0x2d, 0x4b, 0xeb, 0xb4, 0x34, 0x64, 0x3a, 0xde, 0xe6, 0xd0, 0xde, 0x03, 0xc1, - 0x24, 0x9b, 0x37, 0xfb, 0x80, 0xd7, 0x76, 0x3b, 0x70, 0x5c, 0xc9, 0x62, 0xfc, 0x48, 0x3d, 0xc0, - 0xa4, 0x89, 0x76, 0x7f, 0x21, 0xe7, 0x4d, 0x9e, 0x7e, 0x08, 0xa3, 0x7c, 0x3a, 0x9f, 0xb8, 0x04, - 0x13, 0xeb, 0x5f, 0x5d, 0x7d, 0x65, 0xf9, 0xb5, 0x97, 0xd7, 0x1b, 0xaf, 0xbf, 0x56, 0xdf, 0x5e, - 0x5f, 0xdd, 0xdc, 0xd8, 0x5c, 0x5f, 0x3b, 0x79, 0xac, 0x5a, 0x79, 0xe7, 0x83, 0xd9, 0xc0, 0x3a, - 0x51, 0x84, 0x7c, 0x7d, 0xfb, 0xce, 0xce, 0x49, 0xa1, 0x5a, 0x7c, 0xe7, 0x83, 0x59, 0xf2, 0xb7, - 0x3d, 0xd4, 0xb5, 0x75, 0x69, 0xf3, 0x8d, 0xe5, 0x9d, 0xcd, 0x37, 0xd6, 0xeb, 0x27, 0x87, 0xaa, - 0x27, 0xde, 0xf9, 0x60, 0x96, 0x2f, 0x5a, 0xfa, 0xe3, 0x0b, 0x90, 0xdb, 0xc2, 0x4d, 0x51, 0x86, - 0x11, 0xe7, 0x91, 0xcd, 0x4b, 0x31, 0x96, 0xc2, 0xda, 0x55, 0x17, 0x92, 0xb5, 0x73, 0x93, 0x88, - 0x55, 0x28, 0xba, 0x4f, 0x64, 0xc6, 0x59, 0xa3, 0xd3, 0xb0, 0xba, 0x98, 0xb0, 0xa1, 0xdb, 0xcb, - 0x7b, 0x02, 0x9c, 0x09, 0x7b, 0x37, 0xf1, 0xb9, 0x18, 0x66, 0x21, 0x74, 0xd5, 0x5f, 0xc8, 0x46, - 0xe7, 0x62, 0xfa, 0x50, 0x80, 0xf3, 0x91, 0x0f, 0x09, 0xbe, 0x98, 0xac, 0x83, 0x40, 0xe2, 0xea, - 0xea, 0x21, 0x88, 0x5d, 0x88, 0x7f, 0x2d, 0xc0, 0x6c, 0xec, 0x3b, 0x4f, 0xb7, 0x92, 0xf5, 0x14, - 0xca, 0xa0, 0xfa, 0xf2, 0x21, 0x19, 0xb8, 0x70, 0xbf, 0x2d, 0xc0, 0x44, 0xe0, 0x4b, 0xa6, 0x5f, - 0x88, 0xe9, 0x21, 0x88, 0xa8, 0xfa, 0x62, 0x06, 0x22, 0x17, 0xca, 0x1f, 0x0a, 0x50, 0x8d, 0x78, - 0x87, 0xf4, 0xf9, 0x18, 0xde, 0xe1, 0xa4, 0xd5, 0xe5, 0xcc, 0xa4, 0x2e, 0xb8, 0x77, 0x05, 0x38, - 0x1d, 0xfc, 0xfc, 0xcf, 0xf5, 0xc4, 0x63, 0xe6, 0xa8, 0xaa, 0x3f, 0x9f, 0x85, 0xca, 0x45, 0x73, - 0x00, 0x27, 0xfc, 0xaf, 0x78, 0xc4, 0x39, 0x11, 0x5f, 0xfb, 0xea, 0x73, 0xe9, 0xda, 0x7b, 0x04, - 0x11, 0xfc, 0x1c, 0xc7, 0xf5, 0x44, 0x52, 0xf6, 0x51, 0xc5, 0x0a, 0x22, 0xfa, 0xfd, 0x8d, 0xb7, - 0xe1, 0x54, 0xff, 0x0b, 0x14, 0xcf, 0x26, 0x61, 0xc9, 0x53, 0x54, 0xbf, 0x94, 0x96, 0xc2, 0x05, - 0xf0, 0x3d, 0x01, 0xce, 0x86, 0x7f, 0x8e, 0x12, 0xc7, 0x37, 0x94, 0xb2, 0xfa, 0x52, 0x56, 0x4a, - 0x8f, 0x39, 0x45, 0xbc, 0x49, 0xf4, 0x7c, 0x22, 0x05, 0x0c, 0x22, 0x8d, 0x35, 0xa7, 0x04, 0x2f, - 0x10, 0xd9, 0x5e, 0x32, 0xf6, 0xd1, 0x9d, 0x5b, 0xc9, 0xcd, 0x36, 0x90, 0x41, 0xac, 0x97, 0x4c, - 0xfc, 0xcc, 0xce, 0x07, 0x02, 0x9c, 0x8b, 0xfa, 0x48, 0xff, 0x85, 0x94, 0x12, 0xe1, 0x3d, 0xc1, - 0x4a, 0x76, 0x5a, 0xaf, 0x77, 0x0a, 0xfc, 0x5e, 0xf8, 0x7a, 0x22, 0x33, 0xf7, 0x51, 0xc5, 0x7b, - 0xa7, 0xa8, 0x2f, 0x7c, 0x89, 0xb4, 0xa2, 0x3e, 0x36, 0x7d, 0x21, 0xb9, 0xc9, 0xfb, 0x69, 0x63, - 0xa5, 0x95, 0xe4, 0x1b, 0x53, 0x6e, 0x89, 0x0e, 0x7f, 0xed, 0x34, 0xe1, 0x12, 0x1d, 0xca, 0x20, - 0xe9, 0x12, 0x1d, 0xfb, 0x78, 0xa4, 0xf8, 0xa7, 0x02, 0x4c, 0x45, 0xbf, 0xc0, 0x95, 0x6c, 0x31, - 0x09, 0xa1, 0xae, 0xae, 0x1d, 0x86, 0xda, 0x45, 0xf9, 0x67, 0x02, 0x4c, 0xc7, 0x7c, 0xf0, 0x7f, - 0x33, 0x7d, 0x47, 0xbc, 0xa1, 0xac, 0x1f, 0x8a, 0xdc, 0x05, 0xfa, 0x5d, 0x01, 0x2a, 0xa1, 0x1f, - 0x9f, 0xdf, 0x48, 0xa4, 0xf8, 0xfd, 0x84, 0xd5, 0x5b, 0x19, 0x09, 0x3d, 0xf2, 0x8b, 0x79, 0x22, - 0xea, 0x66, 0x72, 0xdd, 0x0f, 0x20, 0x8f, 0x95, 0x5f, 0xc2, 0xc7, 0xa1, 0xbe, 0x29, 0x80, 0x18, - 0xf0, 0xe9, 0xf5, 0xb5, 0xb8, 0xb0, 0x40, 0x1f, 0x49, 0xf5, 0xf9, 0xd4, 0x24, 0x2e, 0x88, 0x6f, - 0xc0, 0xc9, 0xbe, 0x8f, 0xa0, 0xe3, 0x4e, 0x38, 0x7e, 0x82, 0xea, 0x8d, 0x94, 0x04, 0xfc, 0xae, - 0xa3, 0xff, 0x63, 0xe4, 0xb8, 0x5d, 0x47, 0x1f, 0x45, 0xec, 0xae, 0x23, 0xf4, 0xab, 0x61, 0xf1, - 0x3b, 0x02, 0x4c, 0x86, 0x7c, 0x32, 0xfc, 0xc5, 0x58, 0xb7, 0x13, 0x44, 0x56, 0xbd, 0x99, 0x89, - 0xcc, 0x05, 0x84, 0x61, 0xcc, 0x1b, 0xc2, 0xfb, 0xb9, 0x18, 0x7e, 0x9e, 0xd6, 0xd5, 0xeb, 0x69, - 0x5a, 0x7b, 0x4c, 0x26, 0x26, 0xa0, 0x14, 0x37, 0xac, 0x68, 0xf2, 0x58, 0x93, 0x49, 0x16, 0x71, - 0x21, 0x26, 0x13, 0x10, 0x99, 0xbc, 0x16, 0x3b, 0x6a, 0x3f, 0x49, 0xac, 0xc9, 0x84, 0x87, 0x1f, - 0x57, 0xf6, 0x7f, 0xf4, 0xd1, 0xb4, 0xf0, 0xe3, 0x8f, 0xa6, 0x85, 0xff, 0xf9, 0x68, 0x5a, 0xf8, - 0xfd, 0x8f, 0xa7, 0x8f, 0xfd, 0xf8, 0xe3, 0xe9, 0x63, 0xff, 0xf1, 0xf1, 0xf4, 0xb1, 0x37, 0x5f, - 0xe3, 0xc2, 0x63, 0x9b, 0x0e, 0xfb, 0xdb, 0xf2, 0x2e, 0x5e, 0x74, 0x3b, 0xbb, 0xaa, 0x18, 0x26, - 0xe2, 0x7f, 0xee, 0xcb, 0x9a, 0xbe, 0xd8, 0x36, 0xd4, 0x6e, 0x0b, 0xe1, 0xde, 0xff, 0x73, 0x42, - 0x42, 0x69, 0xbb, 0x05, 0xf2, 0x5f, 0x8e, 0x7c, 0xe1, 0x67, 0x01, 0x00, 0x00, 0xff, 0xff, 0x44, - 0x4a, 0x38, 0xa1, 0x88, 0x65, 0x00, 0x00, + // 4497 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3d, 0x6d, 0x6c, 0x1c, 0x49, + 0x56, 0x69, 0x7b, 0x3c, 0xf6, 0x3c, 0x8f, 0xed, 0xa4, 0xed, 0x38, 0x93, 0x49, 0xfc, 0x91, 0xf1, + 0x26, 0x71, 0x76, 0x89, 0xbd, 0xc9, 0xe5, 0x36, 0xb7, 0x59, 0x42, 0xd6, 0x9f, 0xbb, 0xbe, 0x8d, + 0x37, 0xbe, 0x1e, 0xef, 0x72, 0xac, 0xc4, 0x0d, 0xed, 0x9e, 0xf2, 0xb8, 0x37, 0x33, 0xdd, 0x93, + 0xae, 0x9a, 0x24, 0x3e, 0x9d, 0x04, 0x3a, 0x1d, 0xd2, 0x92, 0x05, 0x74, 0x0b, 0x7b, 0xda, 0xe3, + 0x60, 0x61, 0x11, 0x12, 0x20, 0x40, 0x80, 0xc4, 0xfd, 0xe4, 0x0f, 0x87, 0x40, 0x07, 0xf7, 0x83, + 0x15, 0xbf, 0x4e, 0xfc, 0x08, 0xb0, 0x2b, 0xc4, 0x69, 0x25, 0xfe, 0xc2, 0xe9, 0x7e, 0x20, 0xd4, + 0x55, 0xd5, 0x3d, 0xfd, 0xfd, 0x65, 0x4f, 0x36, 0x44, 0xfb, 0xcb, 0xd3, 0x55, 0xf5, 0x5e, 0xbd, + 0xf7, 0xea, 0xbd, 0x57, 0x55, 0xaf, 0x5e, 0x95, 0x61, 0x4e, 0xd5, 0xde, 0x44, 0x0a, 0x51, 0xef, + 0xa2, 0x45, 0x74, 0x5f, 0xd9, 0x93, 0xb5, 0x06, 0x5a, 0xbc, 0x7b, 0x69, 0x07, 0x11, 0xf9, 0xd2, + 0x22, 0xb9, 0xbf, 0xd0, 0x36, 0x74, 0xa2, 0x8b, 0x65, 0xbb, 0xd1, 0x82, 0xd5, 0x68, 0x81, 0x37, + 0x2a, 0x4f, 0x2b, 0x3a, 0x6e, 0xe9, 0x78, 0x71, 0x47, 0xc6, 0x5d, 0x48, 0x45, 0x57, 0x35, 0x06, + 0x5b, 0x5e, 0xe0, 0xf5, 0x75, 0x15, 0x13, 0x43, 0xdd, 0xe9, 0x10, 0x55, 0xd7, 0xec, 0x76, 0xce, + 0x42, 0xde, 0xfe, 0x04, 0x6f, 0xdf, 0xc2, 0x8d, 0xc5, 0xbb, 0x97, 0xcc, 0x3f, 0xbc, 0xe2, 0x24, + 0xab, 0xa8, 0xd1, 0xaf, 0x45, 0xf6, 0xc1, 0xab, 0x26, 0x1a, 0x7a, 0x43, 0x67, 0xe5, 0xe6, 0x2f, + 0x5e, 0x7a, 0x21, 0x82, 0x35, 0x9b, 0x0d, 0xd6, 0xf4, 0x6c, 0xb7, 0xa9, 0x6e, 0xc8, 0x4a, 0xb3, + 0xdb, 0x90, 0x7d, 0xb2, 0x66, 0x95, 0xdf, 0x16, 0x60, 0x6c, 0x13, 0x37, 0x5e, 0x6b, 0xd7, 0x65, + 0x82, 0xb6, 0x64, 0x43, 0x6e, 0x61, 0xf1, 0x39, 0x28, 0xc8, 0x1d, 0xb2, 0xa7, 0x1b, 0x2a, 0xd9, + 0x2f, 0x09, 0xb3, 0xc2, 0x7c, 0x61, 0xb9, 0xf4, 0xcf, 0xdf, 0xbd, 0x38, 0xc1, 0x09, 0x5c, 0xaa, + 0xd7, 0x0d, 0x84, 0x71, 0x95, 0x18, 0xaa, 0xd6, 0x90, 0xba, 0x4d, 0xc5, 0x17, 0x21, 0xdf, 0xa6, + 0x18, 0x4a, 0x7d, 0xb3, 0xc2, 0xfc, 0xf0, 0xe5, 0xca, 0x42, 0xb8, 0x90, 0x17, 0x58, 0x5f, 0xcb, + 0xb9, 0xef, 0x3f, 0x9c, 0x39, 0x22, 0x71, 0xb8, 0x6b, 0xa3, 0x5f, 0xff, 0xcf, 0xbf, 0x7c, 0xba, + 0x8b, 0xb1, 0x72, 0x12, 0x4e, 0x78, 0x88, 0x93, 0x10, 0x6e, 0xeb, 0x1a, 0x46, 0x95, 0xf7, 0x04, + 0x80, 0x4d, 0xdc, 0x58, 0x45, 0x6d, 0x1d, 0xab, 0x44, 0x9c, 0x84, 0x3c, 0x46, 0x5a, 0x1d, 0x19, + 0x8c, 0x60, 0x89, 0x7f, 0x89, 0x73, 0x30, 0x82, 0x3b, 0x3b, 0xb2, 0xa2, 0xe8, 0x1d, 0x8d, 0xd4, + 0xd4, 0x3a, 0x25, 0xad, 0x20, 0x15, 0xbb, 0x85, 0x1b, 0x75, 0xf1, 0x2a, 0xe4, 0xe5, 0x96, 0xf9, + 0xbb, 0xd4, 0x4f, 0x09, 0x3f, 0xc9, 0x47, 0x78, 0xc1, 0xd4, 0x00, 0x9b, 0xe2, 0x15, 0x5d, 0xd5, + 0x2c, 0x7a, 0x59, 0xf3, 0x6b, 0xe3, 0x6f, 0x7d, 0x30, 0x73, 0xe4, 0x47, 0x1f, 0xcc, 0x1c, 0x31, + 0xe9, 0xe6, 0x5d, 0x56, 0x26, 0x40, 0xec, 0x12, 0x66, 0xd3, 0xfb, 0x6d, 0x01, 0x86, 0x37, 0x71, + 0xe3, 0x67, 0x55, 0xb2, 0x57, 0x37, 0xe4, 0x7b, 0x8f, 0x13, 0xc1, 0xc7, 0x61, 0xdc, 0x41, 0x99, + 0x4d, 0xf1, 0xaf, 0x08, 0x54, 0xfa, 0x2b, 0x06, 0x92, 0x09, 0xaa, 0xb6, 0x75, 0x72, 0x53, 0x6d, + 0xa9, 0xe4, 0x96, 0x61, 0x52, 0x19, 0x46, 0xfd, 0x12, 0x0c, 0xe8, 0x66, 0x03, 0xae, 0x01, 0x67, + 0xa3, 0x34, 0xc0, 0x44, 0x49, 0xb1, 0x71, 0x1a, 0x19, 0x64, 0x30, 0x89, 0x5f, 0x84, 0x99, 0x10, + 0x52, 0x2c, 0x72, 0xc5, 0x29, 0x00, 0x8a, 0xa0, 0xb6, 0x27, 0xe3, 0x3d, 0x4e, 0x56, 0x81, 0x96, + 0xbc, 0x2c, 0xe3, 0xbd, 0x6b, 0x43, 0x16, 0xda, 0xca, 0x3b, 0x02, 0x4c, 0x6d, 0xe2, 0xc6, 0xb2, + 0x4c, 0x94, 0xbd, 0x20, 0x8c, 0x38, 0x94, 0xbb, 0x15, 0xc8, 0x53, 0x84, 0xa6, 0x82, 0xf7, 0xa7, + 0x65, 0x8f, 0x83, 0x06, 0xf3, 0xb7, 0x0d, 0x67, 0x23, 0x49, 0xb2, 0xb9, 0x3c, 0x03, 0xc5, 0x2e, + 0x97, 0x08, 0x97, 0x84, 0xd9, 0xfe, 0xf9, 0x82, 0x34, 0x6c, 0xf3, 0x89, 0xb0, 0x83, 0xd3, 0xff, + 0xe8, 0x83, 0xf2, 0x26, 0x6e, 0x6c, 0x68, 0x98, 0xc8, 0x1a, 0x31, 0x51, 0x6e, 0xca, 0xc6, 0x6d, + 0x44, 0x6e, 0xca, 0x1d, 0x4d, 0xd9, 0x0b, 0x65, 0x73, 0x12, 0xf2, 0x44, 0x55, 0x6e, 0xf3, 0x51, + 0x2c, 0x48, 0xfc, 0xcb, 0x94, 0xb0, 0xa9, 0x5f, 0xb5, 0x3a, 0xd2, 0xf4, 0x16, 0xd5, 0xbc, 0x82, + 0x54, 0x30, 0x4b, 0x56, 0xcd, 0x02, 0x71, 0x06, 0x86, 0xef, 0x74, 0x74, 0x62, 0xd5, 0xe7, 0x68, + 0x3d, 0xd0, 0x22, 0xd6, 0xe0, 0xe7, 0x61, 0xbc, 0xa5, 0x6a, 0xb5, 0xb6, 0xa1, 0x2a, 0xa8, 0x66, + 0xe2, 0xac, 0x61, 0xf5, 0xab, 0xa8, 0x34, 0x40, 0x3d, 0xcc, 0x82, 0x29, 0xa4, 0x7f, 0x79, 0x38, + 0x73, 0xae, 0xa1, 0x92, 0xbd, 0xce, 0xce, 0x82, 0xa2, 0xb7, 0xb8, 0x47, 0xe4, 0x7f, 0x2e, 0xe2, + 0xfa, 0xed, 0x45, 0xb2, 0xdf, 0x46, 0x78, 0x61, 0x15, 0x29, 0xd2, 0xd1, 0x96, 0xaa, 0x6d, 0x99, + 0x98, 0xb6, 0x55, 0xe5, 0x76, 0x55, 0xfd, 0x2a, 0x12, 0x15, 0x98, 0x34, 0xd1, 0xdf, 0xe9, 0xc8, + 0x1a, 0x51, 0xc9, 0xbe, 0xa3, 0x87, 0x7c, 0xa6, 0x1e, 0x4c, 0x62, 0xbf, 0xc4, 0x91, 0x59, 0x9d, + 0x04, 0x8f, 0xde, 0x53, 0x50, 0x09, 0x17, 0xb3, 0x6d, 0x4f, 0xff, 0x9b, 0xa7, 0x4a, 0xcc, 0x9b, + 0x6d, 0x21, 0xa3, 0x8d, 0x48, 0x47, 0x6e, 0x1e, 0x68, 0x48, 0x3c, 0x32, 0xef, 0xf7, 0xc9, 0x7c, + 0x06, 0x86, 0x99, 0xbf, 0xaf, 0x99, 0x03, 0x65, 0x0d, 0x0a, 0x2b, 0x5a, 0x96, 0x2d, 0x85, 0xa2, + 0x0d, 0x28, 0x14, 0x1b, 0x0d, 0x89, 0x03, 0x7d, 0xc9, 0x2c, 0x12, 0x17, 0x60, 0x9c, 0x37, 0xc1, + 0x8a, 0xdc, 0x44, 0xb5, 0x5d, 0x59, 0x21, 0xba, 0x41, 0xa5, 0x3a, 0x22, 0x1d, 0x63, 0x55, 0x55, + 0xb3, 0x66, 0x9d, 0x56, 0x88, 0x6b, 0x76, 0x9f, 0xa6, 0x30, 0x4b, 0x83, 0xb3, 0xc2, 0xfc, 0xe8, + 0xe5, 0xa7, 0x1c, 0xb6, 0xc2, 0x67, 0x20, 0xcb, 0x52, 0x6e, 0xd1, 0xcf, 0xed, 0xfd, 0x36, 0xb2, + 0x28, 0x33, 0x7f, 0x8b, 0xdb, 0x30, 0xda, 0x92, 0x6f, 0x23, 0xa3, 0xb6, 0x8b, 0x50, 0xcd, 0x90, + 0x09, 0x2a, 0x0d, 0x65, 0x1a, 0xc7, 0x22, 0xc5, 0xb2, 0x8e, 0x90, 0x24, 0x13, 0x8a, 0x95, 0xb8, + 0xb1, 0x16, 0xb2, 0x61, 0x25, 0x4e, 0xac, 0xbf, 0x00, 0x13, 0xaa, 0xa6, 0x12, 0x55, 0x6e, 0xd6, + 0x5a, 0xb2, 0xd1, 0x50, 0x35, 0x13, 0xb5, 0xaa, 0x97, 0x20, 0x13, 0x6e, 0x91, 0xe3, 0xda, 0xa4, + 0xa8, 0x24, 0x13, 0x93, 0xb8, 0x07, 0xa5, 0x96, 0xac, 0x6a, 0x04, 0x69, 0xb2, 0xa6, 0x20, 0x77, + 0x2f, 0xc3, 0x99, 0x7a, 0x99, 0x74, 0xe0, 0x73, 0xf6, 0x14, 0x62, 0xa6, 0xc5, 0x9e, 0x9b, 0xe9, + 0x48, 0x8f, 0xcd, 0xf4, 0x02, 0x9c, 0x8f, 0xb1, 0x3f, 0xdb, 0x56, 0xff, 0x3a, 0x0f, 0x73, 0xdd, + 0xb6, 0xcb, 0xaa, 0x26, 0x1b, 0xfb, 0xb7, 0xda, 0xe6, 0x9a, 0x0e, 0x1f, 0xc8, 0x5e, 0xe7, 0x60, + 0xc4, 0x32, 0xa5, 0xfd, 0xd6, 0x8e, 0xde, 0xe4, 0x16, 0xcb, 0x4d, 0xb0, 0x4a, 0xcb, 0xc4, 0xf3, + 0x30, 0xc6, 0x1b, 0xb5, 0x0d, 0xfd, 0xae, 0x6a, 0x62, 0x67, 0x76, 0x3b, 0xca, 0x8a, 0xb7, 0x78, + 0xa9, 0xd7, 0xd0, 0x06, 0x32, 0x1a, 0x5a, 0x5a, 0xfb, 0xf6, 0x1b, 0xe6, 0x60, 0x4f, 0x0c, 0x73, + 0xe8, 0x10, 0x0c, 0xf3, 0x12, 0x4c, 0xa0, 0xfb, 0x6d, 0x95, 0xda, 0x89, 0x56, 0x23, 0x6a, 0x0b, + 0x61, 0x22, 0xb7, 0xda, 0xd4, 0xe8, 0xfb, 0xa5, 0xf1, 0x6e, 0xdd, 0xb6, 0x55, 0x65, 0x82, 0x60, + 0x44, 0x48, 0x13, 0xb5, 0x90, 0x46, 0x1c, 0x20, 0xc0, 0x40, 0xba, 0x75, 0x5d, 0x90, 0x09, 0x18, + 0x90, 0xeb, 0x2d, 0x55, 0x63, 0x96, 0x28, 0xb1, 0x0f, 0xaf, 0x73, 0x2e, 0x26, 0x9d, 0x10, 0x47, + 0x7a, 0x6e, 0x69, 0xa3, 0x3d, 0xb6, 0xb4, 0x8b, 0xf0, 0x4c, 0x02, 0xeb, 0xb1, 0xad, 0xed, 0x3b, + 0x83, 0x4e, 0x6b, 0x5b, 0x33, 0xc7, 0x64, 0x7f, 0xbd, 0x43, 0x3a, 0x06, 0xc2, 0x8f, 0xff, 0xec, + 0xe8, 0x31, 0xc2, 0xfc, 0xe1, 0x1a, 0xe1, 0x60, 0x98, 0x11, 0x4e, 0x42, 0x9e, 0x2a, 0xef, 0x3e, + 0x35, 0x93, 0x7e, 0x89, 0x7f, 0x05, 0x18, 0x67, 0xa1, 0x27, 0xc6, 0x09, 0x3d, 0x9c, 0x35, 0x87, + 0x1f, 0xc9, 0xac, 0x59, 0x7c, 0x14, 0xb3, 0xe6, 0x13, 0x66, 0xcb, 0xa1, 0xb6, 0x69, 0xdb, 0xf2, + 0x03, 0x01, 0x4a, 0xae, 0xad, 0x1a, 0x6b, 0xf5, 0xe9, 0x6c, 0x1b, 0x7f, 0x4f, 0x80, 0xd9, 0x30, + 0x62, 0x12, 0x6e, 0x1c, 0x45, 0x09, 0x06, 0x0d, 0x84, 0x3b, 0x4d, 0x62, 0x85, 0x35, 0x2e, 0xc7, + 0x51, 0xe7, 0xee, 0xc4, 0x84, 0xa4, 0xa4, 0x0a, 0x92, 0x85, 0xc8, 0xb1, 0x45, 0xfb, 0x6f, 0x01, + 0x26, 0x83, 0x61, 0xc4, 0x2f, 0xc2, 0x90, 0x35, 0xdc, 0x3c, 0x0a, 0x93, 0x76, 0x90, 0x6d, 0x78, + 0x71, 0x15, 0x06, 0xa8, 0x66, 0x32, 0x07, 0x99, 0x1a, 0x11, 0x03, 0x16, 0x5f, 0x84, 0xfe, 0x5d, + 0x84, 0x98, 0x1f, 0x4d, 0x8d, 0xc3, 0x04, 0xf5, 0xef, 0xc2, 0xd9, 0xd0, 0xac, 0x22, 0x43, 0xbd, + 0x2b, 0x9b, 0x12, 0x4d, 0x10, 0x63, 0x78, 0xc9, 0xad, 0x2c, 0xcf, 0x44, 0x0d, 0x47, 0x17, 0x71, + 0x80, 0xca, 0x8c, 0xbd, 0xe5, 0x51, 0x97, 0x2d, 0xba, 0x0b, 0x0f, 0x27, 0x29, 0x7d, 0xac, 0xe1, + 0x5d, 0xa7, 0x02, 0xba, 0x26, 0xc2, 0x4f, 0x95, 0xd1, 0x2a, 0xcc, 0xc7, 0x51, 0x95, 0x9e, 0xd7, + 0xdf, 0x12, 0xe8, 0x2c, 0xee, 0x08, 0x62, 0x04, 0xc9, 0x30, 0x3c, 0xba, 0xb2, 0xe1, 0x89, 0xae, + 0x64, 0xe0, 0xd7, 0x8a, 0xb1, 0xf8, 0x18, 0x7e, 0x83, 0x3a, 0xb1, 0x38, 0xd2, 0xb2, 0x45, 0x59, + 0x7e, 0x57, 0xa0, 0x01, 0xbf, 0x15, 0x73, 0x46, 0x68, 0xda, 0xde, 0x29, 0x94, 0xcd, 0x53, 0x50, + 0x68, 0x51, 0x63, 0xef, 0x06, 0xf7, 0x86, 0x58, 0xc1, 0x46, 0xdd, 0x1f, 0xfd, 0xeb, 0x0f, 0x88, + 0xfe, 0xb9, 0x47, 0x24, 0xe7, 0x1d, 0x11, 0x1f, 0xf3, 0xa7, 0x69, 0x14, 0xc8, 0x43, 0x9f, 0xed, + 0xb0, 0xbf, 0xc1, 0x1c, 0x36, 0x93, 0x8d, 0xbb, 0x4d, 0xf8, 0x58, 0xdd, 0x80, 0x5c, 0x5d, 0x26, + 0x72, 0x92, 0x38, 0x18, 0xc5, 0xb4, 0x2a, 0x13, 0x99, 0x8f, 0x11, 0x05, 0xf4, 0x13, 0xb9, 0x4e, + 0x0d, 0x25, 0x90, 0x0a, 0x7b, 0x58, 0x4a, 0x30, 0x88, 0x3b, 0x8a, 0x82, 0x30, 0x1b, 0x91, 0x21, + 0xc9, 0xfa, 0x74, 0x8c, 0xc6, 0xaf, 0x09, 0x70, 0xc6, 0x8d, 0xc8, 0xa5, 0xe0, 0x8f, 0x9c, 0xaf, + 0x5b, 0x70, 0x21, 0x96, 0x9c, 0x54, 0x0c, 0x7e, 0x38, 0x08, 0x13, 0x16, 0x46, 0x16, 0x19, 0x8f, + 0xe1, 0x29, 0x51, 0x44, 0xf9, 0x06, 0x4c, 0xe1, 0xb6, 0x4e, 0x6a, 0xb6, 0x6a, 0xe2, 0x1a, 0xd1, + 0x6b, 0x0a, 0xa5, 0xb8, 0x26, 0x37, 0xcd, 0x8d, 0xaa, 0x69, 0x02, 0x25, 0x6c, 0xcf, 0x55, 0x1b, + 0x75, 0xbc, 0xad, 0x33, 0x96, 0x96, 0x9a, 0x4d, 0xf1, 0x15, 0x98, 0xab, 0xdb, 0x36, 0x15, 0x8e, + 0x26, 0x47, 0xd1, 0x4c, 0x77, 0x9b, 0x06, 0x22, 0xfb, 0x0a, 0x1c, 0xa7, 0xd4, 0x30, 0x73, 0xee, + 0xa2, 0x28, 0x0d, 0xa4, 0x1d, 0x17, 0x41, 0x12, 0xb1, 0xad, 0x48, 0x56, 0x17, 0xe2, 0x9b, 0x70, + 0xca, 0x41, 0xac, 0xaf, 0x97, 0x7c, 0xfa, 0x5e, 0x4a, 0x75, 0xb7, 0x43, 0xea, 0xf6, 0x15, 0xc0, + 0x0b, 0xf5, 0x40, 0xa5, 0xc1, 0xb4, 0x31, 0x64, 0x2f, 0x2f, 0x14, 0x8d, 0xd8, 0x0e, 0xe3, 0x85, + 0xf5, 0x32, 0x94, 0xcd, 0x97, 0x06, 0x73, 0xc4, 0x7a, 0xbc, 0x03, 0x33, 0x3b, 0x54, 0x89, 0x6b, + 0x3a, 0xd3, 0x62, 0xbf, 0x04, 0x0b, 0xe9, 0x25, 0x78, 0x6a, 0xc7, 0x6f, 0x18, 0xb6, 0x10, 0x25, + 0x38, 0xef, 0xe9, 0x32, 0x54, 0xc3, 0x80, 0x6a, 0xd8, 0x99, 0x1d, 0xff, 0xae, 0xd3, 0xa3, 0x64, + 0xf7, 0xa2, 0xd8, 0x60, 0xc2, 0x1b, 0xce, 0x2a, 0xbc, 0x10, 0x66, 0x28, 0x56, 0xbf, 0x8f, 0xf8, + 0x49, 0x1f, 0x9c, 0x0e, 0x32, 0x69, 0xdb, 0x2f, 0x2c, 0xc0, 0x38, 0xd5, 0x21, 0xce, 0xa6, 0xdb, + 0x47, 0x1c, 0x33, 0xab, 0xb8, 0xcf, 0x64, 0x15, 0xe2, 0x35, 0x38, 0xe9, 0xd0, 0x09, 0x0f, 0x54, + 0x1f, 0x85, 0x3a, 0xd1, 0x6d, 0xe0, 0x86, 0x7d, 0x1a, 0x8e, 0x75, 0xf5, 0xd5, 0x9a, 0x00, 0x99, + 0xf5, 0x8f, 0xd9, 0xea, 0xc7, 0x26, 0x41, 0xf1, 0x39, 0x38, 0xe1, 0xd5, 0x3d, 0x0b, 0x82, 0x19, + 0xfa, 0x71, 0x8f, 0x12, 0x71, 0xb8, 0x25, 0x98, 0xf2, 0x88, 0xde, 0x43, 0xe3, 0x00, 0xa5, 0xb1, + 0xec, 0x92, 0xa2, 0x9b, 0xcc, 0xeb, 0x70, 0x2a, 0x68, 0xf4, 0xac, 0xee, 0xf3, 0xcc, 0x5d, 0xf9, + 0x87, 0xc1, 0x37, 0x7d, 0xff, 0x86, 0x00, 0xd3, 0x01, 0xab, 0xbe, 0x24, 0xdb, 0x96, 0xde, 0x2d, + 0xd0, 0xfe, 0x54, 0x80, 0x73, 0xd1, 0x44, 0x25, 0xdd, 0xbe, 0x7c, 0xd9, 0xbb, 0x7d, 0xf9, 0x42, + 0x32, 0x2a, 0xd3, 0x6c, 0x62, 0x7e, 0xa7, 0x1f, 0x4e, 0x47, 0x41, 0x3e, 0x89, 0x5b, 0x19, 0xf1, + 0x75, 0x18, 0xa5, 0x27, 0xbc, 0xaa, 0xae, 0xd5, 0xea, 0xa8, 0x49, 0x64, 0xba, 0x12, 0x1b, 0xbe, + 0x7c, 0x21, 0xf2, 0xd4, 0x9b, 0x43, 0xac, 0x9a, 0x00, 0x5c, 0x07, 0x46, 0xda, 0xce, 0x42, 0x71, + 0x1d, 0xf2, 0x6d, 0x79, 0x5f, 0xef, 0x90, 0x8c, 0x07, 0x63, 0x1c, 0xda, 0x31, 0x3c, 0xdf, 0x62, + 0x4b, 0xa2, 0x80, 0xe5, 0xfe, 0xa7, 0xab, 0xe4, 0x7f, 0x2e, 0xd0, 0xb5, 0x51, 0x34, 0x5d, 0x8f, + 0x93, 0x9e, 0xff, 0x2d, 0x8f, 0x6d, 0x50, 0x47, 0xe4, 0xe1, 0xf5, 0x53, 0x5b, 0xef, 0x77, 0xab, + 0x5b, 0x32, 0xbe, 0x4d, 0x95, 0x66, 0x80, 0x57, 0x6f, 0xca, 0xf8, 0xb6, 0x5f, 0xec, 0x15, 0xb6, + 0x25, 0x0d, 0x62, 0xc2, 0xde, 0x14, 0xfc, 0xbd, 0x00, 0xa7, 0xec, 0x46, 0xfe, 0x15, 0xeb, 0xff, + 0x1f, 0x66, 0xcf, 0xd2, 0x3d, 0x69, 0x18, 0x1f, 0x36, 0xbf, 0x6f, 0x0b, 0x50, 0xb0, 0x17, 0x24, + 0x6e, 0x2e, 0x84, 0x38, 0x2e, 0xfa, 0x62, 0xb9, 0xe8, 0x8f, 0xe6, 0x22, 0xe7, 0xe1, 0xa2, 0xf2, + 0x80, 0x4d, 0x49, 0x8e, 0x4d, 0x83, 0x67, 0x9c, 0x1e, 0xe5, 0x06, 0xe6, 0x26, 0x9d, 0x89, 0x22, + 0x68, 0x49, 0xb5, 0x7b, 0xf9, 0x58, 0x80, 0xe3, 0x9b, 0xb8, 0x51, 0xb5, 0x85, 0xb5, 0x6d, 0xc8, + 0x1a, 0xde, 0x8d, 0x50, 0xa9, 0x67, 0x61, 0x02, 0xeb, 0x1d, 0x43, 0x41, 0xb5, 0x20, 0xb1, 0x8b, + 0xac, 0xae, 0xea, 0x14, 0x3e, 0x5d, 0xfd, 0x60, 0xa2, 0x6a, 0xec, 0xd0, 0x27, 0x48, 0xe7, 0x4e, + 0x38, 0x1a, 0x54, 0x83, 0x33, 0x6b, 0x72, 0xe9, 0x32, 0x6b, 0x86, 0x9d, 0x32, 0x9b, 0xa1, 0xb1, + 0x2d, 0x3f, 0x93, 0xb6, 0xbe, 0xfd, 0xbb, 0x40, 0x73, 0x6e, 0xd6, 0xee, 0x13, 0x64, 0x68, 0x72, + 0xf3, 0x89, 0x14, 0xc2, 0x14, 0x75, 0x21, 0x5e, 0x16, 0x9d, 0x2e, 0xc6, 0xdc, 0xc7, 0xde, 0x54, + 0xef, 0x74, 0x54, 0x9a, 0xdf, 0xc5, 0x67, 0xc1, 0x83, 0xed, 0x63, 0x5d, 0xa6, 0xdb, 0xef, 0x31, + 0x5d, 0x7b, 0x2a, 0xcb, 0x65, 0x9b, 0xca, 0x04, 0x6b, 0x2a, 0x73, 0xf1, 0x39, 0x4d, 0x17, 0xef, + 0x3e, 0x3e, 0x6c, 0x46, 0x7f, 0xb3, 0x0f, 0x4e, 0xd2, 0x08, 0xba, 0xb9, 0xa9, 0xc0, 0x76, 0x3d, + 0x3b, 0x3c, 0x78, 0x4c, 0x46, 0xdc, 0x25, 0xb6, 0x9c, 0x47, 0x6c, 0xeb, 0xb6, 0x3a, 0x64, 0x5c, + 0x91, 0x04, 0x69, 0xc7, 0x1c, 0x5d, 0x93, 0x04, 0x0b, 0xc5, 0x16, 0xdd, 0x07, 0x02, 0x95, 0xed, + 0x96, 0xa1, 0xde, 0x55, 0x9b, 0xa8, 0x81, 0xea, 0x6b, 0xf7, 0x91, 0xd2, 0x21, 0x68, 0x45, 0xd7, + 0x88, 0x21, 0x2b, 0xe1, 0x69, 0x7f, 0x13, 0x30, 0xb0, 0xdb, 0xd1, 0xea, 0x98, 0x8b, 0x8b, 0x7d, + 0x88, 0x17, 0xe0, 0xa8, 0xc2, 0x21, 0x6b, 0x32, 0xcb, 0x62, 0xe4, 0x82, 0x19, 0xb3, 0xca, 0x79, + 0x72, 0xa3, 0x28, 0x72, 0x3f, 0xca, 0x64, 0xc1, 0x5c, 0x63, 0xe0, 0x11, 0xc3, 0x1f, 0x09, 0xf0, + 0x54, 0x14, 0x89, 0xb6, 0x77, 0x7c, 0x13, 0x80, 0x52, 0x51, 0xab, 0xab, 0xbb, 0xbb, 0xd4, 0x41, + 0x46, 0x1a, 0xd6, 0xb3, 0xa6, 0x90, 0xff, 0xe4, 0x5f, 0x67, 0xe6, 0x13, 0x08, 0xd9, 0x04, 0xc0, + 0x52, 0x81, 0xa2, 0x5f, 0x55, 0x77, 0x77, 0x83, 0x29, 0xfd, 0xab, 0x01, 0x98, 0xea, 0x1e, 0x35, + 0xd0, 0x74, 0x4a, 0x9e, 0x59, 0x69, 0xe8, 0x6d, 0x1d, 0xcb, 0x4d, 0x53, 0x6a, 0x44, 0x25, 0x4d, + 0xc4, 0x85, 0xc9, 0x3e, 0xc4, 0x59, 0x18, 0xae, 0x23, 0xac, 0x18, 0x2a, 0x9d, 0x38, 0xb9, 0x44, + 0x9d, 0x45, 0xd1, 0x46, 0xe7, 0x3f, 0x90, 0xcc, 0xd9, 0x5a, 0x24, 0x1c, 0xe2, 0x81, 0xe4, 0x40, + 0x36, 0xac, 0xae, 0x03, 0x49, 0x05, 0x26, 0x0d, 0xd4, 0x94, 0xf7, 0x39, 0x5e, 0xbc, 0x27, 0x1b, + 0x1c, 0x7b, 0x3e, 0x13, 0xf6, 0x71, 0x8e, 0x6d, 0x1d, 0xa1, 0xaa, 0x89, 0x8b, 0x76, 0x12, 0x72, + 0x52, 0x38, 0x98, 0xa9, 0x87, 0x34, 0x27, 0x85, 0x43, 0xd9, 0x78, 0x08, 0x38, 0x29, 0x14, 0x5f, + 0x84, 0x3c, 0x26, 0x32, 0xe9, 0x60, 0x7a, 0xba, 0x3c, 0x7a, 0x79, 0x3e, 0xca, 0x95, 0x32, 0x85, + 0xab, 0xd2, 0xf6, 0x12, 0x87, 0xbb, 0x76, 0xce, 0x52, 0xd1, 0x7f, 0xfc, 0xee, 0xc5, 0x32, 0xb7, + 0x82, 0x86, 0x7e, 0xd7, 0x61, 0x04, 0x1a, 0x41, 0x1a, 0xa9, 0xfc, 0xb1, 0x00, 0x93, 0x6b, 0x1c, + 0xe3, 0x9a, 0x26, 0xef, 0x34, 0x0f, 0xae, 0xae, 0x37, 0xa1, 0x68, 0xd1, 0xb8, 0xbd, 0xdf, 0x66, + 0x9b, 0xc0, 0x18, 0x16, 0xd6, 0x1c, 0xed, 0x25, 0x17, 0xb4, 0x63, 0x6d, 0xf3, 0x63, 0x80, 0x33, + 0x74, 0x9d, 0x64, 0xb5, 0xde, 0xd4, 0xeb, 0xea, 0xae, 0xaa, 0x50, 0x77, 0x7b, 0x60, 0xaa, 0x7f, + 0x59, 0x80, 0x8a, 0x33, 0x44, 0x4b, 0x53, 0xa6, 0x6b, 0x1d, 0x6a, 0xc1, 0xb5, 0x36, 0xc7, 0xce, + 0x22, 0x35, 0xc3, 0x97, 0x9f, 0x4f, 0x76, 0x46, 0x19, 0xe0, 0x04, 0xa4, 0x69, 0x1c, 0x55, 0x8d, + 0xc5, 0xf7, 0x04, 0x98, 0xf7, 0x47, 0x7a, 0x43, 0xa8, 0xc9, 0x51, 0x6a, 0x6e, 0xa4, 0xd9, 0x8a, + 0x05, 0xd1, 0xf4, 0x54, 0x3d, 0xbe, 0x11, 0x16, 0x3b, 0x70, 0xda, 0x29, 0xa0, 0x26, 0x3d, 0x98, + 0x76, 0x10, 0xc3, 0x82, 0xc7, 0x57, 0x92, 0x89, 0x86, 0x1d, 0x6b, 0xdb, 0x14, 0x9c, 0xc4, 0x21, + 0x35, 0x58, 0xfc, 0x86, 0x00, 0x67, 0xda, 0x56, 0x36, 0x59, 0x68, 0xe7, 0xf9, 0xf8, 0x71, 0x09, + 0x4c, 0x49, 0xeb, 0x8e, 0x4b, 0x3b, 0xaa, 0x1a, 0x8b, 0xef, 0x08, 0x70, 0x8e, 0xe5, 0x80, 0xd4, + 0x76, 0xd9, 0xf9, 0x7c, 0x28, 0x2d, 0x2c, 0xf2, 0x7c, 0x3d, 0x5a, 0xe1, 0x43, 0x0e, 0xfa, 0x6d, + 0x7a, 0x2a, 0x28, 0xae, 0x09, 0x16, 0xbf, 0x25, 0xc0, 0x79, 0x62, 0xc8, 0x75, 0x55, 0x6b, 0xd4, + 0x0c, 0x74, 0x4f, 0x36, 0xea, 0x35, 0x45, 0x6e, 0xb5, 0x65, 0xb5, 0xa1, 0x79, 0x75, 0x85, 0x7a, + 0xa7, 0x18, 0x55, 0xd9, 0x66, 0xa8, 0x24, 0x8a, 0x69, 0x85, 0x23, 0xf2, 0xa8, 0xca, 0x1c, 0x89, + 0x6f, 0x44, 0x65, 0x15, 0x1c, 0x4f, 0xf6, 0xc9, 0xaa, 0x10, 0x2f, 0xab, 0xd0, 0x04, 0xa7, 0xae, + 0xac, 0x76, 0xe2, 0x9a, 0x60, 0xf1, 0x5d, 0x01, 0xce, 0x7a, 0x68, 0x0a, 0x31, 0x2a, 0xa0, 0x24, + 0x2d, 0xa7, 0x24, 0x29, 0xc8, 0xae, 0xdc, 0x51, 0xf2, 0x40, 0xa3, 0xfa, 0x1a, 0x4c, 0xd3, 0xec, + 0xa9, 0x5a, 0x1d, 0x29, 0x6a, 0x4b, 0x6e, 0x62, 0xdf, 0xc0, 0x0d, 0xd3, 0x81, 0xbb, 0x1a, 0x45, + 0x0e, 0x43, 0x4a, 0x73, 0xae, 0x56, 0x39, 0x1a, 0x9b, 0x86, 0x53, 0x75, 0x67, 0xb1, 0xbb, 0xfb, + 0xc4, 0xb3, 0xc4, 0xf7, 0x72, 0x50, 0x0a, 0xb3, 0xdd, 0xcc, 0x1e, 0xb7, 0x9b, 0x56, 0xd6, 0x1f, + 0x91, 0x07, 0x9f, 0x8b, 0xc9, 0x83, 0x1f, 0x48, 0x9a, 0xf6, 0x97, 0xef, 0x79, 0xaa, 0xd0, 0xe0, + 0xa1, 0xa5, 0x0a, 0x45, 0x26, 0x67, 0x0b, 0x3d, 0x49, 0xce, 0xce, 0xbc, 0xaa, 0x4b, 0xac, 0x44, + 0x7f, 0x31, 0x08, 0x53, 0x91, 0x3e, 0xf8, 0xd0, 0x35, 0x29, 0xf6, 0xca, 0x84, 0x27, 0x41, 0x71, + 0x20, 0x36, 0x41, 0x31, 0x9f, 0x38, 0x7d, 0x7f, 0x30, 0x61, 0xfa, 0xfe, 0x50, 0xc6, 0x84, 0xc6, + 0xb0, 0xe4, 0xbe, 0xc2, 0x23, 0x49, 0xee, 0x83, 0x43, 0x4d, 0xee, 0xf3, 0x6b, 0xfb, 0x70, 0x4f, + 0x92, 0x2a, 0x8b, 0x87, 0x90, 0x54, 0xf9, 0x24, 0x24, 0x22, 0x26, 0xb5, 0xd8, 0xff, 0xca, 0xc3, + 0x99, 0xd8, 0xd9, 0xf7, 0xd0, 0xad, 0xd6, 0x97, 0xc4, 0x9f, 0x4b, 0x96, 0xc4, 0x3f, 0x90, 0x24, + 0x89, 0xff, 0x51, 0xe5, 0x0f, 0x87, 0x25, 0xc6, 0x0f, 0xa5, 0x4f, 0x8c, 0x2f, 0x24, 0x48, 0x8c, + 0x87, 0x88, 0xc4, 0xf8, 0x61, 0x9f, 0xdb, 0xf3, 0xdb, 0x5b, 0xb1, 0x27, 0xf6, 0x36, 0xd2, 0x3b, + 0x7b, 0x1b, 0xed, 0xb9, 0xbd, 0x8d, 0x3d, 0x7a, 0x7b, 0xfb, 0xc1, 0x20, 0x9c, 0x89, 0xdd, 0x19, + 0x7c, 0x36, 0x4b, 0xa6, 0x30, 0xdb, 0x6e, 0x1a, 0x7f, 0xc1, 0x95, 0xc6, 0xff, 0x24, 0x5d, 0x28, + 0xfb, 0xcc, 0x9a, 0x1f, 0x4f, 0x6b, 0xfe, 0x76, 0x01, 0xe6, 0x12, 0x44, 0x5f, 0x7a, 0x13, 0x16, + 0x0e, 0x53, 0xf0, 0x6c, 0xc1, 0xe1, 0xb4, 0x0a, 0x9e, 0x2d, 0x58, 0x9c, 0x5c, 0xc1, 0xf3, 0x3d, + 0xd9, 0x0c, 0x0d, 0xf6, 0x34, 0xc4, 0x3d, 0xd4, 0xf3, 0x10, 0x77, 0xa1, 0xe7, 0x21, 0x6e, 0x38, + 0xbc, 0x10, 0xf7, 0x57, 0x40, 0x7c, 0x59, 0xef, 0x18, 0xcd, 0xfd, 0x0d, 0x8d, 0x20, 0x03, 0x61, + 0x22, 0xb9, 0xd7, 0xfd, 0xa9, 0xd4, 0xd3, 0x8f, 0x49, 0xdc, 0x81, 0x09, 0x56, 0xba, 0xde, 0xd1, + 0x68, 0xc0, 0x4a, 0x26, 0x68, 0x45, 0x6e, 0x3b, 0x7c, 0x63, 0x9a, 0x1e, 0x02, 0x71, 0x39, 0xc2, + 0xf4, 0x23, 0xd9, 0xc2, 0xf4, 0xe2, 0xa6, 0xbd, 0xd6, 0xe5, 0x4f, 0x7b, 0x8c, 0xd2, 0x68, 0xcf, + 0x7c, 0x74, 0x62, 0x01, 0x5d, 0xe0, 0xb2, 0xf7, 0x3a, 0xf8, 0xc4, 0xcb, 0xbe, 0x12, 0xbb, 0xa6, + 0x1f, 0x0b, 0x30, 0xcd, 0xe8, 0x59, 0xd7, 0x0d, 0x05, 0xd5, 0xab, 0xf6, 0xda, 0xb2, 0xb7, 0x5e, + 0xe9, 0xe7, 0xe0, 0xa8, 0x63, 0x89, 0xcb, 0xf2, 0xcc, 0xb2, 0x79, 0xa4, 0x31, 0xec, 0x20, 0x59, + 0x55, 0x92, 0x7b, 0xe5, 0x7f, 0x12, 0xe0, 0x54, 0x44, 0xbc, 0x2c, 0x33, 0xdf, 0x5b, 0x30, 0xea, + 0x0e, 0xe4, 0xf1, 0xa3, 0x82, 0x0b, 0xd1, 0xc1, 0x79, 0x07, 0x09, 0xd2, 0x88, 0x2b, 0x54, 0x97, + 0x98, 0xa3, 0x4f, 0x06, 0xe1, 0x5c, 0xb2, 0x80, 0xe4, 0x67, 0x27, 0x90, 0x9f, 0x9d, 0x40, 0x26, + 0x74, 0xcf, 0x8f, 0xe6, 0x62, 0x77, 0x90, 0x3f, 0x18, 0x3e, 0x14, 0x7f, 0xd0, 0xdd, 0x1a, 0x17, + 0x9d, 0x5b, 0xe3, 0x83, 0x7b, 0xec, 0xd7, 0x82, 0x3d, 0xf6, 0xb3, 0x91, 0x27, 0x4f, 0x3c, 0x18, + 0x71, 0x08, 0x9e, 0xfb, 0x6f, 0x04, 0x98, 0x08, 0x42, 0x47, 0x53, 0x35, 0x58, 0xb8, 0xc4, 0x4a, + 0xd5, 0x60, 0x81, 0x92, 0x32, 0x0c, 0xd9, 0x11, 0x12, 0x9e, 0x31, 0x68, 0x7d, 0x87, 0x6d, 0xca, + 0xfa, 0x13, 0x6e, 0xca, 0x72, 0xd9, 0x36, 0x65, 0x95, 0x7f, 0x10, 0xa0, 0xe8, 0xa2, 0xdd, 0xb3, + 0xc1, 0x14, 0x62, 0x37, 0x98, 0x7d, 0x89, 0x37, 0x98, 0xbd, 0xe6, 0xe5, 0xef, 0xfa, 0x60, 0x2e, + 0xf0, 0xdc, 0xec, 0x90, 0x36, 0xed, 0x6f, 0xc0, 0x88, 0x7d, 0xa4, 0xa7, 0x6a, 0xbb, 0x3a, 0x7f, + 0x91, 0xea, 0xf3, 0xa9, 0xcf, 0xf1, 0x36, 0xb4, 0x5d, 0x5d, 0x2a, 0x2a, 0x8e, 0x2f, 0x71, 0x07, + 0x8e, 0xdb, 0xb8, 0xf9, 0xf1, 0x61, 0x5b, 0xd7, 0xed, 0x63, 0xe5, 0x85, 0xa8, 0x3e, 0x2c, 0xb4, + 0xac, 0x93, 0x2d, 0x5d, 0x6f, 0x4a, 0xe3, 0x8a, 0xaf, 0x2c, 0xb9, 0x5e, 0xff, 0xa0, 0x3f, 0x44, + 0x8e, 0x87, 0x34, 0x83, 0xf5, 0x52, 0x8e, 0x1d, 0x98, 0x09, 0x94, 0x63, 0x4d, 0xae, 0xd7, 0x69, + 0xda, 0x55, 0x56, 0x89, 0x9e, 0x0e, 0x90, 0xe8, 0x92, 0x85, 0x53, 0xbc, 0x03, 0x53, 0xc1, 0xdd, + 0xb2, 0x13, 0x44, 0xeb, 0x40, 0x3e, 0x6d, 0xa7, 0xe5, 0x80, 0x4e, 0xd9, 0x20, 0x24, 0x1f, 0xcd, + 0xb7, 0x05, 0x38, 0x66, 0x81, 0xab, 0x1a, 0x61, 0xe0, 0xe2, 0x79, 0x18, 0xb3, 0x52, 0xe6, 0xac, + 0xf4, 0x30, 0x36, 0x8a, 0xa3, 0xbc, 0xd8, 0xca, 0x0e, 0xdb, 0x04, 0xd0, 0xd0, 0xbd, 0x5a, 0xdb, + 0x84, 0xc5, 0x19, 0xa3, 0x19, 0x05, 0x0d, 0xdd, 0xa3, 0x9d, 0xe3, 0xca, 0xef, 0xf7, 0xc1, 0xbc, + 0x6b, 0x2c, 0xb7, 0x10, 0x5d, 0xc6, 0xb3, 0xea, 0x43, 0x52, 0xb0, 0x2b, 0x30, 0xd9, 0x66, 0x68, + 0xe9, 0x28, 0x38, 0xe6, 0xbf, 0x7e, 0x3a, 0xff, 0x4d, 0xb4, 0xad, 0x4e, 0xf5, 0x66, 0x77, 0x02, + 0xac, 0xc1, 0x84, 0x3d, 0x74, 0xaa, 0x46, 0xec, 0xa1, 0x63, 0xfa, 0x72, 0x31, 0x6a, 0xe8, 0x7c, + 0xf2, 0x95, 0x44, 0xc3, 0x5b, 0x94, 0x7c, 0xc4, 0xbe, 0x27, 0xc0, 0xf8, 0x3a, 0x42, 0xab, 0x2a, + 0xa6, 0x23, 0x71, 0x60, 0x71, 0xbc, 0x02, 0x43, 0x58, 0xd9, 0x43, 0xf5, 0x4e, 0x13, 0x71, 0x53, + 0x5b, 0x8c, 0x62, 0xc6, 0xd1, 0x75, 0x95, 0x83, 0x49, 0x36, 0x82, 0xc4, 0x4c, 0xfc, 0x50, 0x80, + 0x19, 0x96, 0x49, 0xad, 0xb7, 0x5a, 0x1d, 0x4d, 0x25, 0xfb, 0xa6, 0xb4, 0xab, 0xa6, 0xe4, 0x0f, + 0xcc, 0xd0, 0x6b, 0x50, 0xf0, 0x66, 0x01, 0x5d, 0xb5, 0xd2, 0x0b, 0x5d, 0x8f, 0x52, 0x76, 0x89, + 0x0a, 0xa3, 0x41, 0xea, 0x62, 0x4a, 0xcc, 0xda, 0xd3, 0x70, 0x74, 0x13, 0x73, 0xf5, 0xc5, 0xb7, + 0xda, 0xe4, 0x56, 0x27, 0x34, 0x3b, 0xb3, 0x52, 0xa6, 0xd7, 0x28, 0x5c, 0x6d, 0xed, 0x94, 0xcf, + 0x5f, 0x65, 0x09, 0xe2, 0x12, 0x52, 0x9a, 0xb2, 0xda, 0xba, 0xa9, 0x2b, 0xb7, 0x51, 0x7d, 0x9d, + 0x66, 0x6f, 0x86, 0x67, 0xca, 0x8e, 0x37, 0x69, 0xb3, 0x25, 0x66, 0xa4, 0x5b, 0x9d, 0x9d, 0x57, + 0xd0, 0x3e, 0x15, 0x51, 0x51, 0x0a, 0xaa, 0x12, 0x4f, 0x43, 0x01, 0xab, 0x0d, 0x4d, 0x26, 0x1d, + 0x83, 0x0d, 0x7e, 0x51, 0xea, 0x16, 0x04, 0x65, 0x72, 0xfb, 0xa9, 0xb1, 0xe9, 0xfd, 0x25, 0xf6, + 0xae, 0x63, 0x55, 0x6d, 0x68, 0xf4, 0xee, 0x40, 0x15, 0xf2, 0xe6, 0x6f, 0x4e, 0x65, 0x71, 0xf9, + 0x85, 0x4f, 0x1e, 0xce, 0xe4, 0x31, 0x2d, 0xf9, 0xc9, 0xc3, 0x99, 0x8b, 0x09, 0x9c, 0xc3, 0x92, + 0xa2, 0x70, 0x3f, 0x23, 0x71, 0x54, 0xe2, 0x69, 0xc8, 0xad, 0xb2, 0xac, 0x7e, 0x13, 0xe5, 0xd0, + 0x27, 0x0f, 0x67, 0x68, 0x46, 0xaa, 0x44, 0x4b, 0x2b, 0xf7, 0xe9, 0x4b, 0x98, 0x94, 0x02, 0x5d, + 0x11, 0xcf, 0x32, 0xe6, 0xd8, 0xaa, 0x81, 0x5d, 0xb6, 0xa2, 0x00, 0xe6, 0xb7, 0x34, 0x64, 0x56, + 0xd1, 0xc0, 0xf3, 0x0a, 0x0c, 0xdc, 0x95, 0x9b, 0x1d, 0xc4, 0x6f, 0xcb, 0x9c, 0x8f, 0x5c, 0x67, + 0x76, 0xf9, 0xb3, 0xae, 0xf4, 0x50, 0xd8, 0xca, 0x8f, 0xfa, 0x68, 0x16, 0xef, 0x92, 0xb9, 0x74, + 0x65, 0x06, 0x1d, 0xb0, 0xcf, 0xcb, 0x76, 0x59, 0x24, 0x68, 0xe5, 0xdd, 0x7f, 0x38, 0x2b, 0xef, + 0xb0, 0xad, 0x43, 0x2e, 0xfd, 0xd6, 0x61, 0x20, 0x7c, 0xeb, 0xd0, 0x5d, 0xc9, 0xe7, 0x33, 0xa6, + 0x48, 0xba, 0x14, 0xf1, 0x19, 0x7a, 0x57, 0x2a, 0x5a, 0xd2, 0xb6, 0x52, 0xfe, 0x8f, 0x00, 0x0b, + 0x4b, 0x44, 0x6f, 0xa9, 0x8a, 0xe3, 0x7a, 0xd3, 0x3a, 0x42, 0x9b, 0x9d, 0x26, 0x51, 0xdb, 0x4d, + 0x15, 0x19, 0x96, 0x13, 0x3b, 0xb0, 0xdb, 0x41, 0x30, 0xc9, 0x07, 0xd1, 0xdc, 0xaf, 0xb6, 0xec, + 0x0e, 0x2c, 0x1f, 0xb4, 0x18, 0xcf, 0xb6, 0x8b, 0x30, 0x69, 0xa2, 0xe5, 0x2f, 0x4c, 0xec, 0x86, + 0x9e, 0xbe, 0x0f, 0x45, 0x67, 0xae, 0xa6, 0x78, 0x19, 0x26, 0xd6, 0xbe, 0xbc, 0xf2, 0xf2, 0xd2, + 0xab, 0x2f, 0xad, 0xd5, 0x5e, 0x7b, 0xb5, 0xba, 0xb5, 0xb6, 0xb2, 0xb1, 0xbe, 0xb1, 0xb6, 0x7a, + 0xf4, 0x48, 0xb9, 0xf4, 0xe0, 0xfd, 0xd9, 0xc0, 0x3a, 0x51, 0x84, 0x5c, 0x75, 0xeb, 0xd6, 0xf6, + 0x51, 0xa1, 0x3c, 0xf4, 0xe0, 0xfd, 0x59, 0xfa, 0xdb, 0x14, 0xc4, 0xea, 0x9a, 0xb4, 0xf1, 0xfa, + 0xd2, 0xf6, 0xc6, 0xeb, 0x6b, 0xd5, 0xa3, 0x7d, 0xe5, 0xb1, 0x07, 0xef, 0xcf, 0x3a, 0x8b, 0x2e, + 0x7f, 0xb3, 0x02, 0xfd, 0x9b, 0xb8, 0x21, 0xca, 0x30, 0x68, 0x3d, 0x4a, 0x7b, 0x2e, 0xc6, 0xa8, + 0x78, 0xbb, 0xf2, 0x42, 0xb2, 0x76, 0x76, 0x2a, 0x79, 0x1d, 0x86, 0xec, 0x77, 0x64, 0xe3, 0x0c, + 0xd7, 0x6a, 0x58, 0x5e, 0x4c, 0xd8, 0xd0, 0xee, 0xe5, 0x1d, 0x01, 0x4e, 0x84, 0x3d, 0x1d, 0xfa, + 0x5c, 0x0c, 0xb2, 0x10, 0xb8, 0xf2, 0xcf, 0x64, 0x83, 0xb3, 0x69, 0xfa, 0x40, 0x80, 0xd3, 0x91, + 0x0f, 0x68, 0xbe, 0x90, 0xac, 0x83, 0x40, 0xe0, 0xf2, 0xca, 0x01, 0x80, 0x6d, 0x12, 0xff, 0x4c, + 0x80, 0xd9, 0xd8, 0x97, 0xcc, 0x6e, 0x24, 0xeb, 0x29, 0x14, 0x41, 0xf9, 0xa5, 0x03, 0x22, 0xb0, + 0xc9, 0x7d, 0x4b, 0x80, 0x89, 0xc0, 0x27, 0x7e, 0x3f, 0x17, 0xd3, 0x43, 0x10, 0x50, 0xf9, 0x85, + 0x0c, 0x40, 0x36, 0x29, 0xdf, 0x11, 0xa0, 0x1c, 0xf1, 0x2a, 0xef, 0xf3, 0x31, 0xb8, 0xc3, 0x41, + 0xcb, 0x4b, 0x99, 0x41, 0x6d, 0xe2, 0xde, 0x16, 0xe0, 0x78, 0xf0, 0xa3, 0x56, 0x57, 0x12, 0xf3, + 0xec, 0x80, 0x2a, 0xff, 0x74, 0x16, 0x28, 0x9b, 0x9a, 0x7d, 0x18, 0xf3, 0xbe, 0x37, 0x13, 0xe7, + 0x44, 0x3c, 0xed, 0xcb, 0xcf, 0xa5, 0x6b, 0xef, 0x12, 0x44, 0xf0, 0x63, 0x31, 0x57, 0x12, 0x49, + 0xd9, 0x03, 0x15, 0x2b, 0x88, 0xe8, 0x27, 0x61, 0x7e, 0x11, 0x8e, 0xf9, 0x5f, 0x42, 0x79, 0x36, + 0x09, 0x4a, 0x27, 0x44, 0xf9, 0x0b, 0x69, 0x21, 0x6c, 0x02, 0xde, 0x13, 0xe0, 0x64, 0xf8, 0xfd, + 0xa4, 0x38, 0xbc, 0xa1, 0x90, 0xe5, 0x17, 0xb3, 0x42, 0xba, 0xcc, 0x29, 0xe2, 0x79, 0xad, 0xe7, + 0x13, 0x29, 0x60, 0x10, 0x68, 0xac, 0x39, 0x25, 0x78, 0x41, 0xcb, 0xf4, 0x92, 0xb1, 0x2f, 0x45, + 0xdd, 0x48, 0x6e, 0xb6, 0x81, 0x08, 0x62, 0xbd, 0x64, 0xe2, 0x07, 0xa1, 0xde, 0x17, 0xe0, 0x54, + 0xd4, 0x0b, 0x11, 0xd7, 0x52, 0x4a, 0xc4, 0xe9, 0x09, 0x96, 0xb3, 0xc3, 0xba, 0xbd, 0x53, 0xe0, + 0xb5, 0xf4, 0x2b, 0x89, 0xcc, 0xdc, 0x03, 0x15, 0xef, 0x9d, 0xa2, 0x6e, 0x8f, 0x53, 0x69, 0x45, + 0x5d, 0x5e, 0xbe, 0x96, 0xdc, 0xe4, 0xbd, 0xb0, 0xb1, 0xd2, 0x4a, 0x72, 0x51, 0xd9, 0x31, 0x45, + 0x87, 0x3f, 0xed, 0x9b, 0x70, 0x8a, 0x0e, 0x45, 0x90, 0x74, 0x8a, 0x8e, 0x7d, 0x1e, 0x55, 0xfc, + 0x03, 0x01, 0xa6, 0xa2, 0x5f, 0x90, 0x4b, 0x36, 0x99, 0x84, 0x40, 0x97, 0x57, 0x0f, 0x02, 0x6d, + 0x53, 0xf9, 0x87, 0x02, 0x4c, 0xc7, 0x3c, 0x31, 0x71, 0x3d, 0x7d, 0x47, 0x4e, 0x43, 0x59, 0x3b, + 0x10, 0xb8, 0x4d, 0xe8, 0xbb, 0x02, 0x94, 0x42, 0x1f, 0x36, 0xb8, 0x9a, 0x48, 0xf1, 0xfd, 0x80, + 0xe5, 0x1b, 0x19, 0x01, 0x5d, 0xf2, 0x8b, 0x79, 0xb5, 0xec, 0x7a, 0x72, 0xdd, 0x0f, 0x00, 0x8f, + 0x95, 0x5f, 0xc2, 0x47, 0xca, 0xbe, 0x2e, 0x80, 0x18, 0x70, 0x7f, 0xff, 0x52, 0x5c, 0x04, 0xc1, + 0x07, 0x52, 0x7e, 0x3e, 0x35, 0x88, 0x4d, 0xc4, 0xd7, 0xe0, 0xa8, 0xef, 0xf2, 0x7c, 0xdc, 0x0e, + 0xc7, 0x0b, 0x50, 0xbe, 0x9a, 0x12, 0xc0, 0xb9, 0xea, 0xf0, 0xdf, 0x5b, 0x8f, 0x5b, 0x75, 0xf8, + 0x20, 0x62, 0x57, 0x1d, 0xa1, 0x77, 0xca, 0xc5, 0x5f, 0x17, 0x60, 0x32, 0xe4, 0x42, 0xf9, 0xe7, + 0x63, 0xdd, 0x4e, 0x10, 0x58, 0xf9, 0x7a, 0x26, 0x30, 0x9b, 0x20, 0x0c, 0x23, 0xee, 0xd8, 0xdf, + 0x4f, 0xc5, 0xe0, 0x73, 0xb5, 0x2e, 0x5f, 0x49, 0xd3, 0xda, 0x65, 0x32, 0x31, 0xb1, 0xa7, 0x38, + 0xb6, 0xa2, 0xc1, 0x63, 0x4d, 0x26, 0x59, 0x3c, 0x86, 0x9a, 0x4c, 0x40, 0x44, 0xf3, 0x52, 0x2c, + 0xd7, 0x5e, 0x90, 0x58, 0x93, 0x09, 0x8f, 0x54, 0x8a, 0x6d, 0x28, 0xba, 0xfe, 0xcd, 0xcf, 0x33, + 0x31, 0xa8, 0x9c, 0x8d, 0xcb, 0x9f, 0x4b, 0xd1, 0xd8, 0xea, 0x71, 0x79, 0xef, 0xfb, 0x1f, 0x4d, + 0x0b, 0x1f, 0x7e, 0x34, 0x2d, 0xfc, 0xdb, 0x47, 0xd3, 0xc2, 0x37, 0x3f, 0x9e, 0x3e, 0xf2, 0xe1, + 0xc7, 0xd3, 0x47, 0x7e, 0xf8, 0xf1, 0xf4, 0x91, 0x37, 0x5e, 0x75, 0xc4, 0xee, 0x36, 0x2c, 0xc4, + 0x37, 0xe5, 0x1d, 0xbc, 0x68, 0x77, 0x73, 0x51, 0xd1, 0x0d, 0xe4, 0xfc, 0xdc, 0x93, 0x55, 0x6d, + 0xb1, 0xa5, 0xd7, 0x3b, 0x4d, 0x84, 0xbb, 0xff, 0xfe, 0x88, 0xc6, 0xf9, 0x76, 0xf2, 0xf4, 0xbf, + 0x19, 0x7d, 0xee, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x1d, 0x96, 0xeb, 0x28, 0xfc, 0x69, 0x00, + 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -4272,49 +4466,68 @@ const _ = grpc.SupportPackageIsVersion4 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type MsgClient interface { - // Deposit defines a method for transferring coins from the sender's bank balance into the subaccount's exchange deposits + // Deposit defines a method for transferring coins from the sender's bank + // balance into the subaccount's exchange deposits Deposit(ctx context.Context, in *MsgDeposit, opts ...grpc.CallOption) (*MsgDepositResponse, error) - // Withdraw defines a method for withdrawing coins from a subaccount's deposits to the user's bank balance + // Withdraw defines a method for withdrawing coins from a subaccount's + // deposits to the user's bank balance Withdraw(ctx context.Context, in *MsgWithdraw, opts ...grpc.CallOption) (*MsgWithdrawResponse, error) - // InstantSpotMarketLaunch defines method for creating a spot market by paying listing fee without governance + // InstantSpotMarketLaunch defines method for creating a spot market by paying + // listing fee without governance InstantSpotMarketLaunch(ctx context.Context, in *MsgInstantSpotMarketLaunch, opts ...grpc.CallOption) (*MsgInstantSpotMarketLaunchResponse, error) - // InstantPerpetualMarketLaunch defines a method for creating a new perpetual futures market by paying listing fee without governance + // InstantPerpetualMarketLaunch defines a method for creating a new perpetual + // futures market by paying listing fee without governance InstantPerpetualMarketLaunch(ctx context.Context, in *MsgInstantPerpetualMarketLaunch, opts ...grpc.CallOption) (*MsgInstantPerpetualMarketLaunchResponse, error) - // InstantExpiryFuturesMarketLaunch defines a method for creating a new expiry futures market by paying listing fee without governance + // InstantExpiryFuturesMarketLaunch defines a method for creating a new expiry + // futures market by paying listing fee without governance InstantExpiryFuturesMarketLaunch(ctx context.Context, in *MsgInstantExpiryFuturesMarketLaunch, opts ...grpc.CallOption) (*MsgInstantExpiryFuturesMarketLaunchResponse, error) // CreateSpotLimitOrder defines a method for creating a new spot limit order. CreateSpotLimitOrder(ctx context.Context, in *MsgCreateSpotLimitOrder, opts ...grpc.CallOption) (*MsgCreateSpotLimitOrderResponse, error) - // BatchCreateSpotLimitOrder defines a method for creating a new batch of spot limit orders. + // BatchCreateSpotLimitOrder defines a method for creating a new batch of spot + // limit orders. BatchCreateSpotLimitOrders(ctx context.Context, in *MsgBatchCreateSpotLimitOrders, opts ...grpc.CallOption) (*MsgBatchCreateSpotLimitOrdersResponse, error) - // CreateSpotMarketOrder defines a method for creating a new spot market order. + // CreateSpotMarketOrder defines a method for creating a new spot market + // order. CreateSpotMarketOrder(ctx context.Context, in *MsgCreateSpotMarketOrder, opts ...grpc.CallOption) (*MsgCreateSpotMarketOrderResponse, error) // MsgCancelSpotOrder defines a method for cancelling a spot order. CancelSpotOrder(ctx context.Context, in *MsgCancelSpotOrder, opts ...grpc.CallOption) (*MsgCancelSpotOrderResponse, error) - // BatchCancelSpotOrders defines a method for cancelling a batch of spot orders in a given market. + // BatchCancelSpotOrders defines a method for cancelling a batch of spot + // orders in a given market. BatchCancelSpotOrders(ctx context.Context, in *MsgBatchCancelSpotOrders, opts ...grpc.CallOption) (*MsgBatchCancelSpotOrdersResponse, error) // BatchUpdateOrders defines a method for updating a batch of orders. BatchUpdateOrders(ctx context.Context, in *MsgBatchUpdateOrders, opts ...grpc.CallOption) (*MsgBatchUpdateOrdersResponse, error) - // PrivilegedExecuteContract defines a method for executing a Cosmwasm contract from the exchange module with privileged capabilities. + // PrivilegedExecuteContract defines a method for executing a Cosmwasm + // contract from the exchange module with privileged capabilities. PrivilegedExecuteContract(ctx context.Context, in *MsgPrivilegedExecuteContract, opts ...grpc.CallOption) (*MsgPrivilegedExecuteContractResponse, error) - // CreateDerivativeLimitOrder defines a method for creating a new derivative limit order. + // CreateDerivativeLimitOrder defines a method for creating a new derivative + // limit order. CreateDerivativeLimitOrder(ctx context.Context, in *MsgCreateDerivativeLimitOrder, opts ...grpc.CallOption) (*MsgCreateDerivativeLimitOrderResponse, error) - // BatchCreateDerivativeLimitOrders defines a method for creating a new batch of derivative limit orders. + // BatchCreateDerivativeLimitOrders defines a method for creating a new batch + // of derivative limit orders. BatchCreateDerivativeLimitOrders(ctx context.Context, in *MsgBatchCreateDerivativeLimitOrders, opts ...grpc.CallOption) (*MsgBatchCreateDerivativeLimitOrdersResponse, error) - // MsgCreateDerivativeLimitOrder defines a method for creating a new derivative market order. + // MsgCreateDerivativeLimitOrder defines a method for creating a new + // derivative market order. CreateDerivativeMarketOrder(ctx context.Context, in *MsgCreateDerivativeMarketOrder, opts ...grpc.CallOption) (*MsgCreateDerivativeMarketOrderResponse, error) - // MsgCancelDerivativeOrder defines a method for cancelling a derivative order. + // MsgCancelDerivativeOrder defines a method for cancelling a derivative + // order. CancelDerivativeOrder(ctx context.Context, in *MsgCancelDerivativeOrder, opts ...grpc.CallOption) (*MsgCancelDerivativeOrderResponse, error) - // MsgBatchCancelDerivativeOrders defines a method for cancelling a batch of derivative limit orders. + // MsgBatchCancelDerivativeOrders defines a method for cancelling a batch of + // derivative limit orders. BatchCancelDerivativeOrders(ctx context.Context, in *MsgBatchCancelDerivativeOrders, opts ...grpc.CallOption) (*MsgBatchCancelDerivativeOrdersResponse, error) - // InstantBinaryOptionsMarketLaunch defines method for creating a binary options market by paying listing fee without governance + // InstantBinaryOptionsMarketLaunch defines method for creating a binary + // options market by paying listing fee without governance InstantBinaryOptionsMarketLaunch(ctx context.Context, in *MsgInstantBinaryOptionsMarketLaunch, opts ...grpc.CallOption) (*MsgInstantBinaryOptionsMarketLaunchResponse, error) - // CreateBinaryOptionsLimitOrder defines a method for creating a new binary options limit order. + // CreateBinaryOptionsLimitOrder defines a method for creating a new binary + // options limit order. CreateBinaryOptionsLimitOrder(ctx context.Context, in *MsgCreateBinaryOptionsLimitOrder, opts ...grpc.CallOption) (*MsgCreateBinaryOptionsLimitOrderResponse, error) - // CreateBinaryOptionsMarketOrder defines a method for creating a new binary options market order. + // CreateBinaryOptionsMarketOrder defines a method for creating a new binary + // options market order. CreateBinaryOptionsMarketOrder(ctx context.Context, in *MsgCreateBinaryOptionsMarketOrder, opts ...grpc.CallOption) (*MsgCreateBinaryOptionsMarketOrderResponse, error) - // MsgCancelBinaryOptionsOrder defines a method for cancelling a binary options order. + // MsgCancelBinaryOptionsOrder defines a method for cancelling a binary + // options order. CancelBinaryOptionsOrder(ctx context.Context, in *MsgCancelBinaryOptionsOrder, opts ...grpc.CallOption) (*MsgCancelBinaryOptionsOrderResponse, error) - // BatchCancelBinaryOptionsOrders defines a method for cancelling a batch of binary options limit orders. + // BatchCancelBinaryOptionsOrders defines a method for cancelling a batch of + // binary options limit orders. BatchCancelBinaryOptionsOrders(ctx context.Context, in *MsgBatchCancelBinaryOptionsOrders, opts ...grpc.CallOption) (*MsgBatchCancelBinaryOptionsOrdersResponse, error) // SubaccountTransfer defines a method for transfer between subaccounts SubaccountTransfer(ctx context.Context, in *MsgSubaccountTransfer, opts ...grpc.CallOption) (*MsgSubaccountTransferResponse, error) @@ -4326,10 +4539,12 @@ type MsgClient interface { IncreasePositionMargin(ctx context.Context, in *MsgIncreasePositionMargin, opts ...grpc.CallOption) (*MsgIncreasePositionMarginResponse, error) // RewardsOptOut defines a method for opting out of rewards RewardsOptOut(ctx context.Context, in *MsgRewardsOptOut, opts ...grpc.CallOption) (*MsgRewardsOptOutResponse, error) - // AdminUpdateBinaryOptionsMarket defines method for updating a binary options market by admin + // AdminUpdateBinaryOptionsMarket defines method for updating a binary options + // market by admin AdminUpdateBinaryOptionsMarket(ctx context.Context, in *MsgAdminUpdateBinaryOptionsMarket, opts ...grpc.CallOption) (*MsgAdminUpdateBinaryOptionsMarketResponse, error) // ReclaimLockedFunds(ctx context.Context, in *MsgReclaimLockedFunds, opts ...grpc.CallOption) (*MsgReclaimLockedFundsResponse, error) + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) } type msgClient struct { @@ -4601,51 +4816,79 @@ func (c *msgClient) ReclaimLockedFunds(ctx context.Context, in *MsgReclaimLocked return out, nil } +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Msg/UpdateParams", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { - // Deposit defines a method for transferring coins from the sender's bank balance into the subaccount's exchange deposits + // Deposit defines a method for transferring coins from the sender's bank + // balance into the subaccount's exchange deposits Deposit(context.Context, *MsgDeposit) (*MsgDepositResponse, error) - // Withdraw defines a method for withdrawing coins from a subaccount's deposits to the user's bank balance + // Withdraw defines a method for withdrawing coins from a subaccount's + // deposits to the user's bank balance Withdraw(context.Context, *MsgWithdraw) (*MsgWithdrawResponse, error) - // InstantSpotMarketLaunch defines method for creating a spot market by paying listing fee without governance + // InstantSpotMarketLaunch defines method for creating a spot market by paying + // listing fee without governance InstantSpotMarketLaunch(context.Context, *MsgInstantSpotMarketLaunch) (*MsgInstantSpotMarketLaunchResponse, error) - // InstantPerpetualMarketLaunch defines a method for creating a new perpetual futures market by paying listing fee without governance + // InstantPerpetualMarketLaunch defines a method for creating a new perpetual + // futures market by paying listing fee without governance InstantPerpetualMarketLaunch(context.Context, *MsgInstantPerpetualMarketLaunch) (*MsgInstantPerpetualMarketLaunchResponse, error) - // InstantExpiryFuturesMarketLaunch defines a method for creating a new expiry futures market by paying listing fee without governance + // InstantExpiryFuturesMarketLaunch defines a method for creating a new expiry + // futures market by paying listing fee without governance InstantExpiryFuturesMarketLaunch(context.Context, *MsgInstantExpiryFuturesMarketLaunch) (*MsgInstantExpiryFuturesMarketLaunchResponse, error) // CreateSpotLimitOrder defines a method for creating a new spot limit order. CreateSpotLimitOrder(context.Context, *MsgCreateSpotLimitOrder) (*MsgCreateSpotLimitOrderResponse, error) - // BatchCreateSpotLimitOrder defines a method for creating a new batch of spot limit orders. + // BatchCreateSpotLimitOrder defines a method for creating a new batch of spot + // limit orders. BatchCreateSpotLimitOrders(context.Context, *MsgBatchCreateSpotLimitOrders) (*MsgBatchCreateSpotLimitOrdersResponse, error) - // CreateSpotMarketOrder defines a method for creating a new spot market order. + // CreateSpotMarketOrder defines a method for creating a new spot market + // order. CreateSpotMarketOrder(context.Context, *MsgCreateSpotMarketOrder) (*MsgCreateSpotMarketOrderResponse, error) // MsgCancelSpotOrder defines a method for cancelling a spot order. CancelSpotOrder(context.Context, *MsgCancelSpotOrder) (*MsgCancelSpotOrderResponse, error) - // BatchCancelSpotOrders defines a method for cancelling a batch of spot orders in a given market. + // BatchCancelSpotOrders defines a method for cancelling a batch of spot + // orders in a given market. BatchCancelSpotOrders(context.Context, *MsgBatchCancelSpotOrders) (*MsgBatchCancelSpotOrdersResponse, error) // BatchUpdateOrders defines a method for updating a batch of orders. BatchUpdateOrders(context.Context, *MsgBatchUpdateOrders) (*MsgBatchUpdateOrdersResponse, error) - // PrivilegedExecuteContract defines a method for executing a Cosmwasm contract from the exchange module with privileged capabilities. + // PrivilegedExecuteContract defines a method for executing a Cosmwasm + // contract from the exchange module with privileged capabilities. PrivilegedExecuteContract(context.Context, *MsgPrivilegedExecuteContract) (*MsgPrivilegedExecuteContractResponse, error) - // CreateDerivativeLimitOrder defines a method for creating a new derivative limit order. + // CreateDerivativeLimitOrder defines a method for creating a new derivative + // limit order. CreateDerivativeLimitOrder(context.Context, *MsgCreateDerivativeLimitOrder) (*MsgCreateDerivativeLimitOrderResponse, error) - // BatchCreateDerivativeLimitOrders defines a method for creating a new batch of derivative limit orders. + // BatchCreateDerivativeLimitOrders defines a method for creating a new batch + // of derivative limit orders. BatchCreateDerivativeLimitOrders(context.Context, *MsgBatchCreateDerivativeLimitOrders) (*MsgBatchCreateDerivativeLimitOrdersResponse, error) - // MsgCreateDerivativeLimitOrder defines a method for creating a new derivative market order. + // MsgCreateDerivativeLimitOrder defines a method for creating a new + // derivative market order. CreateDerivativeMarketOrder(context.Context, *MsgCreateDerivativeMarketOrder) (*MsgCreateDerivativeMarketOrderResponse, error) - // MsgCancelDerivativeOrder defines a method for cancelling a derivative order. + // MsgCancelDerivativeOrder defines a method for cancelling a derivative + // order. CancelDerivativeOrder(context.Context, *MsgCancelDerivativeOrder) (*MsgCancelDerivativeOrderResponse, error) - // MsgBatchCancelDerivativeOrders defines a method for cancelling a batch of derivative limit orders. + // MsgBatchCancelDerivativeOrders defines a method for cancelling a batch of + // derivative limit orders. BatchCancelDerivativeOrders(context.Context, *MsgBatchCancelDerivativeOrders) (*MsgBatchCancelDerivativeOrdersResponse, error) - // InstantBinaryOptionsMarketLaunch defines method for creating a binary options market by paying listing fee without governance + // InstantBinaryOptionsMarketLaunch defines method for creating a binary + // options market by paying listing fee without governance InstantBinaryOptionsMarketLaunch(context.Context, *MsgInstantBinaryOptionsMarketLaunch) (*MsgInstantBinaryOptionsMarketLaunchResponse, error) - // CreateBinaryOptionsLimitOrder defines a method for creating a new binary options limit order. + // CreateBinaryOptionsLimitOrder defines a method for creating a new binary + // options limit order. CreateBinaryOptionsLimitOrder(context.Context, *MsgCreateBinaryOptionsLimitOrder) (*MsgCreateBinaryOptionsLimitOrderResponse, error) - // CreateBinaryOptionsMarketOrder defines a method for creating a new binary options market order. + // CreateBinaryOptionsMarketOrder defines a method for creating a new binary + // options market order. CreateBinaryOptionsMarketOrder(context.Context, *MsgCreateBinaryOptionsMarketOrder) (*MsgCreateBinaryOptionsMarketOrderResponse, error) - // MsgCancelBinaryOptionsOrder defines a method for cancelling a binary options order. + // MsgCancelBinaryOptionsOrder defines a method for cancelling a binary + // options order. CancelBinaryOptionsOrder(context.Context, *MsgCancelBinaryOptionsOrder) (*MsgCancelBinaryOptionsOrderResponse, error) - // BatchCancelBinaryOptionsOrders defines a method for cancelling a batch of binary options limit orders. + // BatchCancelBinaryOptionsOrders defines a method for cancelling a batch of + // binary options limit orders. BatchCancelBinaryOptionsOrders(context.Context, *MsgBatchCancelBinaryOptionsOrders) (*MsgBatchCancelBinaryOptionsOrdersResponse, error) // SubaccountTransfer defines a method for transfer between subaccounts SubaccountTransfer(context.Context, *MsgSubaccountTransfer) (*MsgSubaccountTransferResponse, error) @@ -4657,10 +4900,12 @@ type MsgServer interface { IncreasePositionMargin(context.Context, *MsgIncreasePositionMargin) (*MsgIncreasePositionMarginResponse, error) // RewardsOptOut defines a method for opting out of rewards RewardsOptOut(context.Context, *MsgRewardsOptOut) (*MsgRewardsOptOutResponse, error) - // AdminUpdateBinaryOptionsMarket defines method for updating a binary options market by admin + // AdminUpdateBinaryOptionsMarket defines method for updating a binary options + // market by admin AdminUpdateBinaryOptionsMarket(context.Context, *MsgAdminUpdateBinaryOptionsMarket) (*MsgAdminUpdateBinaryOptionsMarketResponse, error) // ReclaimLockedFunds(context.Context, *MsgReclaimLockedFunds) (*MsgReclaimLockedFundsResponse, error) + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -4754,6 +4999,9 @@ func (*UnimplementedMsgServer) AdminUpdateBinaryOptionsMarket(ctx context.Contex func (*UnimplementedMsgServer) ReclaimLockedFunds(ctx context.Context, req *MsgReclaimLockedFunds) (*MsgReclaimLockedFundsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ReclaimLockedFunds not implemented") } +func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -5281,6 +5529,24 @@ func _Msg_ReclaimLockedFunds_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.exchange.v1beta1.Msg/UpdateParams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "injective.exchange.v1beta1.Msg", HandlerType: (*MsgServer)(nil), @@ -5401,11 +5667,78 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "ReclaimLockedFunds", Handler: _Msg_ReclaimLockedFunds_Handler, }, + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "injective/exchange/v1beta1/tx.proto", } +func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func (m *MsgDeposit) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -10013,6 +10346,30 @@ func encodeVarintTx(dAtA []byte, offset int, v uint64) int { dAtA[offset] = uint8(v) return base } +func (m *MsgUpdateParams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Params.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func (m *MsgDeposit) Size() (n int) { if m == nil { return 0 @@ -11923,6 +12280,171 @@ func sovTx(x uint64) (n int) { func sozTx(x uint64) (n int) { return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *MsgDeposit) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/chain/exchange/types/wasm_privileged_action.go b/chain/exchange/types/wasm_privileged_action.go index d4d0d0f9..8602f4bb 100644 --- a/chain/exchange/types/wasm_privileged_action.go +++ b/chain/exchange/types/wasm_privileged_action.go @@ -3,6 +3,7 @@ package types import ( "encoding/json" + "cosmossdk.io/errors" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) @@ -26,13 +27,13 @@ func ParseRequest(data []byte) (InjectiveAction, error) { err := json.Unmarshal(data, &request) if err != nil { - return nil, sdkerrors.Wrap(err, "failed to parse exchange action request") + return nil, errors.Wrap(err, "failed to parse exchange action request") } if request.SyntheticTrade != nil { err = request.SyntheticTrade.ValidateBasic() if err != nil { - return request.SyntheticTrade, sdkerrors.Wrap(err, "invalid synthetic trade request") + return request.SyntheticTrade, errors.Wrap(err, "invalid synthetic trade request") } return request.SyntheticTrade, nil @@ -41,11 +42,11 @@ func ParseRequest(data []byte) (InjectiveAction, error) { if request.PositionTransfer != nil { err = request.PositionTransfer.ValidateBasic() if err != nil { - return request.PositionTransfer, sdkerrors.Wrap(err, "invalid position transfer request") + return request.PositionTransfer, errors.Wrap(err, "invalid position transfer request") } return request.PositionTransfer, nil } - return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, "unknown variant of InjectiveAction") + return nil, errors.Wrap(sdkerrors.ErrUnknownRequest, "unknown variant of InjectiveAction") } diff --git a/chain/insurance/types/codec.go b/chain/insurance/types/codec.go index b04ebf1f..70d5be8a 100644 --- a/chain/insurance/types/codec.go +++ b/chain/insurance/types/codec.go @@ -6,6 +6,7 @@ import ( cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" + authzcdc "github.com/cosmos/cosmos-sdk/x/authz/codec" ) // RegisterLegacyAminoCodec registers the necessary x/insurance interfaces and concrete types @@ -14,6 +15,7 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgCreateInsuranceFund{}, "insurance/MsgCreateInsuranceFund", nil) cdc.RegisterConcrete(&MsgUnderwrite{}, "insurance/MsgUnderwrite", nil) cdc.RegisterConcrete(&MsgRequestRedemption{}, "insurance/MsgRequestRedemption", nil) + cdc.RegisterConcrete(&MsgUpdateParams{}, "insurance/MsgUpdateParams", nil) } func RegisterInterfaces(registry types.InterfaceRegistry) { @@ -21,6 +23,7 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { &MsgCreateInsuranceFund{}, &MsgUnderwrite{}, &MsgRequestRedemption{}, + &MsgUpdateParams{}, ) msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) @@ -42,4 +45,6 @@ func init() { RegisterLegacyAminoCodec(amino) cryptocodec.RegisterCrypto(amino) amino.Seal() + + RegisterLegacyAminoCodec(authzcdc.Amino) } diff --git a/chain/insurance/types/errors.go b/chain/insurance/types/errors.go index 6894b73d..fb934756 100644 --- a/chain/insurance/types/errors.go +++ b/chain/insurance/types/errors.go @@ -1,20 +1,20 @@ package types import ( - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "cosmossdk.io/errors" ) var ( - ErrInsuranceFundAlreadyExists = sdkerrors.Register(ModuleName, 1, "insurance fund already exists") - ErrInsuranceFundNotFound = sdkerrors.Register(ModuleName, 2, "insurance fund not found") - ErrRedemptionAlreadyExists = sdkerrors.Register(ModuleName, 3, "redemption already exists") - ErrInvalidDepositAmount = sdkerrors.Register(ModuleName, 4, "invalid deposit amount") - ErrInvalidDepositDenom = sdkerrors.Register(ModuleName, 5, "invalid deposit denom") - ErrPayoutTooLarge = sdkerrors.Register(ModuleName, 6, "insurance payout exceeds deposits") - ErrInvalidTicker = sdkerrors.Register(ModuleName, 7, "invalid ticker") - ErrInvalidQuoteDenom = sdkerrors.Register(ModuleName, 8, "invalid quote denom") - ErrInvalidOracle = sdkerrors.Register(ModuleName, 9, "invalid oracle") - ErrInvalidExpirationTime = sdkerrors.Register(ModuleName, 10, "invalid expiration time") - ErrInvalidMarketID = sdkerrors.Register(ModuleName, 11, "invalid marketID") - ErrInvalidShareDenom = sdkerrors.Register(ModuleName, 12, "invalid share denom") + ErrInsuranceFundAlreadyExists = errors.Register(ModuleName, 1, "insurance fund already exists") + ErrInsuranceFundNotFound = errors.Register(ModuleName, 2, "insurance fund not found") + ErrRedemptionAlreadyExists = errors.Register(ModuleName, 3, "redemption already exists") + ErrInvalidDepositAmount = errors.Register(ModuleName, 4, "invalid deposit amount") + ErrInvalidDepositDenom = errors.Register(ModuleName, 5, "invalid deposit denom") + ErrPayoutTooLarge = errors.Register(ModuleName, 6, "insurance payout exceeds deposits") + ErrInvalidTicker = errors.Register(ModuleName, 7, "invalid ticker") + ErrInvalidQuoteDenom = errors.Register(ModuleName, 8, "invalid quote denom") + ErrInvalidOracle = errors.Register(ModuleName, 9, "invalid oracle") + ErrInvalidExpirationTime = errors.Register(ModuleName, 10, "invalid expiration time") + ErrInvalidMarketID = errors.Register(ModuleName, 11, "invalid marketID") + ErrInvalidShareDenom = errors.Register(ModuleName, 12, "invalid share denom") ) diff --git a/chain/insurance/types/genesis.pb.go b/chain/insurance/types/genesis.pb.go index 0c80bd6c..2bd30a00 100644 --- a/chain/insurance/types/genesis.pb.go +++ b/chain/insurance/types/genesis.pb.go @@ -5,8 +5,8 @@ package types import ( fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" @@ -27,15 +27,16 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type GenesisState struct { // params defines all the parameters of related to insurance. Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` - // insurance_funds describes the insurance funds available for derivative markets + // insurance_funds describes the insurance funds available for derivative + // markets InsuranceFunds []InsuranceFund `protobuf:"bytes,2,rep,name=insurance_funds,json=insuranceFunds,proto3" json:"insurance_funds"` // redemption_schedule describes the redemption requests pending RedemptionSchedule []RedemptionSchedule `protobuf:"bytes,3,rep,name=redemption_schedule,json=redemptionSchedule,proto3" json:"redemption_schedule"` - // next_share_denom_id describes the next share denom id to be used for newly creating insurance fund - // incremented by 1 per insurance fund creation + // next_share_denom_id describes the next share denom id to be used for newly + // creating insurance fund incremented by 1 per insurance fund creation NextShareDenomId uint64 `protobuf:"varint,4,opt,name=next_share_denom_id,json=nextShareDenomId,proto3" json:"next_share_denom_id,omitempty"` - // next_redemption_schedule_id describes next redemption schedule id to be used for next schedule - // incremented by 1 per redemption request + // next_redemption_schedule_id describes next redemption schedule id to be + // used for next schedule incremented by 1 per redemption request NextRedemptionScheduleId uint64 `protobuf:"varint,5,opt,name=next_redemption_schedule_id,json=nextRedemptionScheduleId,proto3" json:"next_redemption_schedule_id,omitempty"` } diff --git a/chain/insurance/types/insurance.go b/chain/insurance/types/insurance.go index 2d2a4c3d..7a2cb8c4 100644 --- a/chain/insurance/types/insurance.go +++ b/chain/insurance/types/insurance.go @@ -4,14 +4,13 @@ import ( "fmt" "time" + "cosmossdk.io/math" "github.com/ethereum/go-ethereum/common" oracletypes "github.com/InjectiveLabs/sdk-go/chain/oracle/types" - - sdk "github.com/cosmos/cosmos-sdk/types" ) -var InsuranceFundInitialSupply = sdk.NewIntWithDecimal(1, 18) +var InsuranceFundInitialSupply = math.NewIntWithDecimal(1, 18) func NewInsuranceFund( marketID common.Hash, @@ -24,8 +23,8 @@ func NewInsuranceFund( DepositDenom: depositDenom, InsurancePoolTokenDenom: poolTokenDenom, RedemptionNoticePeriodDuration: redemptionNoticePeriodDuration, - Balance: sdk.ZeroInt(), - TotalShare: sdk.ZeroInt(), + Balance: math.ZeroInt(), + TotalShare: math.ZeroInt(), MarketId: marketID.Hex(), MarketTicker: ticker, OracleBase: oracleBase, @@ -40,11 +39,11 @@ func (fund InsuranceFund) ShareDenom() string { return fund.InsurancePoolTokenDenom } -func (fund *InsuranceFund) AddTotalShare(shares sdk.Int) { +func (fund *InsuranceFund) AddTotalShare(shares math.Int) { fund.TotalShare = fund.TotalShare.Add(shares) } -func (fund *InsuranceFund) SubTotalShare(shares sdk.Int) { +func (fund *InsuranceFund) SubTotalShare(shares math.Int) { fund.TotalShare = fund.TotalShare.Sub(shares) } diff --git a/chain/insurance/types/insurance.pb.go b/chain/insurance/types/insurance.pb.go index 3172cfd5..ba256531 100644 --- a/chain/insurance/types/insurance.pb.go +++ b/chain/insurance/types/insurance.pb.go @@ -8,9 +8,9 @@ import ( types "github.com/InjectiveLabs/sdk-go/chain/oracle/types" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types1 "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" - github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" + github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types" _ "google.golang.org/protobuf/types/known/durationpb" _ "google.golang.org/protobuf/types/known/timestamppb" io "io" @@ -32,8 +32,9 @@ var _ = time.Kitchen const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type Params struct { - // default_redemption_notice_period_duration defines the default minimum notice period duration that must pass after an underwriter sends - // a redemption request before the underwriter can claim his tokens + // default_redemption_notice_period_duration defines the default minimum + // notice period duration that must pass after an underwriter sends a + // redemption request before the underwriter can claim his tokens DefaultRedemptionNoticePeriodDuration time.Duration `protobuf:"bytes,1,opt,name=default_redemption_notice_period_duration,json=defaultRedemptionNoticePeriodDuration,proto3,stdduration" json:"default_redemption_notice_period_duration" yaml:"default_redemption_notice_period_duration"` } @@ -82,8 +83,9 @@ type InsuranceFund struct { DepositDenom string `protobuf:"bytes,1,opt,name=deposit_denom,json=depositDenom,proto3" json:"deposit_denom,omitempty"` // insurance fund pool token denomination for the given insurance fund InsurancePoolTokenDenom string `protobuf:"bytes,2,opt,name=insurance_pool_token_denom,json=insurancePoolTokenDenom,proto3" json:"insurance_pool_token_denom,omitempty"` - // redemption_notice_period_duration defines the minimum notice period duration that must pass after an underwriter sends - // a redemption request before the underwriter can claim his tokens + // redemption_notice_period_duration defines the minimum notice period + // duration that must pass after an underwriter sends a redemption request + // before the underwriter can claim his tokens RedemptionNoticePeriodDuration time.Duration `protobuf:"bytes,3,opt,name=redemption_notice_period_duration,json=redemptionNoticePeriodDuration,proto3,stdduration" json:"redemption_notice_period_duration" yaml:"redemption_notice_period_duration"` // balance of fund Balance github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,4,opt,name=balance,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"balance"` @@ -93,13 +95,16 @@ type InsuranceFund struct { MarketId string `protobuf:"bytes,6,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` // ticker of the derivative market MarketTicker string `protobuf:"bytes,7,opt,name=market_ticker,json=marketTicker,proto3" json:"market_ticker,omitempty"` - // Oracle base currency of the derivative market OR the oracle symbol for the binary options market. + // Oracle base currency of the derivative market OR the oracle symbol for the + // binary options market. OracleBase string `protobuf:"bytes,8,opt,name=oracle_base,json=oracleBase,proto3" json:"oracle_base,omitempty"` - // Oracle quote currency of the derivative market OR the oracle provider for the binary options market. + // Oracle quote currency of the derivative market OR the oracle provider for + // the binary options market. OracleQuote string `protobuf:"bytes,9,opt,name=oracle_quote,json=oracleQuote,proto3" json:"oracle_quote,omitempty"` // Oracle type of the binary options or derivative market OracleType types.OracleType `protobuf:"varint,10,opt,name=oracle_type,json=oracleType,proto3,enum=injective.oracle.v1beta1.OracleType" json:"oracle_type,omitempty"` - // Expiration time of the derivative market. Should be -1 for perpetual or -2 for binary options markets. + // Expiration time of the derivative market. Should be -1 for perpetual or -2 + // for binary options markets. Expiry int64 `protobuf:"varint,11,opt,name=expiry,proto3" json:"expiry,omitempty"` } @@ -612,7 +617,7 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - n1, err1 := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.DefaultRedemptionNoticePeriodDuration, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(m.DefaultRedemptionNoticePeriodDuration):]) + n1, err1 := github_com_cosmos_gogoproto_types.StdDurationMarshalTo(m.DefaultRedemptionNoticePeriodDuration, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdDuration(m.DefaultRedemptionNoticePeriodDuration):]) if err1 != nil { return 0, err1 } @@ -701,7 +706,7 @@ func (m *InsuranceFund) MarshalToSizedBuffer(dAtA []byte) (int, error) { } i-- dAtA[i] = 0x22 - n2, err2 := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.RedemptionNoticePeriodDuration, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(m.RedemptionNoticePeriodDuration):]) + n2, err2 := github_com_cosmos_gogoproto_types.StdDurationMarshalTo(m.RedemptionNoticePeriodDuration, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdDuration(m.RedemptionNoticePeriodDuration):]) if err2 != nil { return 0, err2 } @@ -756,7 +761,7 @@ func (m *RedemptionSchedule) MarshalToSizedBuffer(dAtA []byte) (int, error) { } i-- dAtA[i] = 0x2a - n4, err4 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.ClaimableRedemptionTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.ClaimableRedemptionTime):]) + n4, err4 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.ClaimableRedemptionTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.ClaimableRedemptionTime):]) if err4 != nil { return 0, err4 } @@ -975,7 +980,7 @@ func (m *Params) Size() (n int) { } var l int _ = l - l = github_com_gogo_protobuf_types.SizeOfStdDuration(m.DefaultRedemptionNoticePeriodDuration) + l = github_com_cosmos_gogoproto_types.SizeOfStdDuration(m.DefaultRedemptionNoticePeriodDuration) n += 1 + l + sovInsurance(uint64(l)) return n } @@ -994,7 +999,7 @@ func (m *InsuranceFund) Size() (n int) { if l > 0 { n += 1 + l + sovInsurance(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdDuration(m.RedemptionNoticePeriodDuration) + l = github_com_cosmos_gogoproto_types.SizeOfStdDuration(m.RedemptionNoticePeriodDuration) n += 1 + l + sovInsurance(uint64(l)) l = m.Balance.Size() n += 1 + l + sovInsurance(uint64(l)) @@ -1042,7 +1047,7 @@ func (m *RedemptionSchedule) Size() (n int) { if l > 0 { n += 1 + l + sovInsurance(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.ClaimableRedemptionTime) + l = github_com_cosmos_gogoproto_types.SizeOfStdTime(m.ClaimableRedemptionTime) n += 1 + l + sovInsurance(uint64(l)) l = m.RedemptionAmount.Size() n += 1 + l + sovInsurance(uint64(l)) @@ -1175,7 +1180,7 @@ func (m *Params) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(&m.DefaultRedemptionNoticePeriodDuration, dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_cosmos_gogoproto_types.StdDurationUnmarshal(&m.DefaultRedemptionNoticePeriodDuration, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -1322,7 +1327,7 @@ func (m *InsuranceFund) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(&m.RedemptionNoticePeriodDuration, dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_cosmos_gogoproto_types.StdDurationUnmarshal(&m.RedemptionNoticePeriodDuration, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -1722,7 +1727,7 @@ func (m *RedemptionSchedule) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.ClaimableRedemptionTime, dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(&m.ClaimableRedemptionTime, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex diff --git a/chain/insurance/types/key.go b/chain/insurance/types/key.go index 021bbaad..1dd40c09 100644 --- a/chain/insurance/types/key.go +++ b/chain/insurance/types/key.go @@ -20,6 +20,8 @@ var ( GlobalShareDenomIdPrefixKey = []byte{0x04, 0x00} GlobalRedemptionScheduleIdPrefixKey = []byte{0x05, 0x00} + + ParamsKey = []byte{0x10} ) // GetRedemptionScheduleKey provides the key to store a single pending redemption diff --git a/chain/insurance/types/msgs.go b/chain/insurance/types/msgs.go index 864df8d7..b3485733 100644 --- a/chain/insurance/types/msgs.go +++ b/chain/insurance/types/msgs.go @@ -1,6 +1,7 @@ package types import ( + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" @@ -13,8 +14,42 @@ var ( _ sdk.Msg = &MsgCreateInsuranceFund{} _ sdk.Msg = &MsgUnderwrite{} _ sdk.Msg = &MsgRequestRedemption{} + _ sdk.Msg = &MsgUpdateParams{} ) +// Route implements the sdk.Msg interface. It should return the name of the module +func (msg MsgUpdateParams) Route() string { return RouterKey } + +// Type implements the sdk.Msg interface. It should return the action. +func (msg MsgUpdateParams) Type() string { return "updateParams" } + +// ValidateBasic implements the sdk.Msg interface. It runs stateless checks on the message +func (msg MsgUpdateParams) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Authority); err != nil { + return errors.Wrap(err, "invalid authority address") + } + + if err := msg.Params.Validate(); err != nil { + return err + } + + return nil +} + +// GetSignBytes implements the sdk.Msg interface. It encodes the message for signing +func (msg *MsgUpdateParams) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) +} + +// GetSigners implements the sdk.Msg interface. It defines whose signature is required +func (msg MsgUpdateParams) GetSigners() []sdk.AccAddress { + sender, err := sdk.AccAddressFromBech32(msg.Authority) + if err != nil { + panic(err) + } + return []sdk.AccAddress{sender} +} + // Route implements the sdk.Msg interface. It should return the name of the module func (msg MsgCreateInsuranceFund) Route() string { return RouterKey } @@ -24,36 +59,36 @@ func (msg MsgCreateInsuranceFund) Type() string { return "createInsuranceFund" } // ValidateBasic implements the sdk.Msg interface. It runs stateless checks on the message func (msg MsgCreateInsuranceFund) ValidateBasic() error { if msg.Sender == "" { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.Ticker == "" { - return sdkerrors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") } if msg.QuoteDenom == "" { - return sdkerrors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") + return errors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") } if msg.OracleBase == "" { - return sdkerrors.Wrap(ErrInvalidOracle, "oracle base should not be empty") + return errors.Wrap(ErrInvalidOracle, "oracle base should not be empty") } if msg.OracleQuote == "" { - return sdkerrors.Wrap(ErrInvalidOracle, "oracle quote should not be empty") + return errors.Wrap(ErrInvalidOracle, "oracle quote should not be empty") } if msg.OracleType == oracletypes.OracleType_Unspecified { - return sdkerrors.Wrap(ErrInvalidOracle, "oracle type should not be unspecified") + return errors.Wrap(ErrInvalidOracle, "oracle type should not be unspecified") } if msg.QuoteDenom != msg.InitialDeposit.Denom { - return sdkerrors.Wrapf(ErrInvalidDepositDenom, "oracle quote denom %s does not match deposit denom %s", msg.QuoteDenom, msg.InitialDeposit.Denom) + return errors.Wrapf(ErrInvalidDepositDenom, "oracle quote denom %s does not match deposit denom %s", msg.QuoteDenom, msg.InitialDeposit.Denom) } if msg.OracleType == oracletypes.OracleType_Provider && msg.Expiry != BinaryOptionsExpiryFlag { - return sdkerrors.Wrap(ErrInvalidExpirationTime, "oracle expiration time should be -2 for binary options markets") + return errors.Wrap(ErrInvalidExpirationTime, "oracle expiration time should be -2 for binary options markets") } if !msg.InitialDeposit.IsValid() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, msg.InitialDeposit.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.InitialDeposit.String()) } if !msg.InitialDeposit.IsPositive() || msg.InitialDeposit.Amount.GT(MaxUnderwritingAmount) { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, msg.InitialDeposit.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.InitialDeposit.String()) } return nil } @@ -81,16 +116,16 @@ func (msg MsgUnderwrite) Type() string { return "underwrite" } // ValidateBasic implements the sdk.Msg interface. It runs stateless checks on the message func (msg MsgUnderwrite) ValidateBasic() error { if msg.Sender == "" { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.MarketId == "" { - return sdkerrors.Wrap(ErrInvalidMarketID, msg.MarketId) + return errors.Wrap(ErrInvalidMarketID, msg.MarketId) } if !msg.Deposit.IsValid() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, msg.Deposit.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.Deposit.String()) } if !msg.Deposit.IsPositive() || msg.Deposit.Amount.GT(MaxUnderwritingAmount) { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, msg.Deposit.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.Deposit.String()) } return nil } @@ -118,18 +153,18 @@ func (msg MsgRequestRedemption) Type() string { return "requestRedemption" } // ValidateBasic implements the sdk.Msg interface. It runs stateless checks on the message func (msg MsgRequestRedemption) ValidateBasic() error { if msg.Sender == "" { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.MarketId == "" { - return sdkerrors.Wrap(ErrInvalidMarketID, msg.MarketId) + return errors.Wrap(ErrInvalidMarketID, msg.MarketId) } if !msg.Amount.IsValid() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) } if !msg.Amount.IsPositive() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) } return nil } diff --git a/chain/insurance/types/query.pb.go b/chain/insurance/types/query.pb.go index a9ac6387..4b79acab 100644 --- a/chain/insurance/types/query.pb.go +++ b/chain/insurance/types/query.pb.go @@ -7,9 +7,9 @@ import ( context "context" fmt "fmt" types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" @@ -30,7 +30,8 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -// QueryInsuranceParamsRequest is the request type for the Query/InsuranceParams RPC method. +// QueryInsuranceParamsRequest is the request type for the Query/InsuranceParams +// RPC method. type QueryInsuranceParamsRequest struct { } @@ -67,7 +68,8 @@ func (m *QueryInsuranceParamsRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryInsuranceParamsRequest proto.InternalMessageInfo -// QueryInsuranceParamsRequest is the response type for the Query/InsuranceParams RPC method. +// QueryInsuranceParamsRequest is the response type for the +// Query/InsuranceParams RPC method. type QueryInsuranceParamsResponse struct { Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` } @@ -112,7 +114,8 @@ func (m *QueryInsuranceParamsResponse) GetParams() Params { return Params{} } -// QueryInsuranceFundRequest is the request type for the Query/InsuranceFunds RPC method. +// QueryInsuranceFundRequest is the request type for the Query/InsuranceFunds +// RPC method. type QueryInsuranceFundRequest struct { // Market ID for the market MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` @@ -158,7 +161,8 @@ func (m *QueryInsuranceFundRequest) GetMarketId() string { return "" } -// QueryInsuranceFundResponse is the response type for the Query/InsuranceFund RPC method. +// QueryInsuranceFundResponse is the response type for the Query/InsuranceFund +// RPC method. type QueryInsuranceFundResponse struct { Fund *InsuranceFund `protobuf:"bytes,1,opt,name=fund,proto3" json:"fund,omitempty"` } @@ -203,7 +207,8 @@ func (m *QueryInsuranceFundResponse) GetFund() *InsuranceFund { return nil } -// QueryInsuranceFundsRequest is the request type for the Query/InsuranceFunds RPC method. +// QueryInsuranceFundsRequest is the request type for the Query/InsuranceFunds +// RPC method. type QueryInsuranceFundsRequest struct { } @@ -240,7 +245,8 @@ func (m *QueryInsuranceFundsRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryInsuranceFundsRequest proto.InternalMessageInfo -// QueryInsuranceFundsResponse is the response type for the Query/InsuranceFunds RPC method. +// QueryInsuranceFundsResponse is the response type for the Query/InsuranceFunds +// RPC method. type QueryInsuranceFundsResponse struct { Funds []InsuranceFund `protobuf:"bytes,1,rep,name=funds,proto3" json:"funds"` } @@ -285,7 +291,8 @@ func (m *QueryInsuranceFundsResponse) GetFunds() []InsuranceFund { return nil } -// QueryEstimatedRedemptionsRequest is the request type for the Query/EstimatedRedemptions RPC method. +// QueryEstimatedRedemptionsRequest is the request type for the +// Query/EstimatedRedemptions RPC method. type QueryEstimatedRedemptionsRequest struct { MarketId string `protobuf:"bytes,1,opt,name=marketId,proto3" json:"marketId,omitempty"` Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` @@ -338,7 +345,8 @@ func (m *QueryEstimatedRedemptionsRequest) GetAddress() string { return "" } -// QueryEstimatedRedemptionsResponse is the response type for the Query/EstimatedRedemptions RPC method. +// QueryEstimatedRedemptionsResponse is the response type for the +// Query/EstimatedRedemptions RPC method. type QueryEstimatedRedemptionsResponse struct { Amount []types.Coin `protobuf:"bytes,1,rep,name=amount,proto3" json:"amount"` } @@ -383,7 +391,8 @@ func (m *QueryEstimatedRedemptionsResponse) GetAmount() []types.Coin { return nil } -// QueryPendingRedemptionsRequest is the request type for the Query/PendingRedemptions RPC method. +// QueryPendingRedemptionsRequest is the request type for the +// Query/PendingRedemptions RPC method. type QueryPendingRedemptionsRequest struct { MarketId string `protobuf:"bytes,1,opt,name=marketId,proto3" json:"marketId,omitempty"` Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` @@ -436,7 +445,8 @@ func (m *QueryPendingRedemptionsRequest) GetAddress() string { return "" } -// QueryPendingRedemptionsResponse is the response type for the Query/PendingRedemptions RPC method. +// QueryPendingRedemptionsResponse is the response type for the +// Query/PendingRedemptions RPC method. type QueryPendingRedemptionsResponse struct { Amount []types.Coin `protobuf:"bytes,1,rep,name=amount,proto3" json:"amount"` } @@ -481,7 +491,8 @@ func (m *QueryPendingRedemptionsResponse) GetAmount() []types.Coin { return nil } -// QueryModuleStateRequest is the request type for the Query/InsuranceModuleState RPC method. +// QueryModuleStateRequest is the request type for the +// Query/InsuranceModuleState RPC method. type QueryModuleStateRequest struct { } @@ -518,7 +529,8 @@ func (m *QueryModuleStateRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryModuleStateRequest proto.InternalMessageInfo -// QueryModuleStateResponse is the response type for the Query/InsuranceModuleState RPC method. +// QueryModuleStateResponse is the response type for the +// Query/InsuranceModuleState RPC method. type QueryModuleStateResponse struct { State *GenesisState `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` } @@ -650,7 +662,8 @@ type QueryClient interface { InsuranceFund(ctx context.Context, in *QueryInsuranceFundRequest, opts ...grpc.CallOption) (*QueryInsuranceFundResponse, error) // Retrieves all insurance funds InsuranceFunds(ctx context.Context, in *QueryInsuranceFundsRequest, opts ...grpc.CallOption) (*QueryInsuranceFundsResponse, error) - // Retrives the value of insurance fund share token at current price (not pending redemption) + // Retrives the value of insurance fund share token at current price (not + // pending redemption) EstimatedRedemptions(ctx context.Context, in *QueryEstimatedRedemptionsRequest, opts ...grpc.CallOption) (*QueryEstimatedRedemptionsResponse, error) // Retrieves pending redemptions' share token at current price PendingRedemptions(ctx context.Context, in *QueryPendingRedemptionsRequest, opts ...grpc.CallOption) (*QueryPendingRedemptionsResponse, error) @@ -728,7 +741,8 @@ type QueryServer interface { InsuranceFund(context.Context, *QueryInsuranceFundRequest) (*QueryInsuranceFundResponse, error) // Retrieves all insurance funds InsuranceFunds(context.Context, *QueryInsuranceFundsRequest) (*QueryInsuranceFundsResponse, error) - // Retrives the value of insurance fund share token at current price (not pending redemption) + // Retrives the value of insurance fund share token at current price (not + // pending redemption) EstimatedRedemptions(context.Context, *QueryEstimatedRedemptionsRequest) (*QueryEstimatedRedemptionsResponse, error) // Retrieves pending redemptions' share token at current price PendingRedemptions(context.Context, *QueryPendingRedemptionsRequest) (*QueryPendingRedemptionsResponse, error) diff --git a/chain/insurance/types/tx.pb.go b/chain/insurance/types/tx.pb.go index 0999a481..846919ee 100644 --- a/chain/insurance/types/tx.pb.go +++ b/chain/insurance/types/tx.pb.go @@ -7,10 +7,12 @@ import ( context "context" fmt "fmt" types "github.com/InjectiveLabs/sdk-go/chain/oracle/types" + _ "github.com/cosmos/cosmos-proto" types1 "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/gogoproto/gogoproto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -30,7 +32,8 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -// MsgCreateInsuranceFund a message to create an insurance fund for a derivative market. +// MsgCreateInsuranceFund a message to create an insurance fund for a derivative +// market. type MsgCreateInsuranceFund struct { // Creator of the insurance fund. Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` @@ -38,13 +41,16 @@ type MsgCreateInsuranceFund struct { Ticker string `protobuf:"bytes,2,opt,name=ticker,proto3" json:"ticker,omitempty"` // Coin denom to use for the market quote denom QuoteDenom string `protobuf:"bytes,3,opt,name=quote_denom,json=quoteDenom,proto3" json:"quote_denom,omitempty"` - // Oracle base currency of the derivative market OR the oracle symbol for the binary options market. + // Oracle base currency of the derivative market OR the oracle symbol for the + // binary options market. OracleBase string `protobuf:"bytes,4,opt,name=oracle_base,json=oracleBase,proto3" json:"oracle_base,omitempty"` - // Oracle quote currency of the derivative market OR the oracle provider for the binary options market. + // Oracle quote currency of the derivative market OR the oracle provider for + // the binary options market. OracleQuote string `protobuf:"bytes,5,opt,name=oracle_quote,json=oracleQuote,proto3" json:"oracle_quote,omitempty"` // Oracle type of the binary options or derivative market OracleType types.OracleType `protobuf:"varint,6,opt,name=oracle_type,json=oracleType,proto3,enum=injective.oracle.v1beta1.OracleType" json:"oracle_type,omitempty"` - // Expiration time of the derivative market. Should be -1 for perpetual or -2 for binary options markets. + // Expiration time of the derivative market. Should be -1 for perpetual or -2 + // for binary options markets. Expiry int64 `protobuf:"varint,7,opt,name=expiry,proto3" json:"expiry,omitempty"` // Initial deposit of the insurance fund InitialDeposit types1.Coin `protobuf:"bytes,8,opt,name=initial_deposit,json=initialDeposit,proto3" json:"initial_deposit"` @@ -119,7 +125,8 @@ func (m *MsgCreateInsuranceFundResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCreateInsuranceFundResponse proto.InternalMessageInfo -// MsgUnderwrite defines a message for depositing coins to underwrite an insurance fund +// MsgUnderwrite defines a message for depositing coins to underwrite an +// insurance fund type MsgUnderwrite struct { // Address of the underwriter. Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` @@ -198,7 +205,8 @@ func (m *MsgUnderwriteResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgUnderwriteResponse proto.InternalMessageInfo -// MsgRequestRedemption defines a message for requesting a redemption of the sender's insurance fund tokens +// MsgRequestRedemption defines a message for requesting a redemption of the +// sender's insurance fund tokens type MsgRequestRedemption struct { // Address of the underwriter requesting a redemption. Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` @@ -277,6 +285,98 @@ func (m *MsgRequestRedemptionResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgRequestRedemptionResponse proto.InternalMessageInfo +type MsgUpdateParams struct { + // authority is the address of the governance account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // params defines the insurance parameters to update. + // + // NOTE: All parameters must be supplied. + Params Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params"` +} + +func (m *MsgUpdateParams) Reset() { *m = MsgUpdateParams{} } +func (m *MsgUpdateParams) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParams) ProtoMessage() {} +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return fileDescriptor_7e1fa941c3fd0dc4, []int{6} +} +func (m *MsgUpdateParams) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParams.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParams) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParams.Merge(m, src) +} +func (m *MsgUpdateParams) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParams) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParams.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParams proto.InternalMessageInfo + +func (m *MsgUpdateParams) GetAuthority() string { + if m != nil { + return m.Authority + } + return "" +} + +func (m *MsgUpdateParams) GetParams() Params { + if m != nil { + return m.Params + } + return Params{} +} + +type MsgUpdateParamsResponse struct { +} + +func (m *MsgUpdateParamsResponse) Reset() { *m = MsgUpdateParamsResponse{} } +func (m *MsgUpdateParamsResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParamsResponse) ProtoMessage() {} +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_7e1fa941c3fd0dc4, []int{7} +} +func (m *MsgUpdateParamsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParamsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParamsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParamsResponse.Merge(m, src) +} +func (m *MsgUpdateParamsResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParamsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgCreateInsuranceFund)(nil), "injective.insurance.v1beta1.MsgCreateInsuranceFund") proto.RegisterType((*MsgCreateInsuranceFundResponse)(nil), "injective.insurance.v1beta1.MsgCreateInsuranceFundResponse") @@ -284,6 +384,8 @@ func init() { proto.RegisterType((*MsgUnderwriteResponse)(nil), "injective.insurance.v1beta1.MsgUnderwriteResponse") proto.RegisterType((*MsgRequestRedemption)(nil), "injective.insurance.v1beta1.MsgRequestRedemption") proto.RegisterType((*MsgRequestRedemptionResponse)(nil), "injective.insurance.v1beta1.MsgRequestRedemptionResponse") + proto.RegisterType((*MsgUpdateParams)(nil), "injective.insurance.v1beta1.MsgUpdateParams") + proto.RegisterType((*MsgUpdateParamsResponse)(nil), "injective.insurance.v1beta1.MsgUpdateParamsResponse") } func init() { @@ -291,44 +393,53 @@ func init() { } var fileDescriptor_7e1fa941c3fd0dc4 = []byte{ - // 587 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x94, 0x41, 0x6f, 0xd3, 0x30, - 0x14, 0xc7, 0xe3, 0x75, 0x74, 0x9b, 0x07, 0x43, 0x84, 0x31, 0x42, 0x87, 0xd2, 0x32, 0x0d, 0xa9, - 0x42, 0x22, 0x51, 0xbb, 0x03, 0x1a, 0xdc, 0xba, 0x81, 0xa8, 0x44, 0x35, 0x11, 0xc1, 0x85, 0x4b, - 0x95, 0x26, 0x4f, 0x99, 0x59, 0x63, 0x67, 0xb1, 0x33, 0xd6, 0xe3, 0x4e, 0xc0, 0x05, 0xf1, 0x11, - 0xf6, 0x71, 0x76, 0xdc, 0x91, 0x13, 0x9a, 0xda, 0x0b, 0x1f, 0x03, 0x25, 0x76, 0xd2, 0xa2, 0x15, - 0x56, 0x76, 0xf3, 0x7b, 0xfe, 0xff, 0xdf, 0xfb, 0xf9, 0x39, 0x31, 0xde, 0x24, 0xf4, 0x23, 0x78, - 0x82, 0x1c, 0x81, 0x4d, 0x28, 0x4f, 0x62, 0x97, 0x7a, 0x60, 0x1f, 0x35, 0x7a, 0x20, 0xdc, 0x86, - 0x2d, 0x8e, 0xad, 0x28, 0x66, 0x82, 0xe9, 0xeb, 0x85, 0xca, 0x2a, 0x54, 0x96, 0x52, 0x55, 0x56, - 0x03, 0x16, 0xb0, 0x4c, 0x67, 0xa7, 0x2b, 0x69, 0xa9, 0x98, 0x1e, 0xe3, 0x21, 0xe3, 0x76, 0xcf, - 0xe5, 0xe3, 0x82, 0x1e, 0x23, 0x54, 0xed, 0x3f, 0x1e, 0x37, 0x66, 0xb1, 0xeb, 0xf5, 0xc7, 0x22, - 0x19, 0x4a, 0xd9, 0xc6, 0xc5, 0x1c, 0x5e, 0xeb, 0xf0, 0x60, 0x27, 0x06, 0x57, 0x40, 0x3b, 0xef, - 0xfd, 0x2a, 0xa1, 0xbe, 0xbe, 0x86, 0xcb, 0x1c, 0xa8, 0x0f, 0xb1, 0x81, 0x6a, 0xa8, 0xbe, 0xe4, - 0xa8, 0x28, 0xcd, 0x0b, 0xe2, 0x1d, 0x40, 0x6c, 0xcc, 0xc9, 0xbc, 0x8c, 0xf4, 0x2a, 0x5e, 0x3e, - 0x4c, 0x98, 0x80, 0xae, 0x0f, 0x94, 0x85, 0x46, 0x29, 0xdb, 0xc4, 0x59, 0x6a, 0x37, 0xcd, 0xa4, - 0x02, 0xd9, 0xbb, 0x9b, 0x42, 0x1b, 0xf3, 0x52, 0x20, 0x53, 0x2d, 0x97, 0x83, 0xfe, 0x08, 0xdf, - 0x54, 0x82, 0xcc, 0x65, 0xdc, 0xc8, 0x14, 0xca, 0xf4, 0x36, 0x4d, 0xe9, 0x2f, 0x8b, 0x1a, 0x62, - 0x10, 0x81, 0x51, 0xae, 0xa1, 0xfa, 0x4a, 0x73, 0xd3, 0x1a, 0xcf, 0x4f, 0x9d, 0x4e, 0x1d, 0xd6, - 0xda, 0xcb, 0xc2, 0x77, 0x83, 0x08, 0xf2, 0x4e, 0xe9, 0x3a, 0x3d, 0x03, 0x1c, 0x47, 0x24, 0x1e, - 0x18, 0x0b, 0x35, 0x54, 0x2f, 0x39, 0x2a, 0xd2, 0x5f, 0xe3, 0xdb, 0x84, 0x12, 0x41, 0xdc, 0x7e, - 0xd7, 0x87, 0x88, 0x71, 0x22, 0x8c, 0xc5, 0x1a, 0xaa, 0x2f, 0x37, 0x1f, 0x58, 0x72, 0xde, 0x56, - 0x8a, 0x5e, 0x54, 0xdf, 0x61, 0x84, 0xb6, 0xe6, 0xcf, 0x7e, 0x56, 0x35, 0x67, 0x45, 0xf9, 0x76, - 0xa5, 0xed, 0xf9, 0xe2, 0x97, 0xd3, 0xaa, 0xf6, 0xeb, 0xb4, 0xaa, 0x6d, 0xd4, 0xb0, 0x39, 0x7d, - 0xc2, 0x0e, 0xf0, 0x88, 0x51, 0x0e, 0x1b, 0x5f, 0x11, 0xbe, 0xd5, 0xe1, 0xc1, 0xfb, 0x74, 0xbc, - 0x9f, 0x62, 0x22, 0xe0, 0xaf, 0xb3, 0x5f, 0xc7, 0x4b, 0xa1, 0x1b, 0x1f, 0x80, 0xe8, 0x12, 0x5f, - 0x8d, 0x7f, 0x51, 0x26, 0xda, 0xbe, 0xbe, 0x8d, 0x17, 0x72, 0xe8, 0xd2, 0x6c, 0xd0, 0xb9, 0x7e, - 0x82, 0xf6, 0x3e, 0xbe, 0xf7, 0x07, 0x4a, 0x01, 0xf9, 0x0d, 0xe1, 0xd5, 0x0e, 0x0f, 0x1c, 0x38, - 0x4c, 0x80, 0x0b, 0x07, 0x7c, 0x08, 0x23, 0x41, 0x18, 0xbd, 0x1e, 0xeb, 0x33, 0x5c, 0x76, 0x43, - 0x96, 0xd0, 0x99, 0x51, 0x95, 0x7c, 0x82, 0xd4, 0xc4, 0x0f, 0xa7, 0xf1, 0xe4, 0xc0, 0xcd, 0x93, - 0x12, 0x2e, 0x75, 0x78, 0xa0, 0x7f, 0x46, 0xf8, 0xee, 0xb4, 0xef, 0x7b, 0xcb, 0xfa, 0xc7, 0x5f, - 0x67, 0x4d, 0xbf, 0xb2, 0xca, 0x8b, 0x6b, 0x98, 0x72, 0x22, 0xbd, 0x8f, 0xf1, 0xc4, 0x1d, 0x3f, - 0xb9, 0xaa, 0xd4, 0x58, 0x5b, 0x69, 0xce, 0xae, 0x2d, 0xba, 0x9d, 0x20, 0x7c, 0xe7, 0xf2, 0x6d, - 0x35, 0xae, 0xaa, 0x74, 0xc9, 0x52, 0xd9, 0xfe, 0x6f, 0x4b, 0xce, 0xd0, 0x22, 0x67, 0x43, 0x13, - 0x9d, 0x0f, 0x4d, 0x74, 0x31, 0x34, 0xd1, 0xf7, 0x91, 0xa9, 0x9d, 0x8f, 0x4c, 0xed, 0xc7, 0xc8, - 0xd4, 0x3e, 0xec, 0x05, 0x44, 0xec, 0x27, 0x3d, 0xcb, 0x63, 0xa1, 0xdd, 0xce, 0xcb, 0xbf, 0x71, - 0x7b, 0xdc, 0x2e, 0x9a, 0x3d, 0xf5, 0x58, 0x0c, 0x93, 0xe1, 0xbe, 0x4b, 0xa8, 0x1d, 0x32, 0x3f, - 0xe9, 0x03, 0x9f, 0x78, 0x4e, 0xd3, 0x97, 0x80, 0xf7, 0xca, 0xd9, 0x83, 0xb6, 0xf5, 0x3b, 0x00, - 0x00, 0xff, 0xff, 0x49, 0x69, 0xf3, 0xdb, 0x72, 0x05, 0x00, 0x00, + // 727 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x95, 0x4f, 0x4f, 0x13, 0x4f, + 0x18, 0xc7, 0xbb, 0x94, 0x5f, 0x81, 0x81, 0x1f, 0xc4, 0x05, 0x61, 0x29, 0x66, 0x5b, 0x2b, 0x26, + 0x0d, 0xca, 0x6e, 0x5a, 0x8c, 0x06, 0x3c, 0x51, 0xd0, 0x48, 0x62, 0x83, 0x56, 0xbd, 0x78, 0x69, + 0xa6, 0xbb, 0x93, 0x65, 0xa4, 0xbb, 0xb3, 0xcc, 0xcc, 0x22, 0x3d, 0xea, 0x45, 0x8f, 0x1e, 0xbc, + 0x98, 0x78, 0xe0, 0x25, 0x78, 0xf0, 0x45, 0x70, 0x24, 0x9e, 0x3c, 0x19, 0x03, 0x07, 0x4d, 0x3c, + 0x7b, 0x37, 0xbb, 0x33, 0xbb, 0x5b, 0xa4, 0xf2, 0xef, 0xd4, 0x7d, 0x9e, 0xf9, 0x3e, 0xdf, 0xe7, + 0xf3, 0xcc, 0x4c, 0x77, 0xc1, 0x2c, 0xf6, 0x5e, 0x20, 0x8b, 0xe3, 0x6d, 0x64, 0x62, 0x8f, 0x05, + 0x14, 0x7a, 0x16, 0x32, 0xb7, 0x2b, 0x2d, 0xc4, 0x61, 0xc5, 0xe4, 0x3b, 0x86, 0x4f, 0x09, 0x27, + 0xea, 0x4c, 0xa2, 0x32, 0x12, 0x95, 0x21, 0x55, 0xf9, 0x09, 0x87, 0x38, 0x24, 0xd2, 0x99, 0xe1, + 0x93, 0x28, 0xc9, 0xeb, 0x16, 0x61, 0x2e, 0x61, 0x66, 0x0b, 0xb2, 0xd4, 0xd0, 0x22, 0xd8, 0x93, + 0xeb, 0x53, 0x72, 0xdd, 0x65, 0x8e, 0xb9, 0x5d, 0x09, 0x7f, 0xe4, 0xc2, 0xb4, 0x58, 0x68, 0x0a, + 0x47, 0x11, 0xc8, 0xa5, 0x1b, 0x27, 0xc1, 0xa6, 0x60, 0x42, 0x7c, 0x3d, 0x15, 0x13, 0x0a, 0xad, + 0x76, 0xaa, 0x14, 0xa1, 0x90, 0x95, 0x7e, 0xf5, 0x81, 0xc9, 0x3a, 0x73, 0x56, 0x28, 0x82, 0x1c, + 0xad, 0xc5, 0x1e, 0xf7, 0x03, 0xcf, 0x56, 0x27, 0x41, 0x8e, 0x21, 0xcf, 0x46, 0x54, 0x53, 0x8a, + 0x4a, 0x79, 0xa8, 0x21, 0xa3, 0x30, 0xcf, 0xb1, 0xb5, 0x89, 0xa8, 0xd6, 0x27, 0xf2, 0x22, 0x52, + 0x0b, 0x60, 0x78, 0x2b, 0x20, 0x1c, 0x35, 0x6d, 0xe4, 0x11, 0x57, 0xcb, 0x46, 0x8b, 0x20, 0x4a, + 0xad, 0x86, 0x99, 0x50, 0x20, 0x7a, 0x37, 0xc3, 0x5d, 0xd1, 0xfa, 0x85, 0x40, 0xa4, 0x6a, 0x90, + 0x21, 0xf5, 0x2a, 0x18, 0x91, 0x82, 0xa8, 0x4a, 0xfb, 0x2f, 0x52, 0xc8, 0xa2, 0xc7, 0x61, 0x4a, + 0xbd, 0x97, 0x78, 0xf0, 0x8e, 0x8f, 0xb4, 0x5c, 0x51, 0x29, 0x8f, 0x56, 0x67, 0x8d, 0xf4, 0x80, + 0xe4, 0x74, 0x72, 0x58, 0x63, 0x3d, 0x0a, 0x9f, 0x76, 0x7c, 0x14, 0x77, 0x0a, 0x9f, 0xc3, 0x19, + 0xd0, 0x8e, 0x8f, 0x69, 0x47, 0x1b, 0x28, 0x2a, 0xe5, 0x6c, 0x43, 0x46, 0xea, 0x03, 0x30, 0x86, + 0x3d, 0xcc, 0x31, 0x6c, 0x37, 0x6d, 0xe4, 0x13, 0x86, 0xb9, 0x36, 0x58, 0x54, 0xca, 0xc3, 0xd5, + 0x69, 0x43, 0x1e, 0x45, 0x88, 0x9e, 0xb8, 0xaf, 0x10, 0xec, 0xd5, 0xfa, 0xf7, 0xbe, 0x15, 0x32, + 0x8d, 0x51, 0x59, 0xb7, 0x2a, 0xca, 0x96, 0xc6, 0xdf, 0xee, 0x16, 0x32, 0x3f, 0x77, 0x0b, 0x99, + 0xd7, 0x3f, 0x3e, 0xcd, 0xc9, 0xad, 0x2b, 0x15, 0x81, 0xde, 0x7b, 0xb3, 0x1b, 0x88, 0xf9, 0xc4, + 0x63, 0xa8, 0xf4, 0x5e, 0x01, 0xff, 0xd7, 0x99, 0xf3, 0x2c, 0x94, 0xbf, 0xa4, 0x98, 0xa3, 0x7f, + 0x1e, 0xc3, 0x0c, 0x18, 0x72, 0x21, 0xdd, 0x44, 0xbc, 0x89, 0x6d, 0x79, 0x12, 0x83, 0x22, 0xb1, + 0x66, 0xab, 0x8b, 0x60, 0x20, 0xe6, 0xcf, 0x9e, 0x8d, 0x3f, 0xd6, 0xf7, 0x06, 0x9f, 0x02, 0x97, + 0x8f, 0x50, 0x25, 0xbc, 0x1f, 0x14, 0x30, 0x51, 0x67, 0x4e, 0x03, 0x6d, 0x05, 0x88, 0xf1, 0x06, + 0xb2, 0x91, 0xeb, 0x73, 0x4c, 0xbc, 0x8b, 0x61, 0xdf, 0x01, 0x39, 0xe8, 0x92, 0xc0, 0x3b, 0x33, + 0xb5, 0x94, 0xf7, 0x86, 0xd6, 0xc1, 0x95, 0x5e, 0x68, 0x09, 0xfb, 0x47, 0x05, 0x8c, 0x85, 0x53, + 0xf9, 0x36, 0xe4, 0xe8, 0x11, 0xa4, 0xd0, 0x65, 0xea, 0x6d, 0x30, 0x04, 0x03, 0xbe, 0x41, 0x28, + 0xe6, 0x1d, 0x41, 0x5e, 0xd3, 0xbe, 0x7c, 0x9e, 0x9f, 0x90, 0x1c, 0xcb, 0xb6, 0x4d, 0x11, 0x63, + 0x4f, 0x38, 0xc5, 0x9e, 0xd3, 0x48, 0xa5, 0xea, 0x32, 0xc8, 0xf9, 0x91, 0x43, 0x34, 0xd3, 0x70, + 0xf5, 0x9a, 0x71, 0xc2, 0x3b, 0xc3, 0x10, 0xcd, 0xe2, 0x19, 0x44, 0xe1, 0xd2, 0x68, 0xc8, 0x9e, + 0x5a, 0x96, 0xa6, 0xc1, 0xd4, 0x5f, 0x74, 0x31, 0x79, 0xf5, 0x77, 0x16, 0x64, 0xeb, 0xcc, 0x51, + 0xdf, 0x28, 0x60, 0xbc, 0xd7, 0x5f, 0x77, 0xe1, 0xc4, 0xee, 0xbd, 0xaf, 0x60, 0xfe, 0xee, 0x05, + 0x8a, 0x62, 0x22, 0xb5, 0x0d, 0x40, 0xd7, 0x9d, 0x9d, 0x3b, 0xcd, 0x2a, 0xd5, 0xe6, 0xab, 0x67, + 0xd7, 0x26, 0xdd, 0x5e, 0x29, 0xe0, 0xd2, 0xf1, 0x2b, 0x57, 0x39, 0xcd, 0xe9, 0x58, 0x49, 0x7e, + 0xf1, 0xdc, 0x25, 0x09, 0x03, 0x05, 0x23, 0x47, 0x6e, 0xce, 0xcd, 0x53, 0xe7, 0xe8, 0x52, 0xe7, + 0x6f, 0x9d, 0x47, 0x1d, 0xf7, 0xac, 0xe1, 0xbd, 0x03, 0x5d, 0xd9, 0x3f, 0xd0, 0x95, 0xef, 0x07, + 0xba, 0xf2, 0xee, 0x50, 0xcf, 0xec, 0x1f, 0xea, 0x99, 0xaf, 0x87, 0x7a, 0xe6, 0xf9, 0xba, 0x83, + 0xf9, 0x46, 0xd0, 0x32, 0x2c, 0xe2, 0x9a, 0x6b, 0xb1, 0xf3, 0x43, 0xd8, 0x62, 0x66, 0xd2, 0x67, + 0xde, 0x22, 0x14, 0x75, 0x87, 0x1b, 0x10, 0x7b, 0xa6, 0x4b, 0xec, 0xa0, 0x8d, 0x58, 0xd7, 0x17, + 0x25, 0x7c, 0xb1, 0xb2, 0x56, 0x2e, 0xfa, 0x3e, 0x2c, 0xfc, 0x09, 0x00, 0x00, 0xff, 0xff, 0x5c, + 0x3d, 0x18, 0xfa, 0x22, 0x07, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -345,10 +456,13 @@ const _ = grpc.SupportPackageIsVersion4 type MsgClient interface { // CreateInsuranceFund defines a method for creating an insurance fund CreateInsuranceFund(ctx context.Context, in *MsgCreateInsuranceFund, opts ...grpc.CallOption) (*MsgCreateInsuranceFundResponse, error) - // Underwrite defines a method for depositing tokens to underwrite an insurance fund + // Underwrite defines a method for depositing tokens to underwrite an + // insurance fund Underwrite(ctx context.Context, in *MsgUnderwrite, opts ...grpc.CallOption) (*MsgUnderwriteResponse, error) - // RequestRedemption defines a method for requesting a redemption of the sender's insurance fund tokens + // RequestRedemption defines a method for requesting a redemption of the + // sender's insurance fund tokens RequestRedemption(ctx context.Context, in *MsgRequestRedemption, opts ...grpc.CallOption) (*MsgRequestRedemptionResponse, error) + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) } type msgClient struct { @@ -386,14 +500,26 @@ func (c *msgClient) RequestRedemption(ctx context.Context, in *MsgRequestRedempt return out, nil } +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, "/injective.insurance.v1beta1.Msg/UpdateParams", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { // CreateInsuranceFund defines a method for creating an insurance fund CreateInsuranceFund(context.Context, *MsgCreateInsuranceFund) (*MsgCreateInsuranceFundResponse, error) - // Underwrite defines a method for depositing tokens to underwrite an insurance fund + // Underwrite defines a method for depositing tokens to underwrite an + // insurance fund Underwrite(context.Context, *MsgUnderwrite) (*MsgUnderwriteResponse, error) - // RequestRedemption defines a method for requesting a redemption of the sender's insurance fund tokens + // RequestRedemption defines a method for requesting a redemption of the + // sender's insurance fund tokens RequestRedemption(context.Context, *MsgRequestRedemption) (*MsgRequestRedemptionResponse, error) + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -409,6 +535,9 @@ func (*UnimplementedMsgServer) Underwrite(ctx context.Context, req *MsgUnderwrit func (*UnimplementedMsgServer) RequestRedemption(ctx context.Context, req *MsgRequestRedemption) (*MsgRequestRedemptionResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RequestRedemption not implemented") } +func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -468,6 +597,24 @@ func _Msg_RequestRedemption_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.insurance.v1beta1.Msg/UpdateParams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "injective.insurance.v1beta1.Msg", HandlerType: (*MsgServer)(nil), @@ -484,6 +631,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "RequestRedemption", Handler: _Msg_RequestRedemption_Handler, }, + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "injective/insurance/v1beta1/tx.proto", @@ -730,6 +881,69 @@ func (m *MsgRequestRedemptionResponse) MarshalToSizedBuffer(dAtA []byte) (int, e return len(dAtA) - i, nil } +func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -843,6 +1057,30 @@ func (m *MsgRequestRedemptionResponse) Size() (n int) { return n } +func (m *MsgUpdateParams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Params.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -1574,6 +1812,171 @@ func (m *MsgRequestRedemptionResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/ocr/types/codec.go b/chain/ocr/types/codec.go index 7611d785..01261381 100644 --- a/chain/ocr/types/codec.go +++ b/chain/ocr/types/codec.go @@ -6,7 +6,10 @@ import ( cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + authzcdc "github.com/cosmos/cosmos-sdk/x/authz/codec" + govcdc "github.com/cosmos/cosmos-sdk/x/gov/codec" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + groupcdc "github.com/cosmos/cosmos-sdk/x/group/codec" ) // RegisterLegacyAminoCodec registers the necessary modules/ocr interfaces and concrete types @@ -20,6 +23,7 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgSetPayees{}, "ocr/MsgSetPayees", nil) cdc.RegisterConcrete(&MsgTransferPayeeship{}, "ocr/MsgTransferPayeeship", nil) cdc.RegisterConcrete(&MsgAcceptPayeeship{}, "ocr/MsgAcceptPayeeship", nil) + cdc.RegisterConcrete(&MsgUpdateParams{}, "ocr/MsgUpdateParams", nil) cdc.RegisterConcrete(&SetConfigProposal{}, "ocr/SetConfigProposal", nil) cdc.RegisterConcrete(&SetBatchConfigProposal{}, "ocr/SetBatchConfigProposal", nil) @@ -35,6 +39,7 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { &MsgSetPayees{}, &MsgTransferPayeeship{}, &MsgAcceptPayeeship{}, + &MsgUpdateParams{}, ) registry.RegisterImplementations( @@ -62,4 +67,8 @@ func init() { RegisterLegacyAminoCodec(amino) cryptocodec.RegisterCrypto(amino) amino.Seal() + + RegisterLegacyAminoCodec(govcdc.Amino) + RegisterLegacyAminoCodec(groupcdc.Amino) + RegisterLegacyAminoCodec(authzcdc.Amino) } diff --git a/chain/ocr/types/errors.go b/chain/ocr/types/errors.go index 7127fa57..140b6afd 100644 --- a/chain/ocr/types/errors.go +++ b/chain/ocr/types/errors.go @@ -1,31 +1,31 @@ package types import ( - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "cosmossdk.io/errors" ) var ( - ErrStaleReport = sdkerrors.Register(ModuleName, 1, "stale report") - ErrIncompleteProposal = sdkerrors.Register(ModuleName, 2, "incomplete proposal") - ErrRepeatedAddress = sdkerrors.Register(ModuleName, 3, "repeated oracle address") - ErrTooManySigners = sdkerrors.Register(ModuleName, 4, "too many signers") - ErrIncorrectConfig = sdkerrors.Register(ModuleName, 5, "incorrect config") - ErrConfigDigestNotMatch = sdkerrors.Register(ModuleName, 6, "config digest doesn't match") - ErrWrongNumberOfSignatures = sdkerrors.Register(ModuleName, 7, "wrong number of signatures") - ErrIncorrectSignature = sdkerrors.Register(ModuleName, 8, "incorrect signature") - ErrNoTransmitter = sdkerrors.Register(ModuleName, 9, "no transmitter specified") - ErrIncorrectTransmissionData = sdkerrors.Register(ModuleName, 10, "incorrect transmission data") - ErrNoTransmissionsFound = sdkerrors.Register(ModuleName, 11, "no transmissions found") - ErrMedianValueOutOfBounds = sdkerrors.Register(ModuleName, 12, "median value is out of bounds") - ErrIncorrectRewardPoolDenom = sdkerrors.Register(ModuleName, 13, "LINK denom doesn't match") - ErrNoRewardPool = sdkerrors.Register(ModuleName, 14, "Reward Pool doesn't exist") - ErrInvalidPayees = sdkerrors.Register(ModuleName, 15, "wrong number of payees and transmitters") - ErrModuleAdminRestricted = sdkerrors.Register(ModuleName, 16, "action is restricted to the module admin") - ErrFeedAlreadyExists = sdkerrors.Register(ModuleName, 17, "feed already exists") - ErrFeedDoesntExists = sdkerrors.Register(ModuleName, 19, "feed doesnt exists") - ErrAdminRestricted = sdkerrors.Register(ModuleName, 20, "action is admin-restricted") - ErrInsufficientRewardPool = sdkerrors.Register(ModuleName, 21, "insufficient reward pool") - ErrPayeeAlreadySet = sdkerrors.Register(ModuleName, 22, "payee already set") - ErrPayeeRestricted = sdkerrors.Register(ModuleName, 23, "action is payee-restricted") - ErrFeedConfigNotFound = sdkerrors.Register(ModuleName, 24, "feed config not found") + ErrStaleReport = errors.Register(ModuleName, 1, "stale report") + ErrIncompleteProposal = errors.Register(ModuleName, 2, "incomplete proposal") + ErrRepeatedAddress = errors.Register(ModuleName, 3, "repeated oracle address") + ErrTooManySigners = errors.Register(ModuleName, 4, "too many signers") + ErrIncorrectConfig = errors.Register(ModuleName, 5, "incorrect config") + ErrConfigDigestNotMatch = errors.Register(ModuleName, 6, "config digest doesn't match") + ErrWrongNumberOfSignatures = errors.Register(ModuleName, 7, "wrong number of signatures") + ErrIncorrectSignature = errors.Register(ModuleName, 8, "incorrect signature") + ErrNoTransmitter = errors.Register(ModuleName, 9, "no transmitter specified") + ErrIncorrectTransmissionData = errors.Register(ModuleName, 10, "incorrect transmission data") + ErrNoTransmissionsFound = errors.Register(ModuleName, 11, "no transmissions found") + ErrMedianValueOutOfBounds = errors.Register(ModuleName, 12, "median value is out of bounds") + ErrIncorrectRewardPoolDenom = errors.Register(ModuleName, 13, "LINK denom doesn't match") + ErrNoRewardPool = errors.Register(ModuleName, 14, "Reward Pool doesn't exist") + ErrInvalidPayees = errors.Register(ModuleName, 15, "wrong number of payees and transmitters") + ErrModuleAdminRestricted = errors.Register(ModuleName, 16, "action is restricted to the module admin") + ErrFeedAlreadyExists = errors.Register(ModuleName, 17, "feed already exists") + ErrFeedDoesntExists = errors.Register(ModuleName, 19, "feed doesnt exists") + ErrAdminRestricted = errors.Register(ModuleName, 20, "action is admin-restricted") + ErrInsufficientRewardPool = errors.Register(ModuleName, 21, "insufficient reward pool") + ErrPayeeAlreadySet = errors.Register(ModuleName, 22, "payee already set") + ErrPayeeRestricted = errors.Register(ModuleName, 23, "action is payee-restricted") + ErrFeedConfigNotFound = errors.Register(ModuleName, 24, "feed config not found") ) diff --git a/chain/ocr/types/genesis.pb.go b/chain/ocr/types/genesis.pb.go index 52853eb6..210d8023 100644 --- a/chain/ocr/types/genesis.pb.go +++ b/chain/ocr/types/genesis.pb.go @@ -6,8 +6,8 @@ package types import ( fmt "fmt" types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" @@ -34,7 +34,8 @@ type GenesisState struct { LatestEpochAndRounds []*FeedEpochAndRound `protobuf:"bytes,3,rep,name=latest_epoch_and_rounds,json=latestEpochAndRounds,proto3" json:"latest_epoch_and_rounds,omitempty"` // feed_transmissions stores the last transmission for each feed FeedTransmissions []*FeedTransmission `protobuf:"bytes,4,rep,name=feed_transmissions,json=feedTransmissions,proto3" json:"feed_transmissions,omitempty"` - // latest_aggregator_round_ids stores the latest aggregator round ID for each feedId + // latest_aggregator_round_ids stores the latest aggregator round ID for each + // feedId LatestAggregatorRoundIds []*FeedLatestAggregatorRoundIDs `protobuf:"bytes,5,rep,name=latest_aggregator_round_ids,json=latestAggregatorRoundIds,proto3" json:"latest_aggregator_round_ids,omitempty"` // reward_pools stores the reward pools RewardPools []*RewardPool `protobuf:"bytes,6,rep,name=reward_pools,json=rewardPools,proto3" json:"reward_pools,omitempty"` diff --git a/chain/ocr/types/key.go b/chain/ocr/types/key.go index c65e35c2..480c78c7 100644 --- a/chain/ocr/types/key.go +++ b/chain/ocr/types/key.go @@ -35,6 +35,7 @@ var ( TransmissionsCountPrefix = []byte{0x08} PayeePrefix = []byte{0x09} PendingPayeeTransferPrefix = []byte{0x10} + ParamsKey = []byte{0x11} ) func GetFeedConfigKey(feedId string) []byte { diff --git a/chain/ocr/types/msgs.go b/chain/ocr/types/msgs.go index c03d89f5..836a1c4a 100644 --- a/chain/ocr/types/msgs.go +++ b/chain/ocr/types/msgs.go @@ -1,6 +1,7 @@ package types import ( + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) @@ -14,6 +15,7 @@ const ( TypeMsgSetPayees = "setPayees" TypeMsgTransferPayeeship = "transferPayeeship" TypeMsgAcceptPayeeship = "acceptPayeeship" + TypeMsgUpdateParams = "updateParams" ) var ( @@ -25,8 +27,43 @@ var ( _ sdk.Msg = &MsgSetPayees{} _ sdk.Msg = &MsgTransferPayeeship{} _ sdk.Msg = &MsgAcceptPayeeship{} + _ sdk.Msg = &MsgUpdateParams{} ) +// Route implements the sdk.Msg interface. It should return the name of the module +func (msg MsgUpdateParams) Route() string { return RouterKey } + +// Type implements the sdk.Msg interface. It should return the action. +func (msg MsgUpdateParams) Type() string { return TypeMsgUpdateParams } + +// ValidateBasic implements the sdk.Msg interface for MsgUpdateParams. +func (msg MsgUpdateParams) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Authority); err != nil { + return errors.Wrap(err, "invalid authority address") + } + + if err := msg.Params.Validate(); err != nil { + return err + } + + return nil +} + +// GetSignBytes implements the sdk.Msg interface. It encodes the message for signing +func (msg *MsgUpdateParams) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) +} + +// GetSigners implements the sdk.Msg interface. It defines whose signature is required +func (msg MsgUpdateParams) GetSigners() []sdk.AccAddress { + sender, err := sdk.AccAddressFromBech32(msg.Authority) + if err != nil { + panic(err) + } + + return []sdk.AccAddress{sender} +} + // Route implements the sdk.Msg interface. It should return the name of the module func (msg MsgCreateFeed) Route() string { return RouterKey } @@ -36,7 +73,7 @@ func (msg MsgCreateFeed) Type() string { return TypeMsgCreateFeed } // ValidateBasic implements the sdk.Msg interface for MsgCreateFeed. func (msg MsgCreateFeed) ValidateBasic() error { if msg.Sender == "" { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if err := msg.Config.ValidateBasic(); err != nil { @@ -70,11 +107,11 @@ func (msg MsgUpdateFeed) Type() string { return TypeMsgUpdateFeed } // ValidateBasic implements the sdk.Msg interface for MsgUpdateFeed. func (msg MsgUpdateFeed) ValidateBasic() error { if msg.Sender == "" { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.FeedId == "" || len(msg.FeedId) > FeedIDMaxLength { - return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "feedId not valid") + return errors.Wrap(sdkerrors.ErrInvalidRequest, "feedId not valid") } seenTransmitters := make(map[string]struct{}, len(msg.Transmitters)) @@ -107,13 +144,13 @@ func (msg MsgUpdateFeed) ValidateBasic() error { if msg.LinkPerTransmission != nil { if msg.LinkPerTransmission.IsNil() || !msg.LinkPerTransmission.IsPositive() { - return sdkerrors.Wrap(ErrIncorrectConfig, "LinkPerTransmission must be positive") + return errors.Wrap(ErrIncorrectConfig, "LinkPerTransmission must be positive") } } if msg.LinkPerObservation != nil { if msg.LinkPerObservation.IsNil() || !msg.LinkPerObservation.IsPositive() { - return sdkerrors.Wrap(ErrIncorrectConfig, "LinkPerObservation must be positive") + return errors.Wrap(ErrIncorrectConfig, "LinkPerObservation must be positive") } } @@ -165,27 +202,27 @@ func (msg MsgTransmit) ValidateBasic() error { switch { case len(msg.ConfigDigest) == 0: - return sdkerrors.Wrap(ErrIncorrectTransmissionData, "missing config digest") + return errors.Wrap(ErrIncorrectTransmissionData, "missing config digest") case msg.FeedId == "": - return sdkerrors.Wrap(ErrIncorrectTransmissionData, "missing feed hash") + return errors.Wrap(ErrIncorrectTransmissionData, "missing feed hash") case msg.Report == nil: - return sdkerrors.Wrap(ErrIncorrectTransmissionData, "missing report") + return errors.Wrap(ErrIncorrectTransmissionData, "missing report") } if len(msg.Report.Observers) > MaxNumOracles { - return sdkerrors.Wrap(ErrIncorrectTransmissionData, "too many observers") + return errors.Wrap(ErrIncorrectTransmissionData, "too many observers") } else if len(msg.Report.Observations) != len(msg.Report.Observers) { - return sdkerrors.Wrap(ErrIncorrectTransmissionData, "wrong observations count") + return errors.Wrap(ErrIncorrectTransmissionData, "wrong observations count") } if len(msg.Report.Observations) > MaxNumOracles { - return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "num observations out of bounds") + return errors.Wrap(sdkerrors.ErrInvalidRequest, "num observations out of bounds") } for i := 0; i < len(msg.Report.Observations)-1; i++ { inOrder := msg.Report.Observations[i].LTE(msg.Report.Observations[i+1]) if !inOrder { - return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "observations not sorted") + return errors.Wrap(sdkerrors.ErrInvalidRequest, "observations not sorted") } } return nil @@ -215,15 +252,15 @@ func (msg MsgFundFeedRewardPool) Type() string { return TypeMsgFundFeedRewardPoo // ValidateBasic implements the sdk.Msg interface for MsgFundFeedRewardPool. func (msg MsgFundFeedRewardPool) ValidateBasic() error { if msg.Sender == "" { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.FeedId == "" || len(msg.FeedId) > FeedIDMaxLength { - return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "feedId not valid") + return errors.Wrap(sdkerrors.ErrInvalidRequest, "feedId not valid") } if !msg.Amount.IsValid() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) } return nil @@ -253,15 +290,15 @@ func (msg MsgWithdrawFeedRewardPool) Type() string { return TypeMsgWithdrawFeedR // ValidateBasic implements the sdk.Msg interface for MsgWithdrawFeedRewardPool. func (msg MsgWithdrawFeedRewardPool) ValidateBasic() error { if msg.Sender == "" { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.FeedId == "" || len(msg.FeedId) > FeedIDMaxLength { - return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "feedId not valid") + return errors.Wrap(sdkerrors.ErrInvalidRequest, "feedId not valid") } if !msg.Amount.IsValid() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) } return nil @@ -291,11 +328,11 @@ func (msg MsgSetPayees) Type() string { return TypeMsgSetPayees } // ValidateBasic implements the sdk.Msg interface for MsgSetPayees. func (msg MsgSetPayees) ValidateBasic() error { if msg.Sender == "" { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.FeedId == "" || len(msg.FeedId) > FeedIDMaxLength { - return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "feedId not valid") + return errors.Wrap(sdkerrors.ErrInvalidRequest, "feedId not valid") } if len(msg.Transmitters) != len(msg.Payees) || len(msg.Payees) == 0 { @@ -357,23 +394,23 @@ func (msg MsgTransferPayeeship) Type() string { return TypeMsgTransferPayeeship // ValidateBasic implements the sdk.Msg interface for MsgTransferPayeeship. func (msg MsgTransferPayeeship) ValidateBasic() error { if msg.Sender == "" { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.FeedId == "" || len(msg.FeedId) > FeedIDMaxLength { - return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "feedId not valid") + return errors.Wrap(sdkerrors.ErrInvalidRequest, "feedId not valid") } if _, err := sdk.AccAddressFromBech32(msg.Transmitter); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Transmitter) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Transmitter) } if _, err := sdk.AccAddressFromBech32(msg.Proposed); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Proposed) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Proposed) } if msg.Transmitter == msg.Proposed { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, "proposed cannot be the same as transmitter") + return errors.Wrap(sdkerrors.ErrInvalidAddress, "proposed cannot be the same as transmitter") } return nil @@ -403,15 +440,15 @@ func (msg MsgAcceptPayeeship) Type() string { return TypeMsgAcceptPayeeship } // ValidateBasic implements the sdk.Msg interface for MsgAcceptPayeeship. func (msg MsgAcceptPayeeship) ValidateBasic() error { if msg.Payee == "" { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Payee) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Payee) } if msg.FeedId == "" || len(msg.FeedId) > FeedIDMaxLength { - return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "feedId not valid") + return errors.Wrap(sdkerrors.ErrInvalidRequest, "feedId not valid") } if _, err := sdk.AccAddressFromBech32(msg.Transmitter); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Transmitter) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Transmitter) } return nil diff --git a/chain/ocr/types/ocr.pb.go b/chain/ocr/types/ocr.pb.go index 709390c1..d80ac284 100644 --- a/chain/ocr/types/ocr.pb.go +++ b/chain/ocr/types/ocr.pb.go @@ -5,11 +5,12 @@ package types import ( fmt "fmt" + _ "github.com/cosmos/cosmos-proto" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" - github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" + github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types" _ "google.golang.org/protobuf/types/known/timestamppb" io "io" math "math" @@ -95,15 +96,19 @@ func (m *Params) GetModuleAdmin() string { type FeedConfig struct { // signers ith element is address ith oracle uses to sign a report Signers []string `protobuf:"bytes,1,rep,name=signers,proto3" json:"signers,omitempty"` - // transmitters ith element is address ith oracle uses to transmit a report via the transmit method + // transmitters ith element is address ith oracle uses to transmit a report + // via the transmit method Transmitters []string `protobuf:"bytes,2,rep,name=transmitters,proto3" json:"transmitters,omitempty"` - // f maximum number of faulty/dishonest oracles the protocol can tolerate while still working correctly + // f maximum number of faulty/dishonest oracles the protocol can tolerate + // while still working correctly F uint32 `protobuf:"varint,3,opt,name=f,proto3" json:"f,omitempty"` // onchain_config serialized data with reporting plugin params on chain. OnchainConfig []byte `protobuf:"bytes,4,opt,name=onchain_config,json=onchainConfig,proto3" json:"onchain_config,omitempty"` - // offchain_config_version version of the serialization format used for "offchain_config" parameter + // offchain_config_version version of the serialization format used for + // "offchain_config" parameter OffchainConfigVersion uint64 `protobuf:"varint,5,opt,name=offchain_config_version,json=offchainConfigVersion,proto3" json:"offchain_config_version,omitempty"` - // offchain_config serialized data used by oracles to configure their offchain operation + // offchain_config serialized data used by oracles to configure their offchain + // operation OffchainConfig []byte `protobuf:"bytes,6,opt,name=offchain_config,json=offchainConfig,proto3" json:"offchain_config,omitempty"` // feed-specific params for the Cosmos module. ModuleParams *ModuleParams `protobuf:"bytes,7,opt,name=module_params,json=moduleParams,proto3" json:"module_params,omitempty"` @@ -195,7 +200,8 @@ type FeedConfigInfo struct { LatestConfigDigest []byte `protobuf:"bytes,1,opt,name=latest_config_digest,json=latestConfigDigest,proto3" json:"latest_config_digest,omitempty"` F uint32 `protobuf:"varint,2,opt,name=f,proto3" json:"f,omitempty"` N uint32 `protobuf:"varint,3,opt,name=n,proto3" json:"n,omitempty"` - // config_count ordinal number of this config setting among all config settings + // config_count ordinal number of this config setting among all config + // settings ConfigCount uint64 `protobuf:"varint,4,opt,name=config_count,json=configCount,proto3" json:"config_count,omitempty"` LatestConfigBlockNumber int64 `protobuf:"varint,5,opt,name=latest_config_block_number,json=latestConfigBlockNumber,proto3" json:"latest_config_block_number,omitempty"` } @@ -283,7 +289,8 @@ type ModuleParams struct { LinkDenom string `protobuf:"bytes,6,opt,name=link_denom,json=linkDenom,proto3" json:"link_denom,omitempty"` // Enables unique reports UniqueReports bool `protobuf:"varint,7,opt,name=unique_reports,json=uniqueReports,proto3" json:"unique_reports,omitempty"` - // short human-readable description of observable this feed's answers pertain to + // short human-readable description of observable this feed's answers pertain + // to Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"` // feed administrator FeedAdmin string `protobuf:"bytes,9,opt,name=feed_admin,json=feedAdmin,proto3" json:"feed_admin,omitempty"` @@ -367,19 +374,24 @@ func (m *ModuleParams) GetBillingAdmin() string { } type ContractConfig struct { - // config_count ordinal number of this config setting among all config settings + // config_count ordinal number of this config setting among all config + // settings ConfigCount uint64 `protobuf:"varint,1,opt,name=config_count,json=configCount,proto3" json:"config_count,omitempty"` // signers ith element is address ith oracle uses to sign a report Signers []string `protobuf:"bytes,2,rep,name=signers,proto3" json:"signers,omitempty"` - // transmitters ith element is address ith oracle uses to transmit a report via the transmit method + // transmitters ith element is address ith oracle uses to transmit a report + // via the transmit method Transmitters []string `protobuf:"bytes,3,rep,name=transmitters,proto3" json:"transmitters,omitempty"` - // f maximum number of faulty/dishonest oracles the protocol can tolerate while still working correctly + // f maximum number of faulty/dishonest oracles the protocol can tolerate + // while still working correctly F uint32 `protobuf:"varint,4,opt,name=f,proto3" json:"f,omitempty"` // onchain_config serialized data with reporting plugin params on chain. OnchainConfig []byte `protobuf:"bytes,5,opt,name=onchain_config,json=onchainConfig,proto3" json:"onchain_config,omitempty"` - // offchain_config_version version of the serialization format used for "offchain_config" parameter + // offchain_config_version version of the serialization format used for + // "offchain_config" parameter OffchainConfigVersion uint64 `protobuf:"varint,6,opt,name=offchain_config_version,json=offchainConfigVersion,proto3" json:"offchain_config_version,omitempty"` - // offchain_config serialized data used by oracles to configure their offchain operation + // offchain_config serialized data used by oracles to configure their offchain + // operation OffchainConfig []byte `protobuf:"bytes,7,opt,name=offchain_config,json=offchainConfig,proto3" json:"offchain_config,omitempty"` } @@ -507,13 +519,16 @@ var xxx_messageInfo_SetConfigProposal proto.InternalMessageInfo type FeedProperties struct { // feed_id is an unique ID for the target of this config FeedId string `protobuf:"bytes,1,opt,name=feed_id,json=feedId,proto3" json:"feed_id,omitempty"` - // f maximum number of faulty/dishonest oracles the protocol can tolerate while still working correctly + // f maximum number of faulty/dishonest oracles the protocol can tolerate + // while still working correctly F uint32 `protobuf:"varint,2,opt,name=f,proto3" json:"f,omitempty"` // onchain_config serialized data with reporting plugin params on chain. OnchainConfig []byte `protobuf:"bytes,3,opt,name=onchain_config,json=onchainConfig,proto3" json:"onchain_config,omitempty"` - // offchain_config_version version of the serialization format used for "offchain_config" parameter + // offchain_config_version version of the serialization format used for + // "offchain_config" parameter OffchainConfigVersion uint64 `protobuf:"varint,4,opt,name=offchain_config_version,json=offchainConfigVersion,proto3" json:"offchain_config_version,omitempty"` - // offchain_config serialized data used by oracles to configure their offchain operation + // offchain_config serialized data used by oracles to configure their offchain + // operation OffchainConfig []byte `protobuf:"bytes,5,opt,name=offchain_config,json=offchainConfig,proto3" json:"offchain_config,omitempty"` // lowest answer the median of a report is allowed to be MinAnswer github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,opt,name=min_answer,json=minAnswer,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_answer"` @@ -525,7 +540,8 @@ type FeedProperties struct { LinkPerTransmission github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,9,opt,name=link_per_transmission,json=linkPerTransmission,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"link_per_transmission"` // Enables unique reports UniqueReports bool `protobuf:"varint,10,opt,name=unique_reports,json=uniqueReports,proto3" json:"unique_reports,omitempty"` - // short human-readable description of observable this feed's answers pertain to + // short human-readable description of observable this feed's answers pertain + // to Description string `protobuf:"bytes,11,opt,name=description,proto3" json:"description,omitempty"` } @@ -616,7 +632,8 @@ type SetBatchConfigProposal struct { Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` // signers ith element is address ith oracle uses to sign a report Signers []string `protobuf:"bytes,3,rep,name=signers,proto3" json:"signers,omitempty"` - // transmitters ith element is address ith oracle uses to transmit a report via the transmit method + // transmitters ith element is address ith oracle uses to transmit a report + // via the transmit method Transmitters []string `protobuf:"bytes,4,rep,name=transmitters,proto3" json:"transmitters,omitempty"` // Native denom for LINK coin in the bank keeper LinkDenom string `protobuf:"bytes,5,opt,name=link_denom,json=linkDenom,proto3" json:"link_denom,omitempty"` @@ -1344,7 +1361,8 @@ func (m *EventNewTransmission) GetEpochAndRound() *EpochAndRound { type EventConfigSet struct { // hash of the config ConfigDigest []byte `protobuf:"bytes,1,opt,name=config_digest,json=configDigest,proto3" json:"config_digest,omitempty"` - // previous_config_block_number block in which the previous config was set, to simplify historic analysis + // previous_config_block_number block in which the previous config was set, to + // simplify historic analysis PreviousConfigBlockNumber int64 `protobuf:"varint,2,opt,name=previous_config_block_number,json=previousConfigBlockNumber,proto3" json:"previous_config_block_number,omitempty"` Config *FeedConfig `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"` ConfigInfo *FeedConfigInfo `protobuf:"bytes,4,opt,name=config_info,json=configInfo,proto3" json:"config_info,omitempty"` @@ -1438,106 +1456,107 @@ func init() { func init() { proto.RegisterFile("injective/ocr/v1beta1/ocr.proto", fileDescriptor_0acb79560f1720fa) } var fileDescriptor_0acb79560f1720fa = []byte{ - // 1574 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x3b, 0x70, 0x13, 0xd7, - 0x1a, 0xf6, 0x4a, 0xb2, 0x6c, 0xfd, 0x7a, 0x18, 0x16, 0x1b, 0x84, 0x07, 0x2c, 0xb1, 0x5c, 0xee, - 0xf5, 0x2d, 0x90, 0x2e, 0xbe, 0x93, 0x64, 0x02, 0x45, 0xc6, 0x36, 0x10, 0x34, 0xc3, 0xc3, 0xb3, - 0x36, 0x14, 0x69, 0x36, 0x47, 0xbb, 0x47, 0xf2, 0x06, 0xe9, 0x9c, 0xcd, 0x39, 0x47, 0x06, 0xf7, - 0x99, 0x49, 0x4a, 0x8a, 0x4c, 0x6a, 0xea, 0x74, 0xa9, 0xd2, 0xa5, 0x4a, 0x41, 0x49, 0x99, 0x49, - 0x41, 0x32, 0x30, 0x99, 0xa1, 0xc8, 0xa4, 0x4f, 0x97, 0x39, 0x8f, 0x95, 0x56, 0x0f, 0x6b, 0x10, - 0x86, 0x4a, 0x7b, 0xfe, 0xf7, 0xfe, 0x8f, 0xef, 0xfc, 0x2b, 0xa8, 0x84, 0xe4, 0x0b, 0xec, 0x8b, - 0xf0, 0x00, 0xd7, 0xa9, 0xcf, 0xea, 0x07, 0x57, 0x9a, 0x58, 0xa0, 0x2b, 0xf2, 0xb9, 0x16, 0x31, - 0x2a, 0xa8, 0xbd, 0xd2, 0x17, 0xa8, 0x49, 0xa2, 0x11, 0x58, 0x5d, 0x6e, 0xd3, 0x36, 0x55, 0x12, - 0x75, 0xf9, 0xa4, 0x85, 0x57, 0x2b, 0x6d, 0x4a, 0xdb, 0x1d, 0x5c, 0x57, 0xa7, 0x66, 0xaf, 0x55, - 0x17, 0x61, 0x17, 0x73, 0x81, 0xba, 0x91, 0x11, 0x58, 0xf3, 0x29, 0xef, 0x52, 0x5e, 0x6f, 0x22, - 0x8e, 0xfb, 0xce, 0x7c, 0x1a, 0x12, 0xcd, 0x77, 0xbe, 0xb2, 0x20, 0xbb, 0x83, 0x18, 0xea, 0x72, - 0xfb, 0x3c, 0x40, 0x27, 0x24, 0x0f, 0xbd, 0x00, 0x13, 0xda, 0x2d, 0x5b, 0x55, 0x6b, 0x3d, 0xe7, - 0xe6, 0x24, 0xe5, 0xba, 0x24, 0xd8, 0x1b, 0xb0, 0x12, 0xa1, 0x43, 0xda, 0x13, 0x5e, 0xb3, 0x43, - 0xfd, 0x87, 0x5e, 0x48, 0x04, 0x66, 0x07, 0xa8, 0x53, 0x4e, 0x55, 0xad, 0xf5, 0x8c, 0x7b, 0x4a, - 0x33, 0xb7, 0x24, 0xaf, 0x61, 0x58, 0xf6, 0x05, 0x28, 0x74, 0x69, 0xd0, 0xeb, 0x60, 0x0f, 0x05, - 0xdd, 0x90, 0x94, 0xd3, 0xca, 0x68, 0x5e, 0xd3, 0x36, 0x25, 0xe9, 0x6a, 0xe6, 0xf5, 0xd3, 0x8a, - 0xe5, 0x7c, 0x9f, 0x02, 0xb8, 0x89, 0x71, 0xb0, 0x4d, 0x49, 0x2b, 0x6c, 0xdb, 0x65, 0x58, 0xe0, - 0x61, 0x9b, 0x60, 0xc6, 0xcb, 0x56, 0x35, 0xbd, 0x9e, 0x73, 0xe3, 0xa3, 0xed, 0x40, 0x41, 0x30, - 0x44, 0x78, 0x37, 0x14, 0x42, 0xb2, 0x53, 0x8a, 0x3d, 0x44, 0xb3, 0x0b, 0x60, 0xb5, 0x94, 0xab, - 0xa2, 0x6b, 0xb5, 0xec, 0x4b, 0x50, 0xa2, 0xc4, 0xdf, 0x47, 0x21, 0xf1, 0x7c, 0x65, 0xbd, 0x9c, - 0xa9, 0x5a, 0xeb, 0x05, 0xb7, 0x68, 0xa8, 0xc6, 0xe5, 0x87, 0x70, 0x86, 0xb6, 0x5a, 0x49, 0x39, - 0xef, 0x00, 0x33, 0x1e, 0x52, 0x52, 0x9e, 0x57, 0x2f, 0xb8, 0x12, 0xb3, 0xb5, 0xc2, 0x03, 0xcd, - 0xb4, 0xff, 0x03, 0x4b, 0x23, 0x7a, 0xe5, 0xac, 0xb2, 0x5f, 0x1a, 0x96, 0xb7, 0x6f, 0x41, 0xd1, - 0xe4, 0x22, 0x52, 0xf9, 0x2e, 0x2f, 0x54, 0xad, 0xf5, 0xfc, 0xc6, 0xc5, 0xda, 0xc4, 0x7a, 0xd7, - 0xee, 0x28, 0x59, 0x5d, 0x1a, 0xd7, 0x64, 0x51, 0x9f, 0x9c, 0x9f, 0x2c, 0x28, 0x0d, 0x92, 0xd5, - 0x20, 0x2d, 0x6a, 0xff, 0x0f, 0x96, 0x3b, 0x48, 0x60, 0x2e, 0xe2, 0xd8, 0x83, 0xb0, 0x8d, 0xb9, - 0x50, 0x55, 0x2c, 0xb8, 0xb6, 0xe6, 0x69, 0xf9, 0xeb, 0x8a, 0xa3, 0x93, 0x94, 0x8a, 0x93, 0x54, - 0x00, 0x8b, 0xc4, 0x29, 0x23, 0xb2, 0x6c, 0xc6, 0x8c, 0x4f, 0x7b, 0x44, 0xa8, 0x84, 0x65, 0xdc, - 0xbc, 0xa6, 0x6d, 0x4b, 0x92, 0x7d, 0x0d, 0x56, 0x87, 0x1d, 0xea, 0xa6, 0x20, 0xbd, 0x6e, 0x13, - 0x33, 0x95, 0xb1, 0xb4, 0x7b, 0x26, 0xe9, 0x56, 0x35, 0xc6, 0x5d, 0xc5, 0x76, 0x7e, 0xcc, 0x40, - 0x21, 0xf9, 0x7e, 0xf6, 0x19, 0x58, 0x68, 0x61, 0x1c, 0x78, 0x61, 0x60, 0xfa, 0x2e, 0x2b, 0x8f, - 0x8d, 0xc0, 0xbe, 0x03, 0xd0, 0x0d, 0x89, 0x87, 0x08, 0x7f, 0x84, 0x99, 0x0a, 0x37, 0xb7, 0x55, - 0x7b, 0xf6, 0xa2, 0x32, 0xf7, 0xeb, 0x8b, 0xca, 0xbf, 0xdb, 0xa1, 0xd8, 0xef, 0x35, 0x6b, 0x3e, - 0xed, 0xd6, 0x4d, 0x97, 0xeb, 0x9f, 0xcb, 0x3c, 0x78, 0x58, 0x17, 0x87, 0x11, 0xe6, 0xb5, 0xeb, - 0xd8, 0x77, 0x73, 0xdd, 0x90, 0x6c, 0x2a, 0x03, 0xca, 0x1c, 0x7a, 0x1c, 0x9b, 0x4b, 0xbf, 0xa5, - 0x39, 0xf4, 0xd8, 0x98, 0xfb, 0x1c, 0x96, 0xd5, 0xc4, 0x44, 0x98, 0x79, 0xb4, 0xc9, 0x65, 0xcf, - 0x0b, 0xd9, 0x30, 0x99, 0x99, 0x0d, 0x37, 0x88, 0x70, 0x6d, 0x69, 0x6b, 0x07, 0xb3, 0x7b, 0x03, - 0x4b, 0x76, 0x13, 0x56, 0xfa, 0x1e, 0x4c, 0x8f, 0xf3, 0x7e, 0x4f, 0xce, 0xee, 0xe2, 0x94, 0x71, - 0xb1, 0x97, 0x30, 0x35, 0x32, 0xf7, 0xd9, 0xd1, 0xb9, 0xbf, 0x04, 0xa5, 0x1e, 0x09, 0xbf, 0xec, - 0x61, 0x8f, 0xe1, 0x88, 0x32, 0xa1, 0x1b, 0x77, 0xd1, 0x2d, 0x6a, 0xaa, 0xab, 0x89, 0x76, 0x15, - 0xf2, 0x01, 0xe6, 0x3e, 0x0b, 0x23, 0x95, 0x82, 0x45, 0x3d, 0xe9, 0x09, 0x92, 0xf4, 0xa3, 0x8a, - 0xac, 0xa1, 0x20, 0xa7, 0xfd, 0x48, 0x8a, 0x02, 0x02, 0xfb, 0x22, 0x14, 0x9b, 0x61, 0xa7, 0x13, - 0x92, 0xb6, 0x91, 0x00, 0x25, 0x51, 0x30, 0x44, 0x25, 0xe4, 0x7c, 0x9d, 0x82, 0xd2, 0x36, 0x25, - 0x82, 0x21, 0xdf, 0xf4, 0xd5, 0x58, 0xb3, 0x5a, 0xe3, 0xcd, 0x9a, 0x80, 0x93, 0xd4, 0x74, 0x38, - 0x49, 0x1f, 0x05, 0x27, 0x99, 0xa3, 0xe1, 0x64, 0x7e, 0x46, 0x38, 0xc9, 0xce, 0x08, 0x27, 0x0b, - 0x93, 0xe0, 0xc4, 0x79, 0x62, 0xc1, 0xc9, 0x5d, 0x6c, 0x92, 0xb0, 0xc3, 0x68, 0x44, 0x39, 0xea, - 0xd8, 0xcb, 0x30, 0x2f, 0x42, 0xd1, 0xc1, 0x66, 0x8c, 0xf4, 0x61, 0xb4, 0x36, 0xa9, 0xf1, 0xda, - 0x7c, 0x0c, 0x59, 0xe3, 0x2d, 0xad, 0x50, 0xe9, 0xc2, 0x11, 0xa8, 0x34, 0x80, 0x1d, 0xd7, 0x28, - 0x5c, 0x5d, 0xfc, 0xe6, 0x69, 0x65, 0xee, 0xf5, 0xd3, 0xca, 0x9c, 0xf3, 0x67, 0x46, 0xe3, 0x92, - 0x8c, 0x06, 0x33, 0x11, 0xe2, 0x29, 0x83, 0x3d, 0x0c, 0x3f, 0xe3, 0x49, 0x4d, 0xcf, 0x98, 0xd4, - 0xcc, 0x8c, 0x49, 0x9d, 0x9f, 0x88, 0xd1, 0xc3, 0x70, 0x93, 0x7d, 0xb7, 0x70, 0xb3, 0xf0, 0xbe, - 0xe0, 0x66, 0xf1, 0xfd, 0xc3, 0x4d, 0xee, 0xdd, 0xc1, 0xcd, 0x38, 0x9e, 0xc0, 0x1b, 0xe0, 0x49, - 0x7e, 0xac, 0x67, 0x25, 0x16, 0x9c, 0xde, 0xc5, 0x62, 0x0b, 0x09, 0x7f, 0xff, 0x1d, 0x8d, 0x41, - 0x02, 0x28, 0xd2, 0xd3, 0x81, 0x22, 0x33, 0x01, 0x28, 0x86, 0x81, 0x74, 0x7e, 0x14, 0x48, 0xef, - 0xc2, 0x92, 0x9a, 0x85, 0xa8, 0x3f, 0x1e, 0xe5, 0x6c, 0x35, 0xbd, 0x9e, 0xdf, 0xb8, 0x34, 0x65, - 0xd8, 0x06, 0xb3, 0xe4, 0x96, 0x5a, 0x43, 0xe7, 0xc4, 0xe0, 0x6d, 0x40, 0xf9, 0x1e, 0x43, 0x7e, - 0x07, 0x27, 0x6a, 0xc9, 0x15, 0xf4, 0x71, 0xfb, 0xb4, 0x9c, 0x6c, 0xf9, 0xa4, 0x36, 0xa9, 0xa2, - 0x6b, 0x4e, 0xce, 0x03, 0x38, 0xf9, 0x29, 0xe2, 0x2e, 0x0e, 0xbb, 0xcd, 0x1e, 0xe3, 0xb8, 0x8b, - 0xa5, 0xf0, 0x26, 0x94, 0xd8, 0x10, 0x45, 0x29, 0xe5, 0x37, 0xce, 0xd6, 0x74, 0x7d, 0x6b, 0x72, - 0x8d, 0xec, 0xc7, 0xb7, 0x4d, 0x43, 0xe2, 0x8e, 0x28, 0x38, 0xf7, 0x61, 0x7e, 0x07, 0x1d, 0x62, - 0x6c, 0xff, 0x17, 0x4e, 0x24, 0xb2, 0xe3, 0xa1, 0x20, 0x60, 0xa6, 0x1c, 0x4b, 0x09, 0xfa, 0x66, - 0x10, 0x30, 0x09, 0xe1, 0x11, 0x3a, 0x94, 0xfa, 0x5a, 0xcc, 0x54, 0xc6, 0xd0, 0xa4, 0x88, 0xf3, - 0xb3, 0x05, 0x85, 0xa1, 0x36, 0xba, 0x09, 0x59, 0x33, 0x57, 0xd6, 0x5b, 0xcd, 0x95, 0xd1, 0xb6, - 0x3f, 0x80, 0xd3, 0x89, 0x59, 0xe2, 0x5e, 0x7f, 0x81, 0x56, 0x51, 0xa4, 0xdd, 0x95, 0x24, 0x77, - 0x2f, 0x66, 0x4a, 0xb5, 0xe4, 0x80, 0x24, 0xd4, 0xd2, 0x5a, 0x2d, 0xc9, 0xed, 0xab, 0x39, 0xd7, - 0xa0, 0x78, 0x23, 0xa2, 0xfe, 0xfe, 0x26, 0x09, 0x5c, 0xda, 0x23, 0x81, 0xec, 0x54, 0x2c, 0x09, - 0xe6, 0xda, 0xd2, 0x07, 0x49, 0x65, 0x92, 0x6d, 0x76, 0x6b, 0x7d, 0x70, 0x7e, 0xb0, 0x20, 0xab, - 0xc7, 0x63, 0x4a, 0xd4, 0xd6, 0xb4, 0xa8, 0xcf, 0x41, 0x4e, 0x33, 0xf4, 0x55, 0x28, 0x21, 0x70, - 0x40, 0xb0, 0x5d, 0x28, 0x24, 0xd5, 0xf4, 0x08, 0xcc, 0x9c, 0xd8, 0x21, 0x1b, 0xce, 0x77, 0x16, - 0x14, 0x74, 0xcc, 0x7b, 0x74, 0x37, 0x6c, 0xab, 0x6b, 0x7e, 0xd2, 0x8a, 0x6a, 0xee, 0x70, 0xb3, - 0x9c, 0xf6, 0xb3, 0x92, 0x9a, 0x98, 0x95, 0x74, 0x22, 0x2b, 0x72, 0xea, 0xf0, 0x63, 0xc1, 0x90, - 0xb7, 0x8f, 0xf8, 0xbe, 0xd9, 0xed, 0x73, 0x8a, 0x72, 0x0b, 0xf1, 0x7d, 0xd9, 0xff, 0x1a, 0x67, - 0x0c, 0xe4, 0x9b, 0x93, 0xf3, 0xad, 0x05, 0x4b, 0x37, 0x0e, 0x30, 0x11, 0x7a, 0x72, 0x76, 0x50, - 0x18, 0xcc, 0xd2, 0xb2, 0xe7, 0x01, 0x22, 0xd9, 0xe6, 0xc9, 0x86, 0xcd, 0x29, 0x8a, 0x62, 0x7f, - 0x04, 0x59, 0xd4, 0x55, 0xeb, 0x88, 0xbe, 0x4f, 0x8f, 0x1e, 0xa0, 0xad, 0x8c, 0xcc, 0xaf, 0x6b, - 0xc4, 0x9d, 0xbf, 0x2c, 0xb0, 0x55, 0x58, 0x1a, 0xf3, 0xef, 0x47, 0x01, 0x12, 0x38, 0xb0, 0x6f, - 0xc1, 0x82, 0xdf, 0x63, 0x0c, 0x9b, 0xfd, 0x66, 0x76, 0x28, 0x8e, 0xd5, 0xed, 0x06, 0x2c, 0xaa, - 0xbc, 0xc9, 0x2b, 0x39, 0xf5, 0x76, 0xa6, 0x94, 0x7e, 0x23, 0xb0, 0xb7, 0x01, 0x7a, 0x3a, 0x3e, - 0x0f, 0xc5, 0x2f, 0xba, 0x5a, 0xd3, 0x5f, 0xa4, 0xb5, 0xf8, 0x8b, 0xb4, 0xd6, 0xef, 0xbe, 0xad, - 0x45, 0xe9, 0xe8, 0xc9, 0x6f, 0x15, 0xcb, 0xcd, 0x19, 0xbd, 0x4d, 0x21, 0x3f, 0x66, 0x8a, 0xea, - 0x85, 0xef, 0xe2, 0x47, 0x7a, 0x24, 0x92, 0x11, 0x5a, 0xc7, 0x8b, 0xf0, 0x3c, 0x00, 0x17, 0x88, - 0xc9, 0x08, 0x9b, 0x87, 0x71, 0x95, 0x0c, 0x65, 0xeb, 0x50, 0xbe, 0x40, 0xcc, 0x9e, 0xf5, 0x05, - 0x8c, 0xde, 0xa6, 0x70, 0xee, 0xc0, 0x09, 0x15, 0xff, 0x5e, 0xbf, 0x43, 0x82, 0x63, 0x34, 0xb9, - 0xf3, 0x47, 0x1a, 0x96, 0xe3, 0x7c, 0x0c, 0x01, 0xde, 0x91, 0xab, 0x54, 0x0d, 0x4e, 0xa1, 0x76, - 0x9b, 0xe1, 0x36, 0x12, 0x94, 0x79, 0x43, 0xc5, 0x2d, 0xba, 0x27, 0x07, 0x2c, 0xd7, 0x24, 0x65, - 0x80, 0x9c, 0xe9, 0x63, 0x21, 0x67, 0x15, 0xf2, 0x89, 0xa9, 0xd0, 0x1f, 0x3d, 0x6e, 0x92, 0x34, - 0x05, 0xa5, 0xe6, 0xa7, 0xa1, 0xd4, 0x28, 0x0e, 0x65, 0x8f, 0x8f, 0x43, 0xc3, 0xc8, 0xb7, 0x30, - 0x8a, 0x7c, 0x63, 0xf5, 0x5a, 0x9c, 0x50, 0xaf, 0xdb, 0xb0, 0xa4, 0x4a, 0xe4, 0x21, 0x12, 0xe8, - 0x34, 0xab, 0xb5, 0x28, 0xbf, 0xf1, 0xaf, 0x23, 0xee, 0xef, 0x21, 0xa4, 0x77, 0x8b, 0x38, 0x79, - 0x74, 0xfe, 0xb6, 0xa0, 0xa4, 0xea, 0xac, 0x57, 0x97, 0x5d, 0x2c, 0xde, 0xac, 0x6b, 0x3e, 0x81, - 0x73, 0x11, 0xc3, 0x07, 0x21, 0xed, 0xf1, 0x89, 0x9f, 0xde, 0xfa, 0xd6, 0x3a, 0x1b, 0xcb, 0x8c, - 0x7d, 0x7c, 0x1f, 0x63, 0xd5, 0xb7, 0x6f, 0x82, 0xf9, 0xac, 0xf2, 0x42, 0xd2, 0xa2, 0xaa, 0xe2, - 0xd3, 0xb7, 0x97, 0xc1, 0x3f, 0x14, 0x2e, 0xf8, 0xfd, 0xe7, 0x2d, 0xff, 0xd9, 0xcb, 0x35, 0xeb, - 0xf9, 0xcb, 0x35, 0xeb, 0xf7, 0x97, 0x6b, 0xd6, 0x93, 0x57, 0x6b, 0x73, 0xcf, 0x5f, 0xad, 0xcd, - 0xfd, 0xf2, 0x6a, 0x6d, 0xee, 0xb3, 0x46, 0xa2, 0xb8, 0x8d, 0xd8, 0xec, 0x6d, 0xd4, 0xe4, 0xf5, - 0xbe, 0x93, 0xcb, 0x3e, 0x65, 0x38, 0x79, 0x94, 0xfb, 0x7b, 0x5d, 0xff, 0x41, 0xc2, 0xd5, 0x7f, - 0x6a, 0xaa, 0x07, 0x9a, 0x59, 0x35, 0xc0, 0xff, 0xff, 0x27, 0x00, 0x00, 0xff, 0xff, 0xae, 0x33, - 0x35, 0xdd, 0x71, 0x13, 0x00, 0x00, + // 1599 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x3d, 0x6c, 0x1b, 0x55, + 0x1c, 0xcf, 0xd9, 0x8e, 0x13, 0xff, 0xfd, 0x91, 0xf6, 0x9a, 0xb4, 0x6e, 0xd4, 0xc6, 0xee, 0x95, + 0x96, 0x30, 0xd4, 0xa6, 0x41, 0x80, 0x68, 0x07, 0x94, 0xa4, 0x2d, 0xb5, 0xd4, 0x8f, 0xe8, 0x92, + 0x76, 0x60, 0x39, 0x9e, 0xef, 0x9e, 0x9d, 0xa3, 0xbe, 0xf7, 0x8e, 0x77, 0xcf, 0x69, 0xb3, 0x23, + 0xc1, 0xd8, 0x01, 0x31, 0x77, 0x61, 0x61, 0x40, 0x42, 0x42, 0x62, 0x63, 0x62, 0xa8, 0x98, 0x3a, + 0x22, 0x86, 0x82, 0x5a, 0x21, 0x75, 0x40, 0xec, 0x6c, 0xe8, 0x7d, 0x9c, 0x7d, 0xfe, 0x88, 0x55, + 0x37, 0xed, 0x14, 0xff, 0xbf, 0xdf, 0xfd, 0x3f, 0x7e, 0xef, 0xff, 0x02, 0x15, 0x9f, 0x7c, 0x8e, + 0x5d, 0xee, 0xef, 0xe1, 0x3a, 0x75, 0x59, 0x7d, 0xef, 0x62, 0x13, 0x73, 0x74, 0x51, 0xfc, 0xae, + 0x85, 0x8c, 0x72, 0x6a, 0x2e, 0xf5, 0x14, 0x6a, 0x82, 0xa9, 0x15, 0x96, 0x57, 0x5c, 0x1a, 0x05, + 0x34, 0xaa, 0x37, 0x51, 0x84, 0x7b, 0x56, 0x2e, 0xf5, 0x89, 0x32, 0x5b, 0x3e, 0xa9, 0xe4, 0x8e, + 0xa4, 0xea, 0x8a, 0xd0, 0xa2, 0xc5, 0x36, 0x6d, 0x53, 0xc5, 0x17, 0xbf, 0x34, 0xb7, 0xd2, 0xa6, + 0xb4, 0xdd, 0xc1, 0x75, 0x49, 0x35, 0xbb, 0xad, 0x3a, 0xf7, 0x03, 0x1c, 0x71, 0x14, 0x84, 0x4a, + 0xc1, 0xfa, 0xd2, 0x80, 0xec, 0x16, 0x62, 0x28, 0x88, 0xcc, 0xd3, 0x00, 0x1d, 0x9f, 0xdc, 0x73, + 0x3c, 0x4c, 0x68, 0x50, 0x36, 0xaa, 0xc6, 0x6a, 0xce, 0xce, 0x09, 0xce, 0x15, 0xc1, 0x30, 0xd7, + 0x60, 0x29, 0x44, 0xfb, 0xb4, 0xcb, 0x9d, 0x66, 0x87, 0xba, 0xf7, 0x1c, 0x9f, 0x70, 0xcc, 0xf6, + 0x50, 0xa7, 0x9c, 0xaa, 0x1a, 0xab, 0x19, 0xfb, 0x98, 0x12, 0x6e, 0x08, 0x59, 0x43, 0x8b, 0xcc, + 0x33, 0x50, 0x08, 0xa8, 0xd7, 0xed, 0x60, 0x07, 0x79, 0x81, 0x4f, 0xca, 0x69, 0xe9, 0x34, 0xaf, + 0x78, 0xeb, 0x82, 0x75, 0x29, 0xf3, 0xe2, 0x51, 0xc5, 0xb0, 0xbe, 0x4f, 0x01, 0x5c, 0xc3, 0xd8, + 0xdb, 0xa4, 0xa4, 0xe5, 0xb7, 0xcd, 0x32, 0xcc, 0x45, 0x7e, 0x9b, 0x60, 0x16, 0x95, 0x8d, 0x6a, + 0x7a, 0x35, 0x67, 0xc7, 0xa4, 0x69, 0x41, 0x81, 0x33, 0x44, 0xa2, 0xc0, 0xe7, 0x5c, 0x88, 0x53, + 0x52, 0x3c, 0xc0, 0x33, 0x0b, 0x60, 0xb4, 0x64, 0xa8, 0xa2, 0x6d, 0xb4, 0xcc, 0x73, 0x50, 0xa2, + 0xc4, 0xdd, 0x45, 0x3e, 0x71, 0x5c, 0xe9, 0xbd, 0x9c, 0xa9, 0x1a, 0xab, 0x05, 0xbb, 0xa8, 0xb9, + 0x3a, 0xe4, 0x07, 0x70, 0x82, 0xb6, 0x5a, 0x49, 0x3d, 0x67, 0x0f, 0xb3, 0xc8, 0xa7, 0xa4, 0x3c, + 0x2b, 0x3f, 0x70, 0x29, 0x16, 0x2b, 0x83, 0xbb, 0x4a, 0x68, 0xbe, 0x0d, 0x0b, 0x43, 0x76, 0xe5, + 0xac, 0xf4, 0x5f, 0x1a, 0xd4, 0x37, 0xaf, 0x43, 0x51, 0xe7, 0x22, 0x94, 0xf9, 0x2e, 0xcf, 0x55, + 0x8d, 0xd5, 0xfc, 0xda, 0xd9, 0xda, 0xd8, 0x56, 0xa8, 0xdd, 0x94, 0xba, 0xaa, 0x34, 0xb6, 0xce, + 0xa2, 0xa2, 0xac, 0x5f, 0x0c, 0x28, 0xf5, 0x93, 0xd5, 0x20, 0x2d, 0x6a, 0xbe, 0x0b, 0x8b, 0x1d, + 0xc4, 0x71, 0xc4, 0xe3, 0xb3, 0x7b, 0x7e, 0x1b, 0x47, 0x5c, 0x56, 0xb1, 0x60, 0x9b, 0x4a, 0xa6, + 0xf4, 0xaf, 0x48, 0x89, 0x4a, 0x52, 0x2a, 0x4e, 0x52, 0x01, 0x0c, 0x12, 0xa7, 0x8c, 0x88, 0xb2, + 0x69, 0x37, 0x2e, 0xed, 0x12, 0x2e, 0x13, 0x96, 0xb1, 0xf3, 0x8a, 0xb7, 0x29, 0x58, 0xe6, 0x65, + 0x58, 0x1e, 0x0c, 0xa8, 0x9a, 0x82, 0x74, 0x83, 0x26, 0x66, 0x32, 0x63, 0x69, 0xfb, 0x44, 0x32, + 0xac, 0x6c, 0x8c, 0x5b, 0x52, 0x6c, 0xfd, 0x9c, 0x81, 0x42, 0xf2, 0xfb, 0xcc, 0x13, 0x30, 0xd7, + 0xc2, 0xd8, 0x73, 0x7c, 0x4f, 0xf7, 0x5d, 0x56, 0x90, 0x0d, 0xcf, 0xbc, 0x09, 0x10, 0xf8, 0xc4, + 0x41, 0x24, 0xba, 0x8f, 0x99, 0x3c, 0x6e, 0x6e, 0xa3, 0xf6, 0xf8, 0x69, 0x65, 0xe6, 0x8f, 0xa7, + 0x95, 0xf3, 0x6d, 0x9f, 0xef, 0x76, 0x9b, 0x35, 0x97, 0x06, 0x7a, 0x14, 0xf4, 0x9f, 0x0b, 0x91, + 0x77, 0xaf, 0xce, 0xf7, 0x43, 0x1c, 0xd5, 0xae, 0x60, 0xd7, 0xce, 0x05, 0x3e, 0x59, 0x97, 0x0e, + 0xa4, 0x3b, 0xf4, 0x20, 0x76, 0x97, 0x7e, 0x45, 0x77, 0xe8, 0x81, 0x76, 0xf7, 0x19, 0x2c, 0xca, + 0x89, 0x09, 0x31, 0x73, 0x68, 0x33, 0x12, 0x3d, 0xcf, 0x45, 0xc3, 0x64, 0xa6, 0x76, 0xdc, 0x20, + 0xdc, 0x36, 0x85, 0xaf, 0x2d, 0xcc, 0x6e, 0xf7, 0x3d, 0x99, 0x4d, 0x58, 0xea, 0x45, 0xd0, 0x3d, + 0x1e, 0xf5, 0x7a, 0x72, 0xfa, 0x10, 0xc7, 0x74, 0x88, 0x9d, 0x84, 0xab, 0xa1, 0xb9, 0xcf, 0x0e, + 0xcf, 0xfd, 0x39, 0x28, 0x75, 0x89, 0xff, 0x45, 0x17, 0x3b, 0x0c, 0x87, 0x94, 0x71, 0xd5, 0xb8, + 0xf3, 0x76, 0x51, 0x71, 0x6d, 0xc5, 0x34, 0xab, 0x90, 0xf7, 0x70, 0xe4, 0x32, 0x3f, 0x94, 0x29, + 0x98, 0x57, 0x93, 0x9e, 0x60, 0x89, 0x38, 0xb2, 0xc8, 0x0a, 0x0a, 0x72, 0x2a, 0x8e, 0xe0, 0x48, + 0x20, 0x30, 0xcf, 0x42, 0xb1, 0xe9, 0x77, 0x3a, 0x3e, 0x69, 0x6b, 0x0d, 0x90, 0x1a, 0x05, 0xcd, + 0x94, 0x4a, 0xd6, 0x57, 0x29, 0x28, 0x6d, 0x52, 0xc2, 0x19, 0x72, 0x75, 0x5f, 0x8d, 0x34, 0xab, + 0x31, 0xda, 0xac, 0x09, 0x38, 0x49, 0x4d, 0x86, 0x93, 0xf4, 0x41, 0x70, 0x92, 0x39, 0x18, 0x4e, + 0x66, 0xa7, 0x84, 0x93, 0xec, 0x94, 0x70, 0x32, 0x37, 0x0e, 0x4e, 0xac, 0x1f, 0x0c, 0x38, 0xba, + 0x8d, 0x75, 0x12, 0xb6, 0x18, 0x0d, 0x69, 0x84, 0x3a, 0xe6, 0x22, 0xcc, 0x72, 0x9f, 0x77, 0xb0, + 0x1e, 0x23, 0x45, 0x0c, 0xd7, 0x26, 0x35, 0x5a, 0x9b, 0x8f, 0x20, 0xab, 0xa3, 0xa5, 0x25, 0x2a, + 0x9d, 0x39, 0x00, 0x95, 0xfa, 0xb0, 0x63, 0x6b, 0x83, 0x4b, 0xe7, 0xbf, 0x7e, 0x54, 0x99, 0x79, + 0xf1, 0xa8, 0x32, 0xf3, 0xdb, 0x4f, 0x17, 0x96, 0xf5, 0x95, 0xd4, 0xa6, 0x7b, 0x3d, 0x13, 0x51, + 0x2e, 0x4c, 0xb8, 0xf5, 0x4f, 0x46, 0xa1, 0x96, 0x38, 0x2b, 0x66, 0xdc, 0xc7, 0x13, 0xc6, 0x7e, + 0x10, 0x9c, 0x46, 0x53, 0x9e, 0x9e, 0x32, 0xe5, 0x99, 0x29, 0x53, 0x3e, 0x3b, 0x16, 0xc1, 0x07, + 0xc1, 0x28, 0xfb, 0x7a, 0xc1, 0x68, 0xee, 0x4d, 0x81, 0xd1, 0xfc, 0x9b, 0x07, 0xa3, 0xdc, 0xeb, + 0x03, 0xa3, 0x51, 0xb4, 0x81, 0x97, 0x40, 0x9b, 0xfc, 0x48, 0x47, 0x5b, 0xdf, 0xa5, 0xe0, 0xf8, + 0x36, 0xe6, 0x1b, 0x88, 0xbb, 0xbb, 0xaf, 0x69, 0x48, 0x12, 0x30, 0x92, 0x9e, 0x0c, 0x23, 0x99, + 0x31, 0x30, 0x32, 0x08, 0xb3, 0xb3, 0xc3, 0x30, 0x7b, 0x0b, 0x16, 0xe4, 0x2c, 0x84, 0xbd, 0xf1, + 0x28, 0x67, 0xab, 0xe9, 0xd5, 0xfc, 0xda, 0xb9, 0x09, 0xa3, 0xd8, 0x9f, 0x25, 0xbb, 0xd4, 0x1a, + 0xa0, 0x5f, 0x7a, 0x2c, 0xd7, 0xa0, 0x7c, 0x9b, 0x21, 0xb7, 0x83, 0x13, 0x95, 0x8e, 0x24, 0x6c, + 0x46, 0xe6, 0x71, 0x81, 0x0a, 0xe2, 0x97, 0xdc, 0xc2, 0x8a, 0xb6, 0xa6, 0xac, 0xbb, 0x70, 0xf4, + 0x13, 0x14, 0xd9, 0xd8, 0x0f, 0x9a, 0x5d, 0x16, 0xe1, 0x00, 0x0b, 0xe5, 0x75, 0x28, 0xb1, 0x01, + 0x8e, 0x34, 0xca, 0xaf, 0x9d, 0xac, 0xe9, 0xe8, 0x62, 0xa9, 0x4d, 0x84, 0xf7, 0x89, 0x3d, 0x64, + 0x60, 0xdd, 0x81, 0xd9, 0x2d, 0xb4, 0x8f, 0xb1, 0xf9, 0x0e, 0x1c, 0x49, 0xe4, 0xce, 0x41, 0x9e, + 0xc7, 0x74, 0xb1, 0x16, 0x12, 0xfc, 0x75, 0xcf, 0x63, 0x02, 0xfe, 0x43, 0xb4, 0x2f, 0xec, 0x95, + 0x9a, 0xae, 0x9b, 0xe6, 0x09, 0x15, 0xeb, 0x57, 0x03, 0x0a, 0x03, 0x4d, 0x76, 0x0d, 0xb2, 0x7a, + 0xea, 0x8c, 0x57, 0x9a, 0x3a, 0x6d, 0x6d, 0xbe, 0x0f, 0xc7, 0x13, 0x93, 0x16, 0x39, 0xbd, 0xe5, + 0x5a, 0x9e, 0x22, 0x6d, 0x2f, 0x25, 0xa5, 0x3b, 0xb1, 0x50, 0x98, 0x25, 0xc7, 0x27, 0x61, 0x96, + 0x56, 0x66, 0x49, 0x69, 0xcf, 0xcc, 0xba, 0x0c, 0xc5, 0xab, 0x21, 0x75, 0x77, 0xd7, 0x89, 0x67, + 0xd3, 0x2e, 0xf1, 0x44, 0x1f, 0x63, 0xc1, 0xd0, 0x57, 0x9e, 0x22, 0x04, 0x97, 0x09, 0xb1, 0xde, + 0xcb, 0x15, 0x61, 0xfd, 0x68, 0x40, 0x56, 0x0d, 0xcf, 0x84, 0x53, 0x1b, 0x93, 0x4e, 0x7d, 0x0a, + 0x72, 0x4a, 0xa0, 0xae, 0x51, 0x01, 0x90, 0x7d, 0x86, 0x69, 0x43, 0x21, 0x69, 0xa6, 0x06, 0x64, + 0xea, 0xc4, 0x0e, 0xf8, 0xb0, 0xbe, 0x35, 0xa0, 0xa0, 0xce, 0xbc, 0x43, 0xb7, 0xfd, 0xb6, 0x5c, + 0x11, 0xc6, 0xad, 0xb7, 0xfa, 0xfe, 0xd7, 0x8b, 0x6d, 0x2f, 0x2b, 0xa9, 0xb1, 0x59, 0x49, 0x27, + 0xb2, 0x22, 0x66, 0x12, 0x3f, 0xe0, 0x0c, 0x39, 0xbb, 0x28, 0xda, 0xd5, 0xef, 0x82, 0x9c, 0xe4, + 0x5c, 0x47, 0xd1, 0xae, 0xe8, 0x7f, 0x85, 0x42, 0xfa, 0x42, 0xd0, 0x94, 0xf5, 0x8d, 0x01, 0x0b, + 0x57, 0xf7, 0x30, 0xe1, 0x6a, 0x72, 0xb6, 0x90, 0xef, 0x4d, 0xd3, 0xb2, 0xa7, 0x01, 0x42, 0xd1, + 0xe6, 0xc9, 0x86, 0xcd, 0x49, 0x8e, 0x14, 0x7f, 0x08, 0x59, 0x14, 0xc8, 0x55, 0x46, 0xdd, 0xc5, + 0x07, 0x0f, 0xd0, 0x46, 0x46, 0xe4, 0xd7, 0xd6, 0xea, 0xd6, 0xbf, 0x06, 0x98, 0xf2, 0x58, 0xea, + 0x46, 0xb8, 0x13, 0x7a, 0x88, 0x63, 0xcf, 0xbc, 0x0e, 0x73, 0x6e, 0x97, 0x31, 0xac, 0x77, 0xa3, + 0xe9, 0x81, 0x3a, 0x36, 0x37, 0x1b, 0x30, 0x2f, 0xf3, 0x26, 0x2e, 0xec, 0xd4, 0xab, 0xb9, 0x92, + 0xf6, 0x0d, 0xcf, 0xdc, 0x04, 0xe8, 0xaa, 0xf3, 0x39, 0x28, 0xfe, 0xd0, 0xe5, 0x9a, 0x7a, 0xad, + 0xd6, 0xe2, 0xd7, 0x6a, 0xad, 0xd7, 0x7d, 0x1b, 0xf3, 0x22, 0xd0, 0xc3, 0x3f, 0x2b, 0x86, 0x9d, + 0xd3, 0x76, 0xeb, 0x5c, 0x3c, 0x84, 0x8a, 0xf2, 0x83, 0x6f, 0xe1, 0xfb, 0x6a, 0x24, 0x92, 0x27, + 0x34, 0x0e, 0x77, 0xc2, 0xd3, 0x00, 0x11, 0x47, 0x4c, 0x9c, 0xb0, 0xb9, 0x1f, 0x57, 0x49, 0x73, + 0x36, 0xf6, 0xc5, 0x07, 0xc4, 0xe2, 0x69, 0x3f, 0x40, 0xdb, 0xad, 0x73, 0xeb, 0x26, 0x1c, 0x91, + 0xe7, 0xdf, 0xe9, 0x75, 0x88, 0x77, 0x88, 0x26, 0xb7, 0xfe, 0x4e, 0xc3, 0x62, 0x9c, 0x8f, 0x01, + 0xc0, 0x3b, 0x70, 0xd1, 0xaa, 0xc1, 0x31, 0xd4, 0x6e, 0x33, 0xdc, 0x46, 0x9c, 0x32, 0x67, 0xa0, + 0xb8, 0x45, 0xfb, 0x68, 0x5f, 0x64, 0xeb, 0xa4, 0xf4, 0x91, 0x33, 0x7d, 0x28, 0xe4, 0xac, 0x42, + 0x3e, 0x31, 0x15, 0xea, 0xc1, 0x64, 0x27, 0x59, 0x13, 0x50, 0x6a, 0x76, 0x12, 0x4a, 0x0d, 0xe3, + 0x50, 0xf6, 0xf0, 0x38, 0x34, 0x88, 0x7c, 0x73, 0xc3, 0xc8, 0x37, 0x52, 0xaf, 0xf9, 0x31, 0xf5, + 0xba, 0x01, 0x0b, 0xb2, 0x44, 0x0e, 0x22, 0x9e, 0x4a, 0xb3, 0x5c, 0x9a, 0xf2, 0x6b, 0x6f, 0x1d, + 0x70, 0xbb, 0x0f, 0x20, 0xbd, 0x5d, 0xc4, 0x49, 0xd2, 0xfa, 0xcf, 0x80, 0x92, 0xac, 0xb3, 0x5a, + 0x6c, 0xb6, 0x31, 0x7f, 0xb9, 0xae, 0xf9, 0x18, 0x4e, 0x85, 0x0c, 0xef, 0xf9, 0xb4, 0x1b, 0x8d, + 0x7d, 0xb6, 0xab, 0x5b, 0xeb, 0x64, 0xac, 0x33, 0xf2, 0x70, 0x3f, 0xc4, 0x33, 0xc1, 0xbc, 0x06, + 0xfa, 0x49, 0xe6, 0xf8, 0xa4, 0x45, 0x65, 0xc5, 0x27, 0xef, 0x36, 0xfd, 0xff, 0x6e, 0xd8, 0xe0, + 0xf6, 0x7e, 0x6f, 0xb8, 0x8f, 0x9f, 0xad, 0x18, 0x4f, 0x9e, 0xad, 0x18, 0x7f, 0x3d, 0x5b, 0x31, + 0x1e, 0x3e, 0x5f, 0x99, 0x79, 0xf2, 0x7c, 0x65, 0xe6, 0xf7, 0xe7, 0x2b, 0x33, 0x9f, 0x36, 0x12, + 0xc5, 0x6d, 0xc4, 0x6e, 0x6f, 0xa0, 0x66, 0x54, 0xef, 0x05, 0xb9, 0xe0, 0x52, 0x86, 0x93, 0xa4, + 0xd8, 0xee, 0xeb, 0xea, 0x9f, 0x2b, 0x91, 0xfc, 0x57, 0x9d, 0xec, 0x81, 0x66, 0x56, 0x0e, 0xf0, + 0x7b, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0x29, 0x4b, 0xf3, 0x34, 0xc8, 0x13, 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { @@ -2514,7 +2533,7 @@ func (m *EventAnswerUpdated) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - n6, err6 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.UpdatedAt, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.UpdatedAt):]) + n6, err6 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.UpdatedAt, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.UpdatedAt):]) if err6 != nil { return 0, err6 } @@ -2565,7 +2584,7 @@ func (m *EventNewRound) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - n7, err7 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.StartedAt, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.StartedAt):]) + n7, err7 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.StartedAt, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.StartedAt):]) if err7 != nil { return 0, err7 } @@ -3217,7 +3236,7 @@ func (m *EventAnswerUpdated) Size() (n int) { n += 1 + l + sovOcr(uint64(l)) l = m.RoundId.Size() n += 1 + l + sovOcr(uint64(l)) - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.UpdatedAt) + l = github_com_cosmos_gogoproto_types.SizeOfStdTime(m.UpdatedAt) n += 1 + l + sovOcr(uint64(l)) return n } @@ -3234,7 +3253,7 @@ func (m *EventNewRound) Size() (n int) { if l > 0 { n += 1 + l + sovOcr(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.StartedAt) + l = github_com_cosmos_gogoproto_types.SizeOfStdTime(m.StartedAt) n += 1 + l + sovOcr(uint64(l)) return n } @@ -6388,7 +6407,7 @@ func (m *EventAnswerUpdated) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.UpdatedAt, dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(&m.UpdatedAt, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -6537,7 +6556,7 @@ func (m *EventNewRound) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.StartedAt, dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(&m.StartedAt, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex diff --git a/chain/ocr/types/proposal.go b/chain/ocr/types/proposal.go index 3a4eabbd..3989ea34 100644 --- a/chain/ocr/types/proposal.go +++ b/chain/ocr/types/proposal.go @@ -1,8 +1,8 @@ package types import ( - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - gov "github.com/cosmos/cosmos-sdk/x/gov/types" + "cosmossdk.io/errors" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" ) // constants @@ -12,14 +12,13 @@ const ( ) func init() { - gov.RegisterProposalType(ProposalTypeOcrSetConfig) - gov.RegisterProposalTypeCodec(&SetConfigProposal{}, "injective/OcrSetConfigProposal") - gov.RegisterProposalTypeCodec(&SetBatchConfigProposal{}, "injective/OcrSetBatchConfigProposal") + govtypes.RegisterProposalType(ProposalTypeOcrSetConfig) + govtypes.RegisterProposalType(ProposalTypeOcrBatchSetConfig) } // Implements Proposal Interface -var _ gov.Content = &SetConfigProposal{} -var _ gov.Content = &SetBatchConfigProposal{} +var _ govtypes.Content = &SetConfigProposal{} +var _ govtypes.Content = &SetBatchConfigProposal{} // GetTitle returns the title of this proposal. func (p *SetConfigProposal) GetTitle() string { @@ -42,14 +41,14 @@ func (p *SetConfigProposal) ProposalType() string { // ValidateBasic returns ValidateBasic result of this proposal. func (p *SetConfigProposal) ValidateBasic() error { if p.Config == nil { - return sdkerrors.Wrap(ErrIncompleteProposal, "proposal is missing config") + return errors.Wrap(ErrIncompleteProposal, "proposal is missing config") } if err := p.Config.ValidateBasic(); err != nil { return err } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // GetTitle returns the title of this proposal. @@ -73,7 +72,7 @@ func (p *SetBatchConfigProposal) ProposalType() string { // ValidateBasic returns ValidateBasic result of this proposal. func (p *SetBatchConfigProposal) ValidateBasic() error { if len(p.FeedProperties) == 0 { - return sdkerrors.Wrap(ErrIncompleteProposal, "proposal is missing feeds") + return errors.Wrap(ErrIncompleteProposal, "proposal is missing feeds") } for _, feed := range p.FeedProperties { @@ -100,5 +99,5 @@ func (p *SetBatchConfigProposal) ValidateBasic() error { return err } } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } diff --git a/chain/ocr/types/query.pb.go b/chain/ocr/types/query.pb.go index 60f432ce..5320b68e 100644 --- a/chain/ocr/types/query.pb.go +++ b/chain/ocr/types/query.pb.go @@ -7,9 +7,9 @@ import ( context "context" fmt "fmt" types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" @@ -770,7 +770,8 @@ type QueryClient interface { FeedConfigInfo(ctx context.Context, in *QueryFeedConfigInfoRequest, opts ...grpc.CallOption) (*QueryFeedConfigInfoResponse, error) // Retrieves latest round ID and data, including median answer for that round LatestRound(ctx context.Context, in *QueryLatestRoundRequest, opts ...grpc.CallOption) (*QueryLatestRoundResponse, error) - // LatestTransmissionDetails returns details about the latest trasmission recorded on chain for the given feed ID. + // LatestTransmissionDetails returns details about the latest trasmission + // recorded on chain for the given feed ID. LatestTransmissionDetails(ctx context.Context, in *QueryLatestTransmissionDetailsRequest, opts ...grpc.CallOption) (*QueryLatestTransmissionDetailsResponse, error) // Retrieves transmitter's owed amount OwedAmount(ctx context.Context, in *QueryOwedAmountRequest, opts ...grpc.CallOption) (*QueryOwedAmountResponse, error) @@ -858,7 +859,8 @@ type QueryServer interface { FeedConfigInfo(context.Context, *QueryFeedConfigInfoRequest) (*QueryFeedConfigInfoResponse, error) // Retrieves latest round ID and data, including median answer for that round LatestRound(context.Context, *QueryLatestRoundRequest) (*QueryLatestRoundResponse, error) - // LatestTransmissionDetails returns details about the latest trasmission recorded on chain for the given feed ID. + // LatestTransmissionDetails returns details about the latest trasmission + // recorded on chain for the given feed ID. LatestTransmissionDetails(context.Context, *QueryLatestTransmissionDetailsRequest) (*QueryLatestTransmissionDetailsResponse, error) // Retrieves transmitter's owed amount OwedAmount(context.Context, *QueryOwedAmountRequest) (*QueryOwedAmountResponse, error) diff --git a/chain/ocr/types/tx.pb.go b/chain/ocr/types/tx.pb.go index 07cfdaa2..76af8a8c 100644 --- a/chain/ocr/types/tx.pb.go +++ b/chain/ocr/types/tx.pb.go @@ -6,11 +6,13 @@ package types import ( context "context" fmt "fmt" + _ "github.com/cosmos/cosmos-proto" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/gogoproto/gogoproto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -110,7 +112,8 @@ type MsgUpdateFeed struct { FeedId string `protobuf:"bytes,2,opt,name=feed_id,json=feedId,proto3" json:"feed_id,omitempty"` // signers ith element is address ith oracle uses to sign a report Signers []string `protobuf:"bytes,3,rep,name=signers,proto3" json:"signers,omitempty"` - // transmitters ith element is address ith oracle uses to transmit a report via the transmit method + // transmitters ith element is address ith oracle uses to transmit a report + // via the transmit method Transmitters []string `protobuf:"bytes,4,rep,name=transmitters,proto3" json:"transmitters,omitempty"` // Fixed LINK reward for each observer LinkPerObservation *github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,5,opt,name=link_per_observation,json=linkPerObservation,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"link_per_observation,omitempty"` @@ -657,6 +660,98 @@ func (m *MsgAcceptPayeeshipResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgAcceptPayeeshipResponse proto.InternalMessageInfo +type MsgUpdateParams struct { + // authority is the address of the governance account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // params defines the ocr parameters to update. + // + // NOTE: All parameters must be supplied. + Params Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params"` +} + +func (m *MsgUpdateParams) Reset() { *m = MsgUpdateParams{} } +func (m *MsgUpdateParams) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParams) ProtoMessage() {} +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return fileDescriptor_570bfdb24a1374f8, []int{16} +} +func (m *MsgUpdateParams) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParams.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParams) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParams.Merge(m, src) +} +func (m *MsgUpdateParams) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParams) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParams.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParams proto.InternalMessageInfo + +func (m *MsgUpdateParams) GetAuthority() string { + if m != nil { + return m.Authority + } + return "" +} + +func (m *MsgUpdateParams) GetParams() Params { + if m != nil { + return m.Params + } + return Params{} +} + +type MsgUpdateParamsResponse struct { +} + +func (m *MsgUpdateParamsResponse) Reset() { *m = MsgUpdateParamsResponse{} } +func (m *MsgUpdateParamsResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParamsResponse) ProtoMessage() {} +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_570bfdb24a1374f8, []int{17} +} +func (m *MsgUpdateParamsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParamsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParamsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParamsResponse.Merge(m, src) +} +func (m *MsgUpdateParamsResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParamsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgCreateFeed)(nil), "injective.ocr.v1beta1.MsgCreateFeed") proto.RegisterType((*MsgCreateFeedResponse)(nil), "injective.ocr.v1beta1.MsgCreateFeedResponse") @@ -674,73 +769,83 @@ func init() { proto.RegisterType((*MsgTransferPayeeshipResponse)(nil), "injective.ocr.v1beta1.MsgTransferPayeeshipResponse") proto.RegisterType((*MsgAcceptPayeeship)(nil), "injective.ocr.v1beta1.MsgAcceptPayeeship") proto.RegisterType((*MsgAcceptPayeeshipResponse)(nil), "injective.ocr.v1beta1.MsgAcceptPayeeshipResponse") + proto.RegisterType((*MsgUpdateParams)(nil), "injective.ocr.v1beta1.MsgUpdateParams") + proto.RegisterType((*MsgUpdateParamsResponse)(nil), "injective.ocr.v1beta1.MsgUpdateParamsResponse") } func init() { proto.RegisterFile("injective/ocr/v1beta1/tx.proto", fileDescriptor_570bfdb24a1374f8) } var fileDescriptor_570bfdb24a1374f8 = []byte{ - // 966 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0x4f, 0x6f, 0x1b, 0x45, - 0x14, 0xf7, 0xd6, 0x8e, 0x63, 0x3f, 0xbb, 0x42, 0x6c, 0x9d, 0xd4, 0x5d, 0x35, 0x6b, 0xd7, 0x41, - 0xc8, 0x50, 0xba, 0x4b, 0x52, 0x10, 0x7f, 0x6e, 0x4d, 0xaa, 0x8a, 0x48, 0x58, 0x44, 0x0b, 0x08, - 0xa9, 0x12, 0x72, 0xd7, 0xbb, 0x93, 0xf5, 0x52, 0x7b, 0x66, 0x35, 0x33, 0x4e, 0xd3, 0x3b, 0x48, - 0x48, 0x1c, 0xe0, 0xca, 0xad, 0x5f, 0x81, 0x6f, 0x91, 0x63, 0x8f, 0x88, 0x43, 0x84, 0x92, 0x0b, - 0x17, 0xbe, 0x03, 0x9a, 0xd9, 0xf5, 0x78, 0x12, 0x7b, 0x93, 0x18, 0x2e, 0x9c, 0x92, 0xf7, 0xde, - 0x6f, 0xde, 0xef, 0xe7, 0xf7, 0xe6, 0xbd, 0x1d, 0xb0, 0x63, 0xfc, 0x1d, 0x0a, 0x78, 0x7c, 0x88, - 0x5c, 0x12, 0x50, 0xf7, 0x70, 0x6b, 0x80, 0xb8, 0xbf, 0xe5, 0xf2, 0x23, 0x27, 0xa1, 0x84, 0x13, - 0x73, 0x4d, 0xc5, 0x1d, 0x12, 0x50, 0x27, 0x8b, 0x5b, 0x8d, 0x88, 0x44, 0x44, 0x22, 0x5c, 0xf1, - 0x5f, 0x0a, 0xb6, 0x5a, 0x8b, 0x93, 0x89, 0x83, 0x29, 0xc0, 0x0e, 0x08, 0x1b, 0x13, 0xe6, 0x0e, - 0x7c, 0x86, 0x54, 0x38, 0x20, 0x31, 0x4e, 0xe3, 0x9d, 0x11, 0xdc, 0xec, 0xb1, 0x68, 0x97, 0x22, - 0x9f, 0xa3, 0x27, 0x08, 0x85, 0xe6, 0x3a, 0x94, 0x19, 0xc2, 0x21, 0xa2, 0x4d, 0xa3, 0x6d, 0x74, - 0xab, 0x5e, 0x66, 0x99, 0x9f, 0x40, 0x39, 0x20, 0xf8, 0x20, 0x8e, 0x9a, 0x37, 0xda, 0x46, 0xb7, - 0xb6, 0x7d, 0xcf, 0x59, 0xa8, 0xd3, 0x11, 0x49, 0x76, 0x25, 0xd0, 0xcb, 0x0e, 0x7c, 0x5a, 0xf9, - 0xf1, 0x55, 0xab, 0xf0, 0xd7, 0xab, 0x56, 0xa1, 0x73, 0x1b, 0xd6, 0xce, 0xb1, 0x79, 0x88, 0x25, - 0x04, 0x33, 0xd4, 0xf9, 0xad, 0x28, 0x75, 0x7c, 0x9d, 0x84, 0x57, 0xe9, 0xb8, 0x0d, 0xab, 0x07, - 0x08, 0x85, 0xfd, 0x38, 0x94, 0x42, 0xaa, 0x5e, 0x59, 0x98, 0x7b, 0xa1, 0xd9, 0x84, 0x55, 0x16, - 0x47, 0x18, 0x51, 0xd6, 0x2c, 0xb6, 0x8b, 0xdd, 0xaa, 0x37, 0x35, 0xcd, 0x0e, 0xd4, 0x39, 0xf5, - 0x31, 0x1b, 0xc7, 0x9c, 0x8b, 0x70, 0x49, 0x86, 0xcf, 0xf9, 0xcc, 0x67, 0xd0, 0x18, 0xc5, 0xf8, - 0x79, 0x3f, 0x41, 0xb4, 0x4f, 0x06, 0x0c, 0xd1, 0x43, 0x9f, 0xc7, 0x04, 0x37, 0x57, 0x04, 0xc7, - 0x8e, 0x73, 0x7c, 0xd2, 0x32, 0xfe, 0x38, 0x69, 0xbd, 0x1d, 0xc5, 0x7c, 0x38, 0x19, 0x38, 0x01, - 0x19, 0xbb, 0x59, 0x61, 0xd3, 0x3f, 0x0f, 0x58, 0xf8, 0xdc, 0xe5, 0x2f, 0x13, 0xc4, 0x9c, 0x3d, - 0xcc, 0x3d, 0x53, 0xe4, 0xda, 0x47, 0xf4, 0x8b, 0x59, 0x26, 0x73, 0x00, 0x6b, 0x8a, 0x21, 0xa3, - 0x66, 0x4c, 0x50, 0x94, 0xff, 0x15, 0xc5, 0xad, 0x8c, 0xe2, 0x2b, 0x2d, 0x95, 0xb9, 0x01, 0x20, - 0x39, 0x42, 0x84, 0xc9, 0xb8, 0xb9, 0x2a, 0xeb, 0x53, 0x15, 0x9e, 0xc7, 0xc2, 0x21, 0xc2, 0xb2, - 0x76, 0x7e, 0x38, 0x8e, 0x71, 0xb3, 0x92, 0x86, 0x85, 0xe7, 0x91, 0x70, 0x98, 0x9b, 0x70, 0x73, - 0x10, 0x8f, 0x46, 0x31, 0x8e, 0x32, 0x44, 0x55, 0x22, 0xea, 0x99, 0x53, 0x82, 0xe6, 0x9a, 0x39, - 0x6b, 0x99, 0x6a, 0xe6, 0xaf, 0x37, 0xa0, 0xd6, 0x63, 0x51, 0xa6, 0x8c, 0x9b, 0x6d, 0xa8, 0x69, - 0xb5, 0xce, 0xfa, 0xa9, 0xbb, 0x04, 0x73, 0x7a, 0x57, 0xfa, 0x61, 0x1c, 0x21, 0xc6, 0x65, 0x6b, - 0xeb, 0x5e, 0x3d, 0x75, 0x3e, 0x96, 0x3e, 0xbd, 0xf3, 0xc5, 0x73, 0x9d, 0x6f, 0xc0, 0x0a, 0x4a, - 0x48, 0x30, 0x6c, 0x96, 0xda, 0x46, 0xb7, 0xe4, 0xa5, 0x86, 0xf0, 0x52, 0x32, 0xc1, 0xa1, 0x6c, - 0x61, 0xc9, 0x4b, 0x0d, 0x51, 0x02, 0x74, 0xc4, 0xa9, 0xdf, 0x1f, 0xfa, 0x6c, 0x28, 0x4b, 0x5f, - 0xf7, 0xaa, 0xd2, 0xf3, 0x99, 0xcf, 0x86, 0xe6, 0x87, 0x50, 0xa6, 0x28, 0x21, 0x94, 0xcb, 0xe2, - 0xd5, 0xb6, 0x37, 0x72, 0x6e, 0xb9, 0x27, 0x41, 0x5e, 0x06, 0x36, 0x6d, 0x00, 0x71, 0xd9, 0x7c, - 0x3e, 0xa1, 0x88, 0x35, 0x2b, 0xed, 0x62, 0xb7, 0xee, 0x69, 0x1e, 0xad, 0x68, 0x6b, 0x70, 0x4b, - 0x2b, 0x8d, 0x2a, 0xd9, 0x4f, 0x86, 0x2c, 0xe6, 0x93, 0x09, 0x0e, 0xd3, 0x52, 0xbe, 0xf0, 0x69, - 0xb8, 0x4f, 0xc8, 0x68, 0xf9, 0x39, 0xf8, 0x08, 0xca, 0xfe, 0x98, 0x4c, 0x30, 0x97, 0x55, 0xaa, - 0x6d, 0xdf, 0x71, 0xd2, 0xfb, 0xe3, 0x88, 0x15, 0xa0, 0x7e, 0xc0, 0x2e, 0x89, 0xf1, 0x4e, 0xe9, - 0xf8, 0xa4, 0x55, 0xf0, 0x32, 0xb8, 0x26, 0xb2, 0x05, 0x1b, 0x0b, 0xc5, 0x28, 0xb9, 0x3f, 0x1b, - 0x70, 0xa7, 0xc7, 0xa2, 0x6f, 0x62, 0x3e, 0x0c, 0xa9, 0xff, 0xe2, 0x7f, 0x20, 0x79, 0x13, 0xee, - 0xe5, 0x0a, 0x52, 0xb2, 0x7f, 0x30, 0xa0, 0xde, 0x63, 0xd1, 0x97, 0x88, 0xef, 0xfb, 0x2f, 0x11, - 0x62, 0xcb, 0x2b, 0xbd, 0xb8, 0x4a, 0x8a, 0x0b, 0x56, 0xc9, 0x3a, 0x94, 0x13, 0x99, 0x3e, 0x5b, - 0x34, 0x99, 0xa5, 0x89, 0x5d, 0x87, 0x86, 0x2e, 0x43, 0x2f, 0x6b, 0x63, 0x7a, 0x3b, 0x0e, 0x10, - 0x4d, 0xa3, 0xc3, 0x38, 0xc9, 0xd5, 0x79, 0x61, 0xb2, 0x6e, 0xcc, 0x4f, 0x56, 0xee, 0xd0, 0x58, - 0x50, 0x49, 0x28, 0x49, 0x08, 0x43, 0xa1, 0x9c, 0x9b, 0xaa, 0xa7, 0x6c, 0x4d, 0xa9, 0x0d, 0x77, - 0x17, 0x09, 0x52, 0x8a, 0x09, 0x98, 0x3d, 0x16, 0x3d, 0x0a, 0x02, 0x94, 0xf0, 0x99, 0xdc, 0x06, - 0xac, 0xc8, 0xdf, 0x9c, 0xa9, 0x4d, 0x8d, 0xff, 0x20, 0x56, 0x13, 0x74, 0x17, 0xac, 0x79, 0xc2, - 0xa9, 0x9c, 0xed, 0xbf, 0xcb, 0x50, 0xec, 0xb1, 0xc8, 0x7c, 0x06, 0xa0, 0x7d, 0xd2, 0xde, 0xca, - 0x19, 0xe2, 0x73, 0x9f, 0x22, 0xeb, 0xbd, 0xeb, 0xa0, 0xa6, 0x4c, 0x82, 0x41, 0xfb, 0x58, 0x5d, - 0xc2, 0x30, 0x43, 0x5d, 0xc6, 0x30, 0xbf, 0x45, 0xcd, 0xa7, 0x50, 0x51, 0x1b, 0xb4, 0x93, 0x7f, - 0x72, 0x8a, 0xb1, 0xde, 0xbd, 0x1a, 0xa3, 0x72, 0x1f, 0x81, 0xb9, 0x60, 0xd5, 0x5c, 0xa2, 0x6f, - 0x1e, 0x6d, 0x7d, 0xb0, 0x0c, 0x5a, 0x31, 0x7f, 0x6f, 0xc0, 0x7a, 0xce, 0xda, 0x78, 0x3f, 0x3f, - 0xe1, 0xe2, 0x13, 0xd6, 0xc7, 0xcb, 0x9e, 0x50, 0x32, 0xbe, 0x85, 0xea, 0x6c, 0x0b, 0x6c, 0xe6, - 0xa7, 0x51, 0x20, 0xeb, 0xfe, 0x35, 0x40, 0x2a, 0xfd, 0x04, 0xde, 0x9c, 0x1f, 0xe2, 0xfb, 0x57, - 0x34, 0x48, 0x07, 0x5b, 0x0f, 0x97, 0x00, 0x2b, 0x5a, 0x02, 0x6f, 0x5c, 0x1c, 0xc5, 0x77, 0xf2, - 0xf3, 0x5c, 0x80, 0x5a, 0x5b, 0xd7, 0x86, 0x4e, 0x09, 0x77, 0x82, 0xe3, 0x53, 0xdb, 0x78, 0x7d, - 0x6a, 0x1b, 0x7f, 0x9e, 0xda, 0xc6, 0x2f, 0x67, 0x76, 0xe1, 0xf5, 0x99, 0x5d, 0xf8, 0xfd, 0xcc, - 0x2e, 0x3c, 0xdd, 0xd3, 0x9e, 0x31, 0x7b, 0xd3, 0xb4, 0x9f, 0xfb, 0x03, 0xe6, 0x2a, 0x92, 0x07, - 0x01, 0xa1, 0x48, 0x37, 0x87, 0x7e, 0x8c, 0xdd, 0x31, 0x09, 0x27, 0x23, 0xc4, 0xe4, 0x73, 0x56, - 0xbe, 0x76, 0x06, 0x65, 0xf9, 0x52, 0x7d, 0xf8, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x46, 0x9a, - 0xd0, 0xea, 0x39, 0x0b, 0x00, 0x00, + // 1094 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0xcf, 0x6f, 0x1b, 0x45, + 0x14, 0xf6, 0xc6, 0x89, 0x13, 0xbf, 0xb8, 0x54, 0x6c, 0x9c, 0x64, 0xb3, 0x6a, 0x6c, 0xd7, 0x41, + 0x55, 0x68, 0x89, 0x4d, 0x52, 0x7e, 0x86, 0x53, 0x92, 0xaa, 0x22, 0x12, 0x16, 0xd1, 0x16, 0x84, + 0x54, 0x09, 0xb9, 0xeb, 0xdd, 0xc9, 0x7a, 0x68, 0xbc, 0xb3, 0x9a, 0x19, 0xe7, 0xc7, 0x09, 0x09, + 0x71, 0xe0, 0xd8, 0x13, 0x07, 0x4e, 0xbd, 0x72, 0xe3, 0xc0, 0x91, 0x3f, 0x20, 0xc7, 0x0a, 0x09, + 0x09, 0x71, 0x88, 0x50, 0x72, 0x80, 0x3f, 0x03, 0xcd, 0xec, 0x78, 0xbc, 0x49, 0x76, 0x93, 0x18, + 0x2e, 0x9c, 0xec, 0xf7, 0xde, 0x37, 0xef, 0xfb, 0xe6, 0xbd, 0x99, 0x37, 0x36, 0x54, 0x70, 0xf8, + 0x15, 0xf2, 0x38, 0xde, 0x47, 0x4d, 0xe2, 0xd1, 0xe6, 0xfe, 0x6a, 0x07, 0x71, 0x77, 0xb5, 0xc9, + 0x0f, 0x1b, 0x11, 0x25, 0x9c, 0x98, 0xb3, 0x3a, 0xde, 0x20, 0x1e, 0x6d, 0xa8, 0xb8, 0x5d, 0xf1, + 0x08, 0xeb, 0x11, 0xd6, 0xec, 0xb8, 0x0c, 0xe9, 0x45, 0x1e, 0xc1, 0x61, 0xbc, 0xcc, 0x9e, 0x57, + 0xf1, 0x1e, 0x0b, 0x9a, 0xfb, 0xab, 0xe2, 0x43, 0x05, 0xca, 0x01, 0x09, 0x88, 0xfc, 0xda, 0x14, + 0xdf, 0x94, 0xb7, 0x9a, 0xae, 0x42, 0x30, 0xc6, 0x80, 0x85, 0x38, 0x5f, 0x3b, 0x5e, 0x19, 0x1b, + 0x71, 0xa8, 0x7e, 0x00, 0xb7, 0x5a, 0x2c, 0xd8, 0xa2, 0xc8, 0xe5, 0xe8, 0x31, 0x42, 0xbe, 0x39, + 0x07, 0x05, 0x86, 0x42, 0x1f, 0x51, 0xcb, 0xa8, 0x19, 0xcb, 0x45, 0x47, 0x59, 0xe6, 0x87, 0x50, + 0xf0, 0x48, 0xb8, 0x8b, 0x03, 0x6b, 0xac, 0x66, 0x2c, 0x4f, 0xaf, 0xdd, 0x6d, 0xa4, 0xee, 0xad, + 0x21, 0x92, 0x6c, 0x49, 0xa0, 0xa3, 0x16, 0xac, 0xcf, 0x7c, 0xf7, 0xb2, 0x9a, 0xfb, 0xfb, 0x65, + 0x35, 0xf7, 0xcd, 0x5f, 0x3f, 0xdd, 0x57, 0xf9, 0xea, 0xf3, 0x30, 0x7b, 0x8e, 0xd8, 0x41, 0x2c, + 0x22, 0x21, 0x43, 0xf5, 0x5f, 0xf2, 0x52, 0xd2, 0xe7, 0x91, 0x7f, 0x9d, 0xa4, 0x79, 0x98, 0xdc, + 0x45, 0xc8, 0x6f, 0x63, 0x5f, 0x6a, 0x2a, 0x3a, 0x05, 0x61, 0x6e, 0xfb, 0xa6, 0x05, 0x93, 0x0c, + 0x07, 0x21, 0xa2, 0xcc, 0xca, 0xd7, 0xf2, 0xcb, 0x45, 0x67, 0x60, 0x9a, 0x75, 0x28, 0x71, 0xea, + 0x86, 0xac, 0x87, 0x39, 0x17, 0xe1, 0x71, 0x19, 0x3e, 0xe7, 0x33, 0x9f, 0x41, 0x79, 0x0f, 0x87, + 0xcf, 0xdb, 0x11, 0xa2, 0x6d, 0xd2, 0x61, 0x88, 0xee, 0xbb, 0x1c, 0x93, 0xd0, 0x9a, 0x10, 0x1c, + 0x9b, 0x8d, 0xe3, 0x93, 0xaa, 0xf1, 0xc7, 0x49, 0xf5, 0x5e, 0x80, 0x79, 0xb7, 0xdf, 0x69, 0x78, + 0xa4, 0xa7, 0x2a, 0xaa, 0x3e, 0x56, 0x98, 0xff, 0xbc, 0xc9, 0x8f, 0x22, 0xc4, 0x1a, 0xdb, 0x21, + 0x77, 0x4c, 0x91, 0x6b, 0x07, 0xd1, 0x4f, 0x87, 0x99, 0xcc, 0x0e, 0xcc, 0x6a, 0x06, 0x45, 0xcd, + 0x98, 0xa0, 0x28, 0xfc, 0x2b, 0x8a, 0x19, 0x45, 0xf1, 0x59, 0x22, 0x95, 0xb9, 0x08, 0x20, 0x39, + 0x7c, 0x14, 0x92, 0x9e, 0x35, 0x29, 0xeb, 0x53, 0x14, 0x9e, 0x47, 0xc2, 0x21, 0xc2, 0xb2, 0x76, + 0xae, 0xdf, 0xc3, 0xa1, 0x35, 0x15, 0x87, 0x85, 0x67, 0x43, 0x38, 0xcc, 0x25, 0xb8, 0xd5, 0xc1, + 0x7b, 0x7b, 0x38, 0x0c, 0x14, 0xa2, 0x28, 0x11, 0x25, 0xe5, 0x94, 0xa0, 0xab, 0xfa, 0x3a, 0xec, + 0x9e, 0xee, 0xeb, 0x8f, 0x63, 0x30, 0xdd, 0x62, 0x81, 0x12, 0xc9, 0xcd, 0x1a, 0x4c, 0x27, 0xca, + 0xae, 0x5a, 0x9b, 0x74, 0x09, 0x11, 0xf1, 0x09, 0x6a, 0xfb, 0x38, 0x40, 0x8c, 0xcb, 0x2e, 0x97, + 0x9c, 0x52, 0xec, 0x7c, 0x24, 0x7d, 0xc9, 0x43, 0x90, 0x3f, 0x77, 0x08, 0xca, 0x30, 0x81, 0x22, + 0xe2, 0x75, 0xad, 0xf1, 0x9a, 0xb1, 0x3c, 0xee, 0xc4, 0x86, 0xf0, 0x52, 0xd2, 0x0f, 0x7d, 0xd9, + 0xcd, 0x71, 0x27, 0x36, 0x44, 0x35, 0xd0, 0x21, 0xa7, 0x6e, 0xbb, 0xeb, 0xb2, 0xae, 0xec, 0x42, + 0xc9, 0x29, 0x4a, 0xcf, 0xc7, 0x2e, 0xeb, 0x9a, 0xef, 0x42, 0x81, 0xa2, 0x88, 0x50, 0x2e, 0xeb, + 0x38, 0xbd, 0xb6, 0x98, 0x71, 0xf6, 0x1d, 0x09, 0x72, 0x14, 0xd8, 0xac, 0x00, 0x88, 0x73, 0xe7, + 0xf2, 0x3e, 0x45, 0xcc, 0x9a, 0xaa, 0xe5, 0x97, 0x4b, 0x4e, 0xc2, 0xb3, 0x6e, 0x25, 0xeb, 0x97, + 0xdc, 0x79, 0x7d, 0x16, 0x66, 0x12, 0xa5, 0xd2, 0x25, 0xfc, 0xde, 0x90, 0xc5, 0x7d, 0xdc, 0x0f, + 0xfd, 0xb8, 0xb4, 0x07, 0x2e, 0xf5, 0x77, 0x08, 0xd9, 0x1b, 0xfd, 0x8a, 0xbc, 0x0f, 0x05, 0xb7, + 0x47, 0xfa, 0x21, 0x97, 0x55, 0x9b, 0x5e, 0x5b, 0x68, 0xa8, 0xb1, 0x20, 0x66, 0x92, 0xde, 0xd0, + 0x16, 0xc1, 0xe1, 0xe6, 0xf8, 0xf1, 0x49, 0x35, 0xe7, 0x28, 0x78, 0x7a, 0xd3, 0xab, 0xb0, 0x98, + 0xaa, 0x4b, 0x2b, 0xff, 0xc1, 0x80, 0x85, 0x16, 0x0b, 0xbe, 0xc0, 0xbc, 0xeb, 0x53, 0xf7, 0xe0, + 0xff, 0xa5, 0x7e, 0x09, 0xee, 0x66, 0x6a, 0xd3, 0x3b, 0x78, 0x61, 0x40, 0xa9, 0xc5, 0x82, 0x27, + 0x88, 0xef, 0xb8, 0x47, 0x08, 0xb1, 0xd1, 0x45, 0x5f, 0x9c, 0x3d, 0xf9, 0x94, 0xd9, 0x33, 0x07, + 0x85, 0x48, 0xa6, 0x57, 0x93, 0x49, 0x59, 0xe9, 0xba, 0xe7, 0xa0, 0x9c, 0x54, 0x94, 0x2c, 0x76, + 0x79, 0x70, 0x7c, 0x76, 0x11, 0x8d, 0xa3, 0x5d, 0x1c, 0x65, 0x4a, 0xbe, 0x70, 0x15, 0xc7, 0x2e, + 0x5f, 0xc5, 0xcc, 0x5b, 0x66, 0xc3, 0x54, 0x44, 0x49, 0x44, 0x18, 0xf2, 0xe5, 0x45, 0x2b, 0x3a, + 0xda, 0x4e, 0x17, 0x5d, 0x81, 0x3b, 0x69, 0xda, 0xb4, 0xf8, 0xaf, 0xc1, 0x6c, 0xb1, 0x60, 0xc3, + 0xf3, 0x50, 0xc4, 0x87, 0xca, 0xcb, 0x30, 0x21, 0x2b, 0xa1, 0x84, 0xc7, 0xc6, 0x7f, 0xd0, 0x7d, + 0xc5, 0xdd, 0xbb, 0x03, 0xf6, 0x65, 0x01, 0xc9, 0x2b, 0x78, 0x5b, 0xcf, 0xb7, 0x1d, 0x97, 0xba, + 0x3d, 0x66, 0xbe, 0x07, 0x45, 0xb7, 0xcf, 0xbb, 0x84, 0x62, 0x7e, 0x14, 0x0b, 0xdc, 0xb4, 0x7e, + 0xfd, 0x79, 0xa5, 0xac, 0xce, 0xe4, 0x86, 0xef, 0x53, 0xc4, 0xd8, 0x13, 0x4e, 0x71, 0x18, 0x38, + 0x43, 0xa8, 0xf9, 0x91, 0x68, 0xb6, 0xc8, 0xa0, 0x9e, 0xd4, 0xac, 0xb1, 0x12, 0xd3, 0x0c, 0x4e, + 0x72, 0xbc, 0x64, 0xfd, 0x35, 0x21, 0x7c, 0x98, 0xac, 0xbe, 0x00, 0xf3, 0x17, 0x74, 0x0d, 0x34, + 0xaf, 0xfd, 0x36, 0x09, 0xf9, 0x16, 0x0b, 0xcc, 0x67, 0x00, 0x89, 0x87, 0xfe, 0x8d, 0x0c, 0xb6, + 0x73, 0xaf, 0xb2, 0xfd, 0xd6, 0x4d, 0x50, 0x03, 0x26, 0xc1, 0x90, 0x78, 0xb7, 0xaf, 0x60, 0x18, + 0xa2, 0xae, 0x62, 0xb8, 0xfc, 0x8a, 0x98, 0x4f, 0x61, 0x4a, 0xbf, 0x20, 0xf5, 0xec, 0x95, 0x03, + 0x8c, 0x7d, 0xff, 0x7a, 0x8c, 0xce, 0x7d, 0x08, 0x66, 0xca, 0x68, 0xbd, 0x42, 0xdf, 0x65, 0xb4, + 0xfd, 0xce, 0x28, 0x68, 0xcd, 0xfc, 0xad, 0x01, 0x73, 0x19, 0xb3, 0xf1, 0xed, 0xec, 0x84, 0xe9, + 0x2b, 0xec, 0x0f, 0x46, 0x5d, 0xa1, 0x65, 0x7c, 0x09, 0xc5, 0xe1, 0x7c, 0x5b, 0xca, 0x4e, 0xa3, + 0x41, 0xf6, 0x83, 0x1b, 0x80, 0x74, 0xfa, 0x3e, 0xbc, 0x7e, 0x79, 0x26, 0x3d, 0xb8, 0xa6, 0x41, + 0x49, 0xb0, 0xfd, 0x70, 0x04, 0xb0, 0xa6, 0x25, 0x70, 0xfb, 0xe2, 0x38, 0x79, 0x33, 0x3b, 0xcf, + 0x05, 0xa8, 0xbd, 0x7a, 0x63, 0xa8, 0x26, 0xdc, 0x85, 0xd2, 0xb9, 0xf9, 0x70, 0xef, 0xba, 0x13, + 0x1e, 0xe3, 0xec, 0xc6, 0xcd, 0x70, 0x03, 0x9e, 0x4d, 0xef, 0xf8, 0xb4, 0x62, 0xbc, 0x3a, 0xad, + 0x18, 0x7f, 0x9e, 0x56, 0x8c, 0x17, 0x67, 0x95, 0xdc, 0xab, 0xb3, 0x4a, 0xee, 0xf7, 0xb3, 0x4a, + 0xee, 0xe9, 0x76, 0xe2, 0x97, 0xe3, 0xf6, 0x20, 0xe7, 0x27, 0x6e, 0x87, 0x35, 0x35, 0xc3, 0x8a, + 0x47, 0x28, 0x4a, 0x9a, 0x5d, 0x17, 0x87, 0xcd, 0x1e, 0xf1, 0xfb, 0x7b, 0x88, 0xc9, 0xff, 0x11, + 0xf2, 0x07, 0x66, 0xa7, 0x20, 0xff, 0x27, 0x3c, 0xfc, 0x27, 0x00, 0x00, 0xff, 0xff, 0x49, 0x46, + 0xe8, 0x84, 0xeb, 0x0c, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -757,20 +862,25 @@ const _ = grpc.SupportPackageIsVersion4 type MsgClient interface { // CreateFeed defines a method for creating feed by module admin CreateFeed(ctx context.Context, in *MsgCreateFeed, opts ...grpc.CallOption) (*MsgCreateFeedResponse, error) - // CreateFeed defines a method for creating feed by feed admin or feed billing admin + // CreateFeed defines a method for creating feed by feed admin or feed billing + // admin UpdateFeed(ctx context.Context, in *MsgUpdateFeed, opts ...grpc.CallOption) (*MsgUpdateFeedResponse, error) // Transmit defines a method for transmitting the feed info by transmitter Transmit(ctx context.Context, in *MsgTransmit, opts ...grpc.CallOption) (*MsgTransmitResponse, error) // FundFeedRewardPool defines a method to put funds into feed reward pool FundFeedRewardPool(ctx context.Context, in *MsgFundFeedRewardPool, opts ...grpc.CallOption) (*MsgFundFeedRewardPoolResponse, error) - // WithdrawFeedRewardPool defines a method to witdhraw feed reward by feed admin or billing admin + // WithdrawFeedRewardPool defines a method to witdhraw feed reward by feed + // admin or billing admin WithdrawFeedRewardPool(ctx context.Context, in *MsgWithdrawFeedRewardPool, opts ...grpc.CallOption) (*MsgWithdrawFeedRewardPoolResponse, error) // SetPayees defines a method to set payees for transmitters (batch action) SetPayees(ctx context.Context, in *MsgSetPayees, opts ...grpc.CallOption) (*MsgSetPayeesResponse, error) - // TransferPayeeship defines a method for a payee to transfer reward receive ownership + // TransferPayeeship defines a method for a payee to transfer reward receive + // ownership TransferPayeeship(ctx context.Context, in *MsgTransferPayeeship, opts ...grpc.CallOption) (*MsgTransferPayeeshipResponse, error) - // AcceptPayeeship defines a method for a new payee to accept reward receive ownership + // AcceptPayeeship defines a method for a new payee to accept reward receive + // ownership AcceptPayeeship(ctx context.Context, in *MsgAcceptPayeeship, opts ...grpc.CallOption) (*MsgAcceptPayeeshipResponse, error) + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) } type msgClient struct { @@ -853,24 +963,38 @@ func (c *msgClient) AcceptPayeeship(ctx context.Context, in *MsgAcceptPayeeship, return out, nil } +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, "/injective.ocr.v1beta1.Msg/UpdateParams", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { // CreateFeed defines a method for creating feed by module admin CreateFeed(context.Context, *MsgCreateFeed) (*MsgCreateFeedResponse, error) - // CreateFeed defines a method for creating feed by feed admin or feed billing admin + // CreateFeed defines a method for creating feed by feed admin or feed billing + // admin UpdateFeed(context.Context, *MsgUpdateFeed) (*MsgUpdateFeedResponse, error) // Transmit defines a method for transmitting the feed info by transmitter Transmit(context.Context, *MsgTransmit) (*MsgTransmitResponse, error) // FundFeedRewardPool defines a method to put funds into feed reward pool FundFeedRewardPool(context.Context, *MsgFundFeedRewardPool) (*MsgFundFeedRewardPoolResponse, error) - // WithdrawFeedRewardPool defines a method to witdhraw feed reward by feed admin or billing admin + // WithdrawFeedRewardPool defines a method to witdhraw feed reward by feed + // admin or billing admin WithdrawFeedRewardPool(context.Context, *MsgWithdrawFeedRewardPool) (*MsgWithdrawFeedRewardPoolResponse, error) // SetPayees defines a method to set payees for transmitters (batch action) SetPayees(context.Context, *MsgSetPayees) (*MsgSetPayeesResponse, error) - // TransferPayeeship defines a method for a payee to transfer reward receive ownership + // TransferPayeeship defines a method for a payee to transfer reward receive + // ownership TransferPayeeship(context.Context, *MsgTransferPayeeship) (*MsgTransferPayeeshipResponse, error) - // AcceptPayeeship defines a method for a new payee to accept reward receive ownership + // AcceptPayeeship defines a method for a new payee to accept reward receive + // ownership AcceptPayeeship(context.Context, *MsgAcceptPayeeship) (*MsgAcceptPayeeshipResponse, error) + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -901,6 +1025,9 @@ func (*UnimplementedMsgServer) TransferPayeeship(ctx context.Context, req *MsgTr func (*UnimplementedMsgServer) AcceptPayeeship(ctx context.Context, req *MsgAcceptPayeeship) (*MsgAcceptPayeeshipResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AcceptPayeeship not implemented") } +func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -1050,6 +1177,24 @@ func _Msg_AcceptPayeeship_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.ocr.v1beta1.Msg/UpdateParams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "injective.ocr.v1beta1.Msg", HandlerType: (*MsgServer)(nil), @@ -1086,6 +1231,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "AcceptPayeeship", Handler: _Msg_AcceptPayeeship_Handler, }, + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "injective/ocr/v1beta1/tx.proto", @@ -1743,6 +1892,69 @@ func (m *MsgAcceptPayeeshipResponse) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } +func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -2046,6 +2258,30 @@ func (m *MsgAcceptPayeeshipResponse) Size() (n int) { return n } +func (m *MsgUpdateParams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Params.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -4000,6 +4236,171 @@ func (m *MsgAcceptPayeeshipResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/ocr/types/types.go b/chain/ocr/types/types.go index b092b882..0723eb75 100644 --- a/chain/ocr/types/types.go +++ b/chain/ocr/types/types.go @@ -3,10 +3,10 @@ package types import ( "strings" + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/gogo/protobuf/proto" - "github.com/pkg/errors" + "github.com/cosmos/gogoproto/proto" "golang.org/x/crypto/sha3" ) @@ -72,16 +72,16 @@ func (cfg *FeedConfig) ValidateBasic() error { } if cfg.ModuleParams == nil { - return sdkerrors.Wrap(ErrIncorrectConfig, "onchain config is not specified") + return errors.Wrap(ErrIncorrectConfig, "onchain config is not specified") } // TODO: determine whether this is a sensible enough limitation if cfg.ModuleParams.FeedId == "" || len(cfg.ModuleParams.FeedId) > FeedIDMaxLength { - return sdkerrors.Wrap(ErrIncorrectConfig, "feed_id is missing or incorrect length") + return errors.Wrap(ErrIncorrectConfig, "feed_id is missing or incorrect length") } if strings.TrimSpace(cfg.ModuleParams.FeedId) != cfg.ModuleParams.FeedId { - return sdkerrors.Wrap(ErrIncorrectConfig, "feed_id cannot have leading or trailing space characters") + return errors.Wrap(ErrIncorrectConfig, "feed_id cannot have leading or trailing space characters") } if len(cfg.ModuleParams.FeedAdmin) > 0 { @@ -97,15 +97,15 @@ func (cfg *FeedConfig) ValidateBasic() error { } if cfg.ModuleParams.MinAnswer.IsNil() || cfg.ModuleParams.MaxAnswer.IsNil() { - return sdkerrors.Wrap(ErrIncorrectConfig, "MinAnswer and MaxAnswer cannot be nil") + return errors.Wrap(ErrIncorrectConfig, "MinAnswer and MaxAnswer cannot be nil") } if cfg.ModuleParams.LinkPerTransmission.IsNil() || !cfg.ModuleParams.LinkPerTransmission.IsPositive() { - return sdkerrors.Wrap(ErrIncorrectConfig, "LinkPerTransmission must be positive") + return errors.Wrap(ErrIncorrectConfig, "LinkPerTransmission must be positive") } if cfg.ModuleParams.LinkPerObservation.IsNil() || !cfg.ModuleParams.LinkPerObservation.IsPositive() { - return sdkerrors.Wrap(ErrIncorrectConfig, "LinkPerObservation must be positive") + return errors.Wrap(ErrIncorrectConfig, "LinkPerObservation must be positive") } seenTransmitters := make(map[string]struct{}, len(cfg.Transmitters)) @@ -151,15 +151,15 @@ func checkConfigValid( } if f <= 0 { - return sdkerrors.Wrap(ErrIncorrectConfig, "f must be positive") + return errors.Wrap(ErrIncorrectConfig, "f must be positive") } if numSigners != numTransmitters { - return sdkerrors.Wrap(ErrIncorrectConfig, "oracle addresses out of registration") + return errors.Wrap(ErrIncorrectConfig, "oracle addresses out of registration") } if numSigners <= 3*f { - return sdkerrors.Wrapf(ErrIncorrectConfig, "faulty-oracle f too high: %d", f) + return errors.Wrapf(ErrIncorrectConfig, "faulty-oracle f too high: %d", f) } return nil diff --git a/bandchain/hooks/price/types.go b/chain/oracle/bandchain/hooks/price/types.go similarity index 83% rename from bandchain/hooks/price/types.go rename to chain/oracle/bandchain/hooks/price/types.go index d5a7c9ba..a5ff27d5 100644 --- a/bandchain/hooks/price/types.go +++ b/chain/oracle/bandchain/hooks/price/types.go @@ -1,6 +1,6 @@ package price -import "github.com/InjectiveLabs/sdk-go/bandchain/oracle/types" +import "github.com/InjectiveLabs/sdk-go/chain/oracle/bandchain/oracle/types" type SymbolInput struct { Symbols []string `json:"symbols"` @@ -34,7 +34,7 @@ type Price struct { ResolveTime int64 `json:"resolve_time"` } -func NewPrice(symbol string, multiplier uint64, px uint64, reqID types.RequestID, resolveTime int64) Price { +func NewPrice(symbol string, multiplier, px uint64, reqID types.RequestID, resolveTime int64) Price { return Price{ Symbol: symbol, Multiplier: multiplier, diff --git a/bandchain/oracle/types/constants.go b/chain/oracle/bandchain/oracle/types/constants.go similarity index 100% rename from bandchain/oracle/types/constants.go rename to chain/oracle/bandchain/oracle/types/constants.go diff --git a/chain/oracle/bandchain/oracle/types/error.go b/chain/oracle/bandchain/oracle/types/error.go new file mode 100644 index 00000000..1e31330f --- /dev/null +++ b/chain/oracle/bandchain/oracle/types/error.go @@ -0,0 +1,59 @@ +package types + +import ( + "cosmossdk.io/errors" +) + +var ( + ErrOwasmCompilation = errors.Register(ModuleName, 1, "owasm compilation failed") + ErrBadWasmExecution = errors.Register(ModuleName, 2, "bad wasm execution") + ErrDataSourceNotFound = errors.Register(ModuleName, 3, "data source not found") + ErrOracleScriptNotFound = errors.Register(ModuleName, 4, "oracle script not found") + ErrRequestNotFound = errors.Register(ModuleName, 5, "request not found") + ErrRawRequestNotFound = errors.Register(ModuleName, 6, "raw request not found") + ErrReporterNotFound = errors.Register(ModuleName, 7, "reporter not found") + ErrResultNotFound = errors.Register(ModuleName, 8, "result not found") + ErrReporterAlreadyExists = errors.Register(ModuleName, 9, "reporter already exists") + ErrValidatorNotRequested = errors.Register(ModuleName, 10, "validator not requested") + ErrValidatorAlreadyReported = errors.Register(ModuleName, 11, "validator already reported") + ErrInvalidReportSize = errors.Register(ModuleName, 12, "invalid report size") + ErrReporterNotAuthorized = errors.Register(ModuleName, 13, "reporter not authorized") + ErrEditorNotAuthorized = errors.Register(ModuleName, 14, "editor not authorized") + ErrValidatorAlreadyActive = errors.Register(ModuleName, 16, "validator already active") + ErrTooSoonToActivate = errors.Register(ModuleName, 17, "too soon to activate") + ErrTooLongName = errors.Register(ModuleName, 18, "too long name") + ErrTooLongDescription = errors.Register(ModuleName, 19, "too long description") + ErrEmptyExecutable = errors.Register(ModuleName, 20, "empty executable") + ErrEmptyWasmCode = errors.Register(ModuleName, 21, "empty wasm code") + ErrTooLargeExecutable = errors.Register(ModuleName, 22, "too large executable") + ErrTooLargeWasmCode = errors.Register(ModuleName, 23, "too large wasm code") + ErrInvalidMinCount = errors.Register(ModuleName, 24, "invalid min count") + ErrInvalidAskCount = errors.Register(ModuleName, 25, "invalid ask count") + ErrTooLargeCalldata = errors.Register(ModuleName, 26, "too large calldata") + ErrTooLongClientID = errors.Register(ModuleName, 27, "too long client id") + ErrEmptyRawRequests = errors.Register(ModuleName, 28, "empty raw requests") + ErrEmptyReport = errors.Register(ModuleName, 29, "empty report") + ErrDuplicateExternalID = errors.Register(ModuleName, 30, "duplicate external id") + ErrTooLongSchema = errors.Register(ModuleName, 31, "too long schema") + ErrTooLongURL = errors.Register(ModuleName, 32, "too long url") + ErrTooLargeRawReportData = errors.Register(ModuleName, 33, "too large raw report data") + ErrInsufficientValidators = errors.Register(ModuleName, 34, "insufficient available validators") + ErrCreateWithDoNotModify = errors.Register(ModuleName, 35, "cannot create with [do-not-modify] content") + ErrSelfReferenceAsReporter = errors.Register(ModuleName, 36, "cannot reference self as reporter") + ErrOBIDecode = errors.Register(ModuleName, 37, "obi decode failed") + ErrUncompressionFailed = errors.Register(ModuleName, 38, "uncompression failed") + ErrRequestAlreadyExpired = errors.Register(ModuleName, 39, "request already expired") + ErrBadDrbgInitialization = errors.Register(ModuleName, 40, "bad drbg initialization") + ErrMaxOracleChannels = errors.Register(ModuleName, 41, "max oracle channels") + ErrInvalidVersion = errors.Register(ModuleName, 42, "invalid ICS20 version") + ErrNotEnoughFee = errors.Register(ModuleName, 43, "not enough fee") + ErrInvalidOwasmGas = errors.Register(ModuleName, 44, "invalid owasm gas") + ErrIBCRequestDisabled = errors.Register(ModuleName, 45, "sending oracle request via IBC is disabled") + ErrInvalidRequestKey = errors.Register(ModuleName, 46, "invalid request key") + ErrTooLongRequestKey = errors.Register(ModuleName, 47, "too long request key") +) + +// WrapMaxError wraps an error message with additional info of the current and max values. +func WrapMaxError(err error, got, max int) error { + return errors.Wrapf(err, "got: %d, max: %d", got, max) +} diff --git a/bandchain/oracle/types/id.go b/chain/oracle/bandchain/oracle/types/id.go similarity index 100% rename from bandchain/oracle/types/id.go rename to chain/oracle/bandchain/oracle/types/id.go diff --git a/bandchain/oracle/types/keys.go b/chain/oracle/bandchain/oracle/types/keys.go similarity index 95% rename from bandchain/oracle/types/keys.go rename to chain/oracle/bandchain/oracle/types/keys.go index 0b3985f6..404b6841 100644 --- a/bandchain/oracle/types/keys.go +++ b/chain/oracle/bandchain/oracle/types/keys.go @@ -86,9 +86,7 @@ func OracleScriptStoreKey(oracleScriptID OracleScriptID) []byte { // ReporterStoreKey returns the key to check whether an address is a reporter of a validator. func ReporterStoreKey(validatorAddress sdk.ValAddress, reporterAddress sdk.AccAddress) []byte { - buf := append(ReporterStoreKeyPrefix, []byte(validatorAddress)...) - buf = append(buf, []byte(reporterAddress)...) - return buf + return append(append(ReporterStoreKeyPrefix, []byte(validatorAddress)...), []byte(reporterAddress)...) } // ValidatorStatusStoreKey returns the key to a validator's status. @@ -103,9 +101,7 @@ func ResultStoreKey(requestID RequestID) []byte { // ReportsOfValidatorPrefixKey returns the prefix key to get all reports for a request from a validator. func ReportsOfValidatorPrefixKey(reqID RequestID, val sdk.ValAddress) []byte { - buf := append(ReportStoreKeyPrefix, sdk.Uint64ToBigEndian(uint64(reqID))...) - buf = append(buf, val.Bytes()...) - return buf + return append(append(ReportStoreKeyPrefix, sdk.Uint64ToBigEndian(uint64(reqID))...), val.Bytes()...) } // ReportersOfValidatorPrefixKey returns the prefix key to get all reporters of a validator. diff --git a/chain/oracle/types/band_ibc.go b/chain/oracle/types/band_ibc.go index 1bd5674a..820053db 100644 --- a/chain/oracle/types/band_ibc.go +++ b/chain/oracle/types/band_ibc.go @@ -3,9 +3,10 @@ package types import ( "fmt" - bandprice "github.com/InjectiveLabs/sdk-go/bandchain/hooks/price" bandobi "github.com/bandprotocol/bandchain-packet/obi" bandPacket "github.com/bandprotocol/bandchain-packet/packet" + + bandprice "github.com/InjectiveLabs/sdk-go/chain/oracle/bandchain/hooks/price" ) func NewOracleRequestPacketData(clientID string, calldata []byte, r *BandOracleRequest) bandPacket.OracleRequestPacketData { diff --git a/chain/oracle/types/codec.go b/chain/oracle/types/codec.go index 393e719f..c438ad07 100644 --- a/chain/oracle/types/codec.go +++ b/chain/oracle/types/codec.go @@ -6,7 +6,10 @@ import ( cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + authzcdc "github.com/cosmos/cosmos-sdk/x/authz/codec" + govcdc "github.com/cosmos/cosmos-sdk/x/gov/codec" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + groupcdc "github.com/cosmos/cosmos-sdk/x/group/codec" ) // RegisterLegacyAminoCodec registers the necessary x/oracle interfaces and concrete types @@ -18,6 +21,7 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgRequestBandIBCRates{}, "oracle/MsgRequestBandIBCRates", nil) cdc.RegisterConcrete(&MsgRelayProviderPrices{}, "oracle/MsgRelayProviderPrices", nil) cdc.RegisterConcrete(&MsgRelayPythPrices{}, "oracle/MsgRelayPythPrices", nil) + cdc.RegisterConcrete(&MsgUpdateParams{}, "oracle/MsgUpdateParams", nil) cdc.RegisterConcrete(&GrantBandOraclePrivilegeProposal{}, "oracle/GrantBandOraclePrivilegeProposal", nil) cdc.RegisterConcrete(&RevokeBandOraclePrivilegeProposal{}, "oracle/RevokeBandOraclePrivilegeProposal", nil) @@ -28,7 +32,6 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&EnableBandIBCProposal{}, "oracle/EnableBandIBCProposal", nil) cdc.RegisterConcrete(&GrantProviderPrivilegeProposal{}, "oracle/GrantProviderPrivilegeProposal", nil) cdc.RegisterConcrete(&RevokeProviderPrivilegeProposal{}, "oracle/RevokeProviderPrivilegeProposal", nil) - } func RegisterInterfaces(registry types.InterfaceRegistry) { @@ -39,10 +42,10 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { &MsgRequestBandIBCRates{}, &MsgRelayProviderPrices{}, &MsgRelayPythPrices{}, + &MsgUpdateParams{}, ) - registry.RegisterImplementations( - (*govtypes.Content)(nil), + registry.RegisterImplementations((*govtypes.Content)(nil), &GrantBandOraclePrivilegeProposal{}, &RevokeBandOraclePrivilegeProposal{}, &GrantPriceFeederPrivilegeProposal{}, @@ -75,4 +78,8 @@ func init() { RegisterLegacyAminoCodec(amino) cryptocodec.RegisterCrypto(amino) amino.Seal() + + RegisterLegacyAminoCodec(authzcdc.Amino) + RegisterLegacyAminoCodec(govcdc.Amino) + RegisterLegacyAminoCodec(groupcdc.Amino) } diff --git a/chain/oracle/types/coinbase_oracle.go b/chain/oracle/types/coinbase_oracle.go index d317cfaa..ab02126b 100644 --- a/chain/oracle/types/coinbase_oracle.go +++ b/chain/oracle/types/coinbase_oracle.go @@ -4,7 +4,7 @@ import ( "bytes" "strings" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "cosmossdk.io/errors" "github.com/ethereum/go-ethereum/accounts/abi" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/crypto" @@ -73,7 +73,7 @@ func ValidateEthereumSignature(hash common.Hash, signature []byte, ethAddress co trimmedSig[64] = signature[95] if len(trimmedSig) < 65 { - return sdkerrors.Wrap(ErrInvalidEthereumSignature, "signature too short") + return errors.Wrap(ErrInvalidEthereumSignature, "signature too short") } // calculate recover id @@ -89,12 +89,12 @@ func ValidateEthereumSignature(hash common.Hash, signature []byte, ethAddress co // verify signature pubkey, err := crypto.SigToPub(preambleHash.Bytes(), trimmedSig) if err != nil { - return sdkerrors.Wrap(err, "signature to public key") + return errors.Wrap(err, "signature to public key") } addr := crypto.PubkeyToAddress(*pubkey) if !bytes.Equal(addr.Bytes(), ethAddress.Bytes()) { - return sdkerrors.Wrapf(ErrInvalidEthereumSignature, "signature not matching, expected %s but got %s", ethAddress.Hex(), addr.Hex()) + return errors.Wrapf(ErrInvalidEthereumSignature, "signature not matching, expected %s but got %s", ethAddress.Hex(), addr.Hex()) } return nil diff --git a/chain/oracle/types/errors.go b/chain/oracle/types/errors.go index 3689bb64..c9a28f15 100644 --- a/chain/oracle/types/errors.go +++ b/chain/oracle/types/errors.go @@ -1,47 +1,47 @@ package types import ( - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "cosmossdk.io/errors" ) var ( - ErrEmptyRelayerAddr = sdkerrors.Register(ModuleName, 1, "relayer address is empty") - ErrBadRatesCount = sdkerrors.Register(ModuleName, 2, "bad rates count") - ErrBadResolveTimesCount = sdkerrors.Register(ModuleName, 3, "bad resolve times") - ErrBadRequestIDsCount = sdkerrors.Register(ModuleName, 4, "bad request ID") - ErrRelayerNotAuthorized = sdkerrors.Register(ModuleName, 5, "relayer not authorized") - ErrBadPriceFeedBaseCount = sdkerrors.Register(ModuleName, 6, "bad price feed base count") - ErrBadPriceFeedQuoteCount = sdkerrors.Register(ModuleName, 7, "bad price feed quote count") - ErrUnsupportedOracleType = sdkerrors.Register(ModuleName, 8, "unsupported oracle type") - ErrBadMessagesCount = sdkerrors.Register(ModuleName, 9, "bad messages count") - ErrBadCoinbaseMessage = sdkerrors.Register(ModuleName, 10, "bad Coinbase message") - ErrInvalidEthereumSignature = sdkerrors.Register(ModuleName, 11, "bad Ethereum signature") - ErrBadCoinbaseMessageTimestamp = sdkerrors.Register(ModuleName, 12, "bad Coinbase message timestamp") - ErrCoinbasePriceNotFound = sdkerrors.Register(ModuleName, 13, "Coinbase price not found") - ErrBadPrice = sdkerrors.Register(ModuleName, 14, "Prices must be positive") - ErrPriceTooLarge = sdkerrors.Register(ModuleName, 15, "Prices must be less than 10 million.") - ErrInvalidBandIBCRequest = sdkerrors.Register(ModuleName, 16, "Invalid Band IBC Request") - ErrSample = sdkerrors.Register(ModuleName, 17, "sample error") - ErrInvalidPacketTimeout = sdkerrors.Register(ModuleName, 18, "invalid packet timeout") - ErrBadSymbolsCount = sdkerrors.Register(ModuleName, 19, "invalid symbols count") - ErrBadIBCPortBind = sdkerrors.Register(ModuleName, 20, "could not claim port capability") - ErrInvalidPortID = sdkerrors.Register(ModuleName, 21, "invalid IBC Port ID") - ErrInvalidChannelID = sdkerrors.Register(ModuleName, 22, "invalid IBC Channel ID") - ErrBadRequestInterval = sdkerrors.Register(ModuleName, 23, "invalid Band IBC request interval") - ErrInvalidBandIBCUpdateRequest = sdkerrors.Register(ModuleName, 24, "Invalid Band IBC Update Request Proposal") - ErrBandIBCRequestNotFound = sdkerrors.Register(ModuleName, 25, "Band IBC Oracle Request not found") - ErrEmptyBaseInfo = sdkerrors.Register(ModuleName, 26, "Base Info is empty") - ErrEmptyProvider = sdkerrors.Register(ModuleName, 27, "provider is empty") - ErrInvalidProvider = sdkerrors.Register(ModuleName, 28, "invalid provider name") - ErrInvalidSymbol = sdkerrors.Register(ModuleName, 29, "invalid symbol") - ErrRelayerAlreadyExists = sdkerrors.Register(ModuleName, 30, "relayer already exists") - ErrProviderPriceNotFound = sdkerrors.Register(ModuleName, 31, "provider price not found") - ErrInvalidOracleRequest = sdkerrors.Register(ModuleName, 32, "invalid oracle request") - ErrOraclePriceNotFound = sdkerrors.Register(ModuleName, 33, "no price for oracle was found") - ErrPythContractNotFound = sdkerrors.Register(ModuleName, 34, "no address for Pyth contract found") - ErrUnauthorizedPythPriceRelay = sdkerrors.Register(ModuleName, 35, "unauthorized Pyth price relay") - ErrInvalidPythPriceID = sdkerrors.Register(ModuleName, 36, "unauthorized Pyth price relay") - ErrInvalidPythExponent = sdkerrors.Register(ModuleName, 37, "unauthorized Pyth price relay") - ErrInvalidPythPublishTime = sdkerrors.Register(ModuleName, 38, "unauthorized Pyth price relay") - ErrEmptyPriceAttestations = sdkerrors.Register(ModuleName, 39, "empty price attestations") + ErrEmptyRelayerAddr = errors.Register(ModuleName, 1, "relayer address is empty") + ErrBadRatesCount = errors.Register(ModuleName, 2, "bad rates count") + ErrBadResolveTimesCount = errors.Register(ModuleName, 3, "bad resolve times") + ErrBadRequestIDsCount = errors.Register(ModuleName, 4, "bad request ID") + ErrRelayerNotAuthorized = errors.Register(ModuleName, 5, "relayer not authorized") + ErrBadPriceFeedBaseCount = errors.Register(ModuleName, 6, "bad price feed base count") + ErrBadPriceFeedQuoteCount = errors.Register(ModuleName, 7, "bad price feed quote count") + ErrUnsupportedOracleType = errors.Register(ModuleName, 8, "unsupported oracle type") + ErrBadMessagesCount = errors.Register(ModuleName, 9, "bad messages count") + ErrBadCoinbaseMessage = errors.Register(ModuleName, 10, "bad Coinbase message") + ErrInvalidEthereumSignature = errors.Register(ModuleName, 11, "bad Ethereum signature") + ErrBadCoinbaseMessageTimestamp = errors.Register(ModuleName, 12, "bad Coinbase message timestamp") + ErrCoinbasePriceNotFound = errors.Register(ModuleName, 13, "Coinbase price not found") + ErrBadPrice = errors.Register(ModuleName, 14, "Prices must be positive") + ErrPriceTooLarge = errors.Register(ModuleName, 15, "Prices must be less than 10 million.") + ErrInvalidBandIBCRequest = errors.Register(ModuleName, 16, "Invalid Band IBC Request") + ErrSample = errors.Register(ModuleName, 17, "sample error") + ErrInvalidPacketTimeout = errors.Register(ModuleName, 18, "invalid packet timeout") + ErrBadSymbolsCount = errors.Register(ModuleName, 19, "invalid symbols count") + ErrBadIBCPortBind = errors.Register(ModuleName, 20, "could not claim port capability") + ErrInvalidPortID = errors.Register(ModuleName, 21, "invalid IBC Port ID") + ErrInvalidChannelID = errors.Register(ModuleName, 22, "invalid IBC Channel ID") + ErrBadRequestInterval = errors.Register(ModuleName, 23, "invalid Band IBC request interval") + ErrInvalidBandIBCUpdateRequest = errors.Register(ModuleName, 24, "Invalid Band IBC Update Request Proposal") + ErrBandIBCRequestNotFound = errors.Register(ModuleName, 25, "Band IBC Oracle Request not found") + ErrEmptyBaseInfo = errors.Register(ModuleName, 26, "Base Info is empty") + ErrEmptyProvider = errors.Register(ModuleName, 27, "provider is empty") + ErrInvalidProvider = errors.Register(ModuleName, 28, "invalid provider name") + ErrInvalidSymbol = errors.Register(ModuleName, 29, "invalid symbol") + ErrRelayerAlreadyExists = errors.Register(ModuleName, 30, "relayer already exists") + ErrProviderPriceNotFound = errors.Register(ModuleName, 31, "provider price not found") + ErrInvalidOracleRequest = errors.Register(ModuleName, 32, "invalid oracle request") + ErrOraclePriceNotFound = errors.Register(ModuleName, 33, "no price for oracle was found") + ErrPythContractNotFound = errors.Register(ModuleName, 34, "no address for Pyth contract found") + ErrUnauthorizedPythPriceRelay = errors.Register(ModuleName, 35, "unauthorized Pyth price relay") + ErrInvalidPythPriceID = errors.Register(ModuleName, 36, "unauthorized Pyth price relay") + ErrInvalidPythExponent = errors.Register(ModuleName, 37, "unauthorized Pyth price relay") + ErrInvalidPythPublishTime = errors.Register(ModuleName, 38, "unauthorized Pyth price relay") + ErrEmptyPriceAttestations = errors.Register(ModuleName, 39, "empty price attestations") ) diff --git a/chain/oracle/types/events.pb.go b/chain/oracle/types/events.pb.go index 0dfb9f15..d8b8118e 100644 --- a/chain/oracle/types/events.pb.go +++ b/chain/oracle/types/events.pb.go @@ -7,8 +7,8 @@ import ( fmt "fmt" _ "github.com/cosmos/cosmos-sdk/types" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" diff --git a/chain/oracle/types/expected_keepers.go b/chain/oracle/types/expected_keepers.go index b35dc86e..7cff08ad 100644 --- a/chain/oracle/types/expected_keepers.go +++ b/chain/oracle/types/expected_keepers.go @@ -3,8 +3,8 @@ package types import ( sdk "github.com/cosmos/cosmos-sdk/types" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types" - ibcexported "github.com/cosmos/ibc-go/v4/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" ocrtypes "github.com/InjectiveLabs/sdk-go/chain/ocr/types" ) @@ -22,7 +22,15 @@ type BankKeeper interface { type ChannelKeeper interface { GetChannel(ctx sdk.Context, srcPort, srcChan string) (channel channeltypes.Channel, found bool) GetNextSequenceSend(ctx sdk.Context, portID, channelID string) (uint64, bool) - SendPacket(ctx sdk.Context, channelCap *capabilitytypes.Capability, packet ibcexported.PacketI) error + SendPacket( + ctx sdk.Context, + chanCap *capabilitytypes.Capability, + sourcePort string, + sourceChannel string, + timeoutHeight clienttypes.Height, + timeoutTimestamp uint64, + data []byte, + ) (sequence uint64, err error) ChanCloseInit(ctx sdk.Context, portID, channelID string, chanCap *capabilitytypes.Capability) error } diff --git a/chain/oracle/types/genesis.pb.go b/chain/oracle/types/genesis.pb.go index b4723734..04cb607c 100644 --- a/chain/oracle/types/genesis.pb.go +++ b/chain/oracle/types/genesis.pb.go @@ -5,8 +5,8 @@ package types import ( fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" diff --git a/chain/oracle/types/key.go b/chain/oracle/types/key.go index 8c0d364e..b2ed36ee 100644 --- a/chain/oracle/types/key.go +++ b/chain/oracle/types/key.go @@ -26,6 +26,7 @@ var ( // Keys for band store prefixes BandPriceKey = []byte{0x01} BandRelayerKey = []byte{0x02} + ParamsKey = []byte{0x03} // Keys for pricefeeder store prefixes PricefeedInfoKey = []byte{0x11} diff --git a/chain/oracle/types/msgs.go b/chain/oracle/types/msgs.go index 4489263e..d6d06c26 100644 --- a/chain/oracle/types/msgs.go +++ b/chain/oracle/types/msgs.go @@ -3,20 +3,22 @@ package types import ( "strings" + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) -const RouterKey = ModuleName - // oracle message types const ( + RouterKey = ModuleName + TypeMsgRelayPriceFeedPrice = "relayPriceFeedPrice" TypeMsgRelayBandRates = "relayBandRates" TypeMsgRelayCoinbaseMessages = "relayCoinbaseMessages" TypeMsgRequestBandIBCRates = "requestBandIBCRates" TypeMsgRelayProviderPrices = "relayProviderPrices" TypeMsgRelayPythPrices = "relayPythPrices" + TypeMsgUpdateParams = "updateParams" ) var ( @@ -26,8 +28,34 @@ var ( _ sdk.Msg = &MsgRequestBandIBCRates{} _ sdk.Msg = &MsgRelayProviderPrices{} _ sdk.Msg = &MsgRelayPythPrices{} + _ sdk.Msg = &MsgUpdateParams{} ) +func (msg MsgUpdateParams) Route() string { return RouterKey } + +func (msg MsgUpdateParams) Type() string { return TypeMsgUpdateParams } + +func (msg MsgUpdateParams) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Authority); err != nil { + return errors.Wrap(err, "invalid authority address") + } + + if err := msg.Params.Validate(); err != nil { + return err + } + + return nil +} + +func (msg *MsgUpdateParams) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(msg)) +} + +func (msg MsgUpdateParams) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(msg.Authority) + return []sdk.AccAddress{addr} +} + // Route implements the sdk.Msg interface. It should return the name of the module func (msg MsgRelayPriceFeedPrice) Route() string { return RouterKey } @@ -37,7 +65,7 @@ func (msg MsgRelayPriceFeedPrice) Type() string { return TypeMsgRelayPriceFeedPr // ValidateBasic implements the sdk.Msg interface. It runs stateless checks on the message func (msg MsgRelayPriceFeedPrice) ValidateBasic() error { if msg.Sender == "" { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { return err @@ -172,11 +200,11 @@ func (msg MsgRequestBandIBCRates) ValidateBasic() error { return err } if sender.Empty() { - return sdkerrors.Wrapf(ErrInvalidBandIBCRequest, "MsgRequestBandIBCRates: Sender address must not be empty.") + return errors.Wrapf(ErrInvalidBandIBCRequest, "MsgRequestBandIBCRates: Sender address must not be empty.") } if msg.RequestId == 0 { - return sdkerrors.Wrapf(ErrInvalidBandIBCRequest, "MsgRequestBandIBCRates: requestID should be greater than zero") + return errors.Wrapf(ErrInvalidBandIBCRequest, "MsgRequestBandIBCRates: requestID should be greater than zero") } return nil } @@ -205,7 +233,7 @@ func (msg MsgRelayProviderPrices) Type() string { return TypeMsgRelayProviderPri // ValidateBasic implements the sdk.Msg interface. It runs stateless checks on the message func (msg MsgRelayProviderPrices) ValidateBasic() error { if msg.Sender == "" { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { return err @@ -260,7 +288,7 @@ func (msg MsgRelayPythPrices) Type() string { return TypeMsgRelayPythPrices } // ValidateBasic implements the sdk.Msg interface. It runs stateless checks on the message func (msg MsgRelayPythPrices) ValidateBasic() error { if msg.Sender == "" { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { return err diff --git a/chain/oracle/types/oracle.go b/chain/oracle/types/oracle.go index d52647ec..a03aad9b 100644 --- a/chain/oracle/types/oracle.go +++ b/chain/oracle/types/oracle.go @@ -3,9 +3,9 @@ package types import ( "strings" + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/gogo/protobuf/proto" + "github.com/cosmos/gogoproto/proto" ) const QuoteUSD = "USD" @@ -33,7 +33,7 @@ func GetOracleType(oracleTypeStr string) (OracleType, error) { case "pyth": oracleType = OracleType_Pyth default: - return OracleType_Band, sdkerrors.Wrapf(ErrUnsupportedOracleType, "%s", oracleTypeStr) + return OracleType_Band, errors.Wrapf(ErrUnsupportedOracleType, "%s", oracleTypeStr) } return oracleType, nil } diff --git a/chain/oracle/types/oracle.pb.go b/chain/oracle/types/oracle.pb.go index 9321c167..c91a0dce 100644 --- a/chain/oracle/types/oracle.pb.go +++ b/chain/oracle/types/oracle.pb.go @@ -7,8 +7,8 @@ import ( fmt "fmt" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" @@ -820,7 +820,8 @@ func (m *PythPriceState) GetPriceState() PriceState { type BandOracleRequest struct { // Unique Identifier for band ibc oracle request RequestId uint64 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` - // OracleScriptID is the unique identifier of the oracle script to be executed. + // OracleScriptID is the unique identifier of the oracle script to be + // executed. OracleScriptId int64 `protobuf:"varint,2,opt,name=oracle_script_id,json=oracleScriptId,proto3" json:"oracle_script_id,omitempty"` // Symbols is the list of symbols to prepare in the calldata Symbols []string `protobuf:"bytes,3,rep,name=symbols,proto3" json:"symbols,omitempty"` @@ -831,13 +832,15 @@ type BandOracleRequest struct { // proceed to the execution phase. Higher value means more security, at the // cost of liveness. MinCount uint64 `protobuf:"varint,5,opt,name=min_count,json=minCount,proto3" json:"min_count,omitempty"` - // FeeLimit is the maximum tokens that will be paid to all data source providers. + // FeeLimit is the maximum tokens that will be paid to all data source + // providers. FeeLimit github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,6,rep,name=fee_limit,json=feeLimit,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"fee_limit"` // PrepareGas is amount of gas to pay to prepare raw requests PrepareGas uint64 `protobuf:"varint,7,opt,name=prepare_gas,json=prepareGas,proto3" json:"prepare_gas,omitempty"` // ExecuteGas is amount of gas to reserve for executing ExecuteGas uint64 `protobuf:"varint,8,opt,name=execute_gas,json=executeGas,proto3" json:"execute_gas,omitempty"` - // MinSourceCount is the minimum number of data sources that must be used by each validator + // MinSourceCount is the minimum number of data sources that must be used by + // each validator MinSourceCount uint64 `protobuf:"varint,9,opt,name=min_source_count,json=minSourceCount,proto3" json:"min_source_count,omitempty"` } @@ -948,7 +951,7 @@ type BandIBCParams struct { IbcVersion string `protobuf:"bytes,4,opt,name=ibc_version,json=ibcVersion,proto3" json:"ibc_version,omitempty"` // band IBC portID IbcPortId string `protobuf:"bytes,5,opt,name=ibc_port_id,json=ibcPortId,proto3" json:"ibc_port_id,omitempty"` - // legacy oracle scheme ids + // legacy oracle scheme ids LegacyOracleIds []int64 `protobuf:"varint,6,rep,packed,name=legacy_oracle_ids,json=legacyOracleIds,proto3" json:"legacy_oracle_ids,omitempty"` } @@ -1236,17 +1239,21 @@ func (m *PriceRecord) GetTimestamp() int64 { return 0 } -// MetadataStatistics refers to the metadata summary statistics of the historical sample considered +// MetadataStatistics refers to the metadata summary statistics of the +// historical sample considered type MetadataStatistics struct { - // GroupCount refers to the number of groups used. Equals RecordsSampleSize if no grouping is used + // GroupCount refers to the number of groups used. Equals RecordsSampleSize if + // no grouping is used GroupCount uint32 `protobuf:"varint,1,opt,name=group_count,json=groupCount,proto3" json:"group_count,omitempty"` // RecordsSampleSize refers to the total number of records used. RecordsSampleSize uint32 `protobuf:"varint,2,opt,name=records_sample_size,json=recordsSampleSize,proto3" json:"records_sample_size,omitempty"` // Mean refers to the arithmetic mean - // For trades, the mean is the VWAP computed over the grouped trade records ∑ (price * quantity) / ∑ quantity - // For oracle prices, the mean is computed over the price records ∑ (price) / prices_count + // For trades, the mean is the VWAP computed over the grouped trade records ∑ + // (price * quantity) / ∑ quantity For oracle prices, the mean is computed + // over the price records ∑ (price) / prices_count Mean github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=mean,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"mean"` - // TWAP refers to the time-weighted average price which equals ∑ (price_i * ∆t_i) / ∑ ∆t_i where ∆t_i = t_i - t_{i-1} + // TWAP refers to the time-weighted average price which equals ∑ (price_i * + // ∆t_i) / ∑ ∆t_i where ∆t_i = t_i - t_{i-1} Twap github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=twap,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"twap"` // FirstTimestamp is the timestamp of the oldest record considered FirstTimestamp int64 `protobuf:"varint,5,opt,name=first_timestamp,json=firstTimestamp,proto3" json:"first_timestamp,omitempty"` diff --git a/chain/oracle/types/proposal.go b/chain/oracle/types/proposal.go index 87af70ec..20009528 100644 --- a/chain/oracle/types/proposal.go +++ b/chain/oracle/types/proposal.go @@ -3,13 +3,15 @@ package types import ( "strings" + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - gov "github.com/cosmos/cosmos-sdk/x/gov/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" - bandprice "github.com/InjectiveLabs/sdk-go/bandchain/hooks/price" - bandoracle "github.com/InjectiveLabs/sdk-go/bandchain/oracle/types" bandobi "github.com/bandprotocol/bandchain-packet/obi" + + bandprice "github.com/InjectiveLabs/sdk-go/chain/oracle/bandchain/hooks/price" + bandoracle "github.com/InjectiveLabs/sdk-go/chain/oracle/bandchain/oracle/types" ) // constants @@ -26,36 +28,27 @@ const ( ) func init() { - gov.RegisterProposalType(ProposalTypeGrantBandOraclePrivilege) - gov.RegisterProposalTypeCodec(&GrantBandOraclePrivilegeProposal{}, "injective/GrantBandOraclePrivilegeProposal") - gov.RegisterProposalType(ProposalTypeRevokeBandOraclePrivilege) - gov.RegisterProposalTypeCodec(&RevokeBandOraclePrivilegeProposal{}, "injective/RevokeBandOraclePrivilegeProposal") - gov.RegisterProposalType(ProposalTypeGrantPriceFeederOraclePrivilege) - gov.RegisterProposalTypeCodec(&GrantPriceFeederPrivilegeProposal{}, "injective/GrantPriceFeederPrivilegeProposal") - gov.RegisterProposalType(ProposalTypeRevokePriceFeederOraclePrivilege) - gov.RegisterProposalTypeCodec(&RevokePriceFeederPrivilegeProposal{}, "injective/RevokePriceFeederPrivilegeProposal") - gov.RegisterProposalType(ProposalAuthorizeBandOracleRequest) - gov.RegisterProposalTypeCodec(&AuthorizeBandOracleRequestProposal{}, "injective/AuthorizeBandOracleRequestProposal") - gov.RegisterProposalType(ProposalEnableBandIBC) - gov.RegisterProposalTypeCodec(&EnableBandIBCProposal{}, "injective/EnableBandIBCProposal") - gov.RegisterProposalType(ProposalUpdateBandOracleRequest) - gov.RegisterProposalTypeCodec(&UpdateBandOracleRequestProposal{}, "injective/UpdateBandOracleRequestProposal") - gov.RegisterProposalType(ProposalTypeGrantProviderPrivilege) - gov.RegisterProposalTypeCodec(&GrantProviderPrivilegeProposal{}, "injective/GrantProviderPrivilegeProposal") - gov.RegisterProposalType(ProposalTypeRevokeProviderPrivilege) - gov.RegisterProposalTypeCodec(&RevokeProviderPrivilegeProposal{}, "injective/RevokeProviderPrivilegeProposal") + govtypes.RegisterProposalType(ProposalTypeGrantBandOraclePrivilege) + govtypes.RegisterProposalType(ProposalTypeRevokeBandOraclePrivilege) + govtypes.RegisterProposalType(ProposalTypeGrantPriceFeederOraclePrivilege) + govtypes.RegisterProposalType(ProposalTypeRevokePriceFeederOraclePrivilege) + govtypes.RegisterProposalType(ProposalAuthorizeBandOracleRequest) + govtypes.RegisterProposalType(ProposalEnableBandIBC) + govtypes.RegisterProposalType(ProposalUpdateBandOracleRequest) + govtypes.RegisterProposalType(ProposalTypeGrantProviderPrivilege) + govtypes.RegisterProposalType(ProposalTypeRevokeProviderPrivilege) } // Implements Proposal Interface -var _ gov.Content = &GrantBandOraclePrivilegeProposal{} -var _ gov.Content = &RevokeBandOraclePrivilegeProposal{} -var _ gov.Content = &GrantPriceFeederPrivilegeProposal{} -var _ gov.Content = &RevokePriceFeederPrivilegeProposal{} -var _ gov.Content = &AuthorizeBandOracleRequestProposal{} -var _ gov.Content = &UpdateBandOracleRequestProposal{} -var _ gov.Content = &EnableBandIBCProposal{} -var _ gov.Content = &GrantProviderPrivilegeProposal{} -var _ gov.Content = &RevokeProviderPrivilegeProposal{} +var _ govtypes.Content = &GrantBandOraclePrivilegeProposal{} +var _ govtypes.Content = &RevokeBandOraclePrivilegeProposal{} +var _ govtypes.Content = &GrantPriceFeederPrivilegeProposal{} +var _ govtypes.Content = &RevokePriceFeederPrivilegeProposal{} +var _ govtypes.Content = &AuthorizeBandOracleRequestProposal{} +var _ govtypes.Content = &UpdateBandOracleRequestProposal{} +var _ govtypes.Content = &EnableBandIBCProposal{} +var _ govtypes.Content = &GrantProviderPrivilegeProposal{} +var _ govtypes.Content = &RevokeProviderPrivilegeProposal{} // GetTitle returns the title of this proposal. func (p *GrantBandOraclePrivilegeProposal) GetTitle() string { @@ -82,7 +75,7 @@ func (p *GrantBandOraclePrivilegeProposal) ValidateBasic() error { return err } } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // GetTitle returns the title of this proposal. @@ -110,7 +103,7 @@ func (p *RevokeBandOraclePrivilegeProposal) ValidateBasic() error { return err } } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // GetTitle returns the title of this proposal. @@ -142,7 +135,7 @@ func (p *GrantPriceFeederPrivilegeProposal) ValidateBasic() error { return ErrEmptyRelayerAddr } } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // GetTitle returns the title of this proposal. @@ -175,7 +168,7 @@ func (p *RevokePriceFeederPrivilegeProposal) ValidateBasic() error { return ErrEmptyRelayerAddr } } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // GetTitle returns the title of this proposal. @@ -212,7 +205,7 @@ func (p *GrantProviderPrivilegeProposal) ValidateBasic() error { return ErrEmptyRelayerAddr } } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // GetTitle returns the title of this proposal. @@ -256,7 +249,7 @@ func (p *RevokeProviderPrivilegeProposal) ValidateBasic() error { return ErrEmptyRelayerAddr } } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // GetTitle returns the title of this proposal. @@ -280,11 +273,11 @@ func (p *AuthorizeBandOracleRequestProposal) ProposalType() string { // ValidateBasic returns ValidateBasic result of this proposal. func (p *AuthorizeBandOracleRequestProposal) ValidateBasic() error { if p.Request.OracleScriptId <= 0 { - return sdkerrors.Wrapf(ErrInvalidBandIBCRequest, "AuthorizeBandOracleRequestProposal: Oracle script id (%d) must be positive.", p.Request.OracleScriptId) + return errors.Wrapf(ErrInvalidBandIBCRequest, "AuthorizeBandOracleRequestProposal: Oracle script id (%d) must be positive.", p.Request.OracleScriptId) } if len(p.Request.Symbols) == 0 { - return sdkerrors.Wrap(ErrBadSymbolsCount, "AuthorizeBandOracleRequestProposal") + return errors.Wrap(ErrBadSymbolsCount, "AuthorizeBandOracleRequestProposal") } callData, err := bandobi.Encode(bandprice.SymbolInput{ @@ -300,34 +293,34 @@ func (p *AuthorizeBandOracleRequestProposal) ValidateBasic() error { } if p.Request.MinCount <= 0 { - return sdkerrors.Wrapf(bandoracle.ErrInvalidMinCount, "AuthorizeBandOracleRequestProposal: Minimum validator count (%d) must be positive.", p.Request.MinCount) + return errors.Wrapf(bandoracle.ErrInvalidMinCount, "AuthorizeBandOracleRequestProposal: Minimum validator count (%d) must be positive.", p.Request.MinCount) } if p.Request.AskCount <= 0 { - return sdkerrors.Wrapf(bandoracle.ErrInvalidAskCount, "AuthorizeBandOracleRequestProposal: Request validator count (%d) must be positive.", p.Request.AskCount) + return errors.Wrapf(bandoracle.ErrInvalidAskCount, "AuthorizeBandOracleRequestProposal: Request validator count (%d) must be positive.", p.Request.AskCount) } if p.Request.AskCount < p.Request.MinCount { - return sdkerrors.Wrapf(bandoracle.ErrInvalidAskCount, "AuthorizeBandOracleRequestProposal: Request validator count (%d) must not be less than sufficient validator count (%d).", p.Request.AskCount, p.Request.MinCount) + return errors.Wrapf(bandoracle.ErrInvalidAskCount, "AuthorizeBandOracleRequestProposal: Request validator count (%d) must not be less than sufficient validator count (%d).", p.Request.AskCount, p.Request.MinCount) } if !p.Request.FeeLimit.IsValid() { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidCoins, "AuthorizeBandOracleRequestProposal: Invalid Fee Limit (%s)", p.Request.GetFeeLimit().String()) + return errors.Wrapf(sdkerrors.ErrInvalidCoins, "AuthorizeBandOracleRequestProposal: Invalid Fee Limit (%s)", p.Request.GetFeeLimit().String()) } if p.Request.PrepareGas <= 0 { - return sdkerrors.Wrapf(bandoracle.ErrInvalidOwasmGas, "AuthorizeBandOracleRequestProposal: Invalid Prepare Gas (%d)", p.Request.GetPrepareGas()) + return errors.Wrapf(bandoracle.ErrInvalidOwasmGas, "AuthorizeBandOracleRequestProposal: Invalid Prepare Gas (%d)", p.Request.GetPrepareGas()) } if p.Request.ExecuteGas <= 0 { - return sdkerrors.Wrapf(bandoracle.ErrInvalidOwasmGas, "AuthorizeBandOracleRequestProposal: Invalid Execute Gas (%d)", p.Request.ExecuteGas) + return errors.Wrapf(bandoracle.ErrInvalidOwasmGas, "AuthorizeBandOracleRequestProposal: Invalid Execute Gas (%d)", p.Request.ExecuteGas) } if p.Request.PrepareGas+p.Request.ExecuteGas > bandoracle.MaximumOwasmGas { - return sdkerrors.Wrapf(bandoracle.ErrInvalidOwasmGas, "AuthorizeBandOracleRequestProposal: Sum of prepare gas and execute gas (%d) exceeds Maximum gas (%d)", (p.Request.PrepareGas + p.Request.ExecuteGas), bandoracle.MaximumOwasmGas) + return errors.Wrapf(bandoracle.ErrInvalidOwasmGas, "AuthorizeBandOracleRequestProposal: Sum of prepare gas and execute gas (%d) exceeds Maximum gas (%d)", (p.Request.PrepareGas + p.Request.ExecuteGas), bandoracle.MaximumOwasmGas) } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // GetTitle returns the title of this proposal. @@ -356,13 +349,13 @@ func (p *EnableBandIBCProposal) ValidateBasic() error { } if p.BandIbcParams.IbcSourceChannel == "" { - return sdkerrors.Wrap(ErrInvalidBandIBCRequest, "AuthorizeBandOracleRequestProposal: IBC Source Chanel must not be empty.") + return errors.Wrap(ErrInvalidBandIBCRequest, "AuthorizeBandOracleRequestProposal: IBC Source Chanel must not be empty.") } if p.BandIbcParams.IbcVersion == "" { - return sdkerrors.Wrap(bandoracle.ErrInvalidVersion, "AuthorizeBandOracleRequestProposal: IBC Version must not be empty.") + return errors.Wrap(bandoracle.ErrInvalidVersion, "AuthorizeBandOracleRequestProposal: IBC Version must not be empty.") } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // GetTitle returns the title of this proposal. @@ -390,7 +383,7 @@ func (p *UpdateBandOracleRequestProposal) ValidateBasic() error { } if len(p.DeleteRequestIds) > 0 && p.UpdateOracleRequest != nil { - return sdkerrors.Wrapf(ErrInvalidBandIBCUpdateRequest, "cannot update requestID %T and delete reqeustID %T at same time", p.UpdateOracleRequest.RequestId, p.DeleteRequestIds) + return errors.Wrapf(ErrInvalidBandIBCUpdateRequest, "cannot update requestID %T and delete reqeustID %T at same time", p.UpdateOracleRequest.RequestId, p.DeleteRequestIds) } if p.UpdateOracleRequest != nil && len(p.UpdateOracleRequest.Symbols) > 0 { @@ -409,16 +402,16 @@ func (p *UpdateBandOracleRequestProposal) ValidateBasic() error { } if p.UpdateOracleRequest != nil && p.UpdateOracleRequest.AskCount > 0 && p.UpdateOracleRequest.MinCount > 0 && p.UpdateOracleRequest.AskCount < p.UpdateOracleRequest.MinCount { - return sdkerrors.Wrapf(bandoracle.ErrInvalidAskCount, "UpdateBandOracleRequestProposal: Request validator count (%d) must not be less than sufficient validator count (%d).", p.UpdateOracleRequest.AskCount, p.UpdateOracleRequest.MinCount) + return errors.Wrapf(bandoracle.ErrInvalidAskCount, "UpdateBandOracleRequestProposal: Request validator count (%d) must not be less than sufficient validator count (%d).", p.UpdateOracleRequest.AskCount, p.UpdateOracleRequest.MinCount) } if p.UpdateOracleRequest != nil && p.UpdateOracleRequest.FeeLimit != nil && !p.UpdateOracleRequest.FeeLimit.IsValid() { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidCoins, "UpdateBandOracleRequestProposal: Invalid Fee Limit (%s)", p.UpdateOracleRequest.GetFeeLimit().String()) + return errors.Wrapf(sdkerrors.ErrInvalidCoins, "UpdateBandOracleRequestProposal: Invalid Fee Limit (%s)", p.UpdateOracleRequest.GetFeeLimit().String()) } if p.UpdateOracleRequest != nil && p.UpdateOracleRequest.PrepareGas > 0 && p.UpdateOracleRequest.ExecuteGas > 0 && p.UpdateOracleRequest.PrepareGas+p.UpdateOracleRequest.ExecuteGas > bandoracle.MaximumOwasmGas { - return sdkerrors.Wrapf(bandoracle.ErrInvalidOwasmGas, "UpdateBandOracleRequestProposal: Sum of prepare gas and execute gas (%d) exceeds Maximum gas (%d)", (p.UpdateOracleRequest.PrepareGas + p.UpdateOracleRequest.ExecuteGas), bandoracle.MaximumOwasmGas) + return errors.Wrapf(bandoracle.ErrInvalidOwasmGas, "UpdateBandOracleRequestProposal: Sum of prepare gas and execute gas (%d) exceeds Maximum gas (%d)", (p.UpdateOracleRequest.PrepareGas + p.UpdateOracleRequest.ExecuteGas), bandoracle.MaximumOwasmGas) } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } diff --git a/chain/oracle/types/proposal.pb.go b/chain/oracle/types/proposal.pb.go index c422f83d..2606c3f3 100644 --- a/chain/oracle/types/proposal.pb.go +++ b/chain/oracle/types/proposal.pb.go @@ -5,9 +5,10 @@ package types import ( fmt "fmt" + _ "github.com/cosmos/cosmos-proto" _ "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" @@ -399,43 +400,44 @@ func init() { } var fileDescriptor_c5a187f865fd0c5b = []byte{ - // 561 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x95, 0x41, 0x6b, 0x13, 0x41, - 0x14, 0xc7, 0x77, 0x4c, 0xaa, 0xe9, 0x14, 0x51, 0xd6, 0x16, 0x96, 0x1c, 0x36, 0x69, 0x40, 0x5a, - 0x50, 0x77, 0xa9, 0xde, 0xbc, 0x19, 0x51, 0x09, 0x16, 0x0c, 0x0b, 0xbd, 0x78, 0x59, 0x66, 0x67, - 0x9f, 0xc9, 0xe8, 0x66, 0x67, 0x3b, 0x33, 0x1b, 0xa8, 0x27, 0xbd, 0x79, 0xf4, 0xac, 0x97, 0xde, - 0xf5, 0x20, 0xf8, 0x25, 0x7a, 0xec, 0xd1, 0x93, 0x48, 0x72, 0xf1, 0xec, 0x27, 0x90, 0xcc, 0x4c, - 0xd2, 0x04, 0x89, 0x20, 0xad, 0x94, 0xde, 0xe6, 0xcd, 0x7b, 0xfb, 0xff, 0xff, 0xde, 0x3c, 0x66, - 0x07, 0x6f, 0xb1, 0xfc, 0x25, 0x50, 0xc5, 0x86, 0x10, 0x72, 0x41, 0x68, 0x06, 0xe1, 0x70, 0x27, - 0x01, 0x45, 0x76, 0xc2, 0x42, 0xf0, 0x82, 0x4b, 0x92, 0x05, 0x85, 0xe0, 0x8a, 0xbb, 0xde, 0xac, - 0x30, 0x30, 0x85, 0x81, 0x2d, 0xac, 0xaf, 0xf7, 0x78, 0x8f, 0xeb, 0xa2, 0x70, 0xb2, 0x32, 0xf5, - 0x75, 0x9f, 0x72, 0x39, 0xe0, 0x32, 0x4c, 0x88, 0x3c, 0xd1, 0xa4, 0x9c, 0xe5, 0x36, 0x7f, 0x73, - 0xa9, 0xb1, 0x95, 0xd7, 0x65, 0xad, 0x37, 0x08, 0x37, 0x9f, 0x08, 0x92, 0xab, 0x36, 0xc9, 0xd3, - 0x67, 0x3a, 0xd3, 0x15, 0x6c, 0xc8, 0x32, 0xe8, 0x41, 0xd7, 0x12, 0xba, 0xeb, 0x78, 0x45, 0x31, - 0x95, 0x81, 0x87, 0x9a, 0x68, 0x7b, 0x35, 0x32, 0x81, 0xdb, 0xc4, 0x6b, 0x29, 0x48, 0x2a, 0x58, - 0xa1, 0x18, 0xcf, 0xbd, 0x4b, 0x3a, 0x37, 0xbf, 0xe5, 0xd6, 0x71, 0x4d, 0x40, 0x46, 0x0e, 0x40, - 0x48, 0xaf, 0xd2, 0xac, 0x6c, 0xaf, 0x46, 0xb3, 0xf8, 0x7e, 0xed, 0xdd, 0x61, 0xc3, 0xf9, 0x79, - 0xd8, 0x70, 0x5a, 0x6f, 0x11, 0xde, 0x8c, 0x60, 0xc8, 0x5f, 0xc1, 0xf9, 0x31, 0x7c, 0x42, 0x78, - 0x53, 0x1f, 0x43, 0x57, 0x30, 0x0a, 0x8f, 0x01, 0x52, 0x10, 0x67, 0xc7, 0xe0, 0xe2, 0xea, 0x64, - 0x4c, 0x5e, 0x45, 0xa7, 0xf4, 0x7a, 0xa2, 0xb5, 0x5f, 0x72, 0x05, 0x5e, 0xd5, 0x68, 0xe9, 0x60, - 0x81, 0x76, 0x65, 0x29, 0xed, 0x07, 0x84, 0x7d, 0x4b, 0xcb, 0x87, 0xec, 0x4c, 0x51, 0xeb, 0xb8, - 0x56, 0x58, 0x51, 0x8b, 0x3b, 0x8b, 0x17, 0xe0, 0xaa, 0x4b, 0xe1, 0x3e, 0x22, 0xdc, 0x30, 0xe3, - 0x3c, 0x3f, 0xba, 0xe5, 0x47, 0xf7, 0x19, 0xe1, 0xd6, 0x94, 0xee, 0x02, 0x4c, 0xfa, 0x2b, 0xc2, - 0xad, 0x07, 0xa5, 0xea, 0x73, 0xc1, 0x5e, 0xcf, 0x5d, 0x8f, 0x08, 0xf6, 0x4b, 0x90, 0xea, 0xd4, - 0xb8, 0x4f, 0xf1, 0x15, 0x61, 0xa4, 0x34, 0xf1, 0xda, 0xdd, 0x5b, 0xc1, 0xb2, 0xdf, 0x50, 0xf0, - 0x87, 0x7b, 0xbb, 0x7a, 0xf4, 0xbd, 0xe1, 0x44, 0x53, 0x85, 0x39, 0xea, 0x5f, 0x08, 0x37, 0xf6, - 0x8a, 0x94, 0xa8, 0xff, 0x80, 0x7c, 0x1b, 0xbb, 0x29, 0x64, 0xa0, 0x20, 0xb6, 0xbe, 0x31, 0x4b, - 0xcd, 0xcd, 0xae, 0x46, 0xd7, 0x4d, 0xc6, 0x5a, 0x75, 0x52, 0xe9, 0xc6, 0x78, 0xa3, 0xd4, 0x20, - 0xb1, 0xe9, 0x66, 0xfa, 0x91, 0x9e, 0xc5, 0xbf, 0xb5, 0x1b, 0xdd, 0x30, 0x4a, 0x0b, 0x9b, 0x73, - 0x4d, 0x7f, 0x41, 0x78, 0xe3, 0x51, 0x4e, 0x92, 0x4c, 0x37, 0xdd, 0x69, 0x3f, 0x3c, 0x75, 0xab, - 0x7b, 0xf8, 0x5a, 0x42, 0xf2, 0x34, 0x66, 0x09, 0x8d, 0x0b, 0x22, 0xc8, 0x40, 0xda, 0x29, 0x6d, - 0xfd, 0x1d, 0x7b, 0xe2, 0xad, 0xcb, 0xed, 0x84, 0xae, 0x4e, 0x54, 0x3a, 0x09, 0x35, 0x9b, 0x27, - 0xc8, 0xed, 0x17, 0x47, 0x23, 0x1f, 0x1d, 0x8f, 0x7c, 0xf4, 0x63, 0xe4, 0xa3, 0xf7, 0x63, 0xdf, - 0x39, 0x1e, 0xfb, 0xce, 0xb7, 0xb1, 0xef, 0x3c, 0xdf, 0xed, 0x31, 0xd5, 0x2f, 0x93, 0x80, 0xf2, - 0x41, 0xd8, 0x99, 0x7a, 0xed, 0x92, 0x44, 0x86, 0x33, 0xe7, 0x3b, 0x94, 0x0b, 0x98, 0x0f, 0xfb, - 0x84, 0xe5, 0xe1, 0x80, 0xa7, 0x65, 0x06, 0x72, 0xfa, 0xe6, 0xa8, 0x83, 0x02, 0x64, 0x72, 0x59, - 0xbf, 0x35, 0xf7, 0x7e, 0x07, 0x00, 0x00, 0xff, 0xff, 0x52, 0xdf, 0x66, 0x3e, 0x0d, 0x07, 0x00, - 0x00, + // 592 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x55, 0x4f, 0x6f, 0xd3, 0x3e, + 0x18, 0x8e, 0xb7, 0xee, 0xf7, 0xdb, 0x3c, 0x21, 0x50, 0xd8, 0xa4, 0xd0, 0x43, 0xda, 0x55, 0x82, + 0x4d, 0x82, 0x25, 0x1a, 0xdc, 0xb8, 0xd1, 0x09, 0x50, 0xc5, 0x24, 0xa6, 0x48, 0xbb, 0x70, 0x89, + 0x9c, 0xe4, 0xa5, 0x33, 0xa4, 0x71, 0x66, 0x3b, 0x91, 0xc6, 0x27, 0xe0, 0xb8, 0x4f, 0x00, 0xfb, + 0x10, 0x1c, 0xe0, 0x1b, 0x8c, 0x1d, 0xd0, 0xb8, 0x71, 0x42, 0x68, 0xbd, 0xf0, 0x31, 0x50, 0x6d, + 0xa7, 0xb4, 0x42, 0x43, 0xa5, 0x1b, 0x02, 0x6e, 0x79, 0xff, 0xf8, 0x79, 0x9f, 0xe7, 0xb1, 0x63, + 0xe3, 0x55, 0x9a, 0x3d, 0x83, 0x58, 0xd2, 0x12, 0x7c, 0xc6, 0x49, 0x9c, 0x82, 0x5f, 0x6e, 0x44, + 0x20, 0xc9, 0x86, 0x9f, 0x73, 0x96, 0x33, 0x41, 0x52, 0x2f, 0xe7, 0x4c, 0x32, 0xdb, 0x19, 0x36, + 0x7a, 0xba, 0xd1, 0x33, 0x8d, 0x75, 0x37, 0x66, 0xa2, 0xc7, 0x84, 0x1f, 0x11, 0xf1, 0x7d, 0x75, + 0xcc, 0x68, 0xa6, 0x57, 0xd6, 0xaf, 0xe9, 0x7a, 0xa8, 0x22, 0x5f, 0x07, 0xa6, 0xb4, 0xd4, 0x65, + 0x5d, 0xa6, 0xf3, 0x83, 0x2f, 0x93, 0xbd, 0x7e, 0x26, 0x27, 0x33, 0x59, 0xb5, 0xb5, 0x5e, 0x21, + 0xdc, 0x7c, 0xc8, 0x49, 0x26, 0xdb, 0x24, 0x4b, 0x1e, 0xab, 0xca, 0x36, 0xa7, 0x25, 0x4d, 0xa1, + 0x0b, 0xdb, 0x86, 0xbc, 0xbd, 0x84, 0xe7, 0x24, 0x95, 0x29, 0x38, 0xa8, 0x89, 0xd6, 0x16, 0x02, + 0x1d, 0xd8, 0x4d, 0xbc, 0x98, 0x80, 0x88, 0x39, 0xcd, 0x25, 0x65, 0x99, 0x33, 0xa3, 0x6a, 0xa3, + 0x29, 0xbb, 0x8e, 0xe7, 0x39, 0xa4, 0x64, 0x1f, 0xb8, 0x70, 0x66, 0x9b, 0xb3, 0x6b, 0x0b, 0xc1, + 0x30, 0xbe, 0x7b, 0xe3, 0xe5, 0x61, 0xc3, 0xfa, 0x7a, 0xd8, 0xb0, 0x8e, 0xdf, 0xac, 0xd7, 0x8d, + 0x9e, 0x2e, 0x2b, 0x2b, 0x43, 0xbc, 0x4d, 0x96, 0x49, 0xc8, 0x64, 0xeb, 0x35, 0xc2, 0x2b, 0x01, + 0x94, 0xec, 0x39, 0xfc, 0xad, 0x0c, 0xdf, 0x23, 0xbc, 0xa2, 0x2c, 0xdc, 0xe6, 0x34, 0x86, 0x07, + 0x00, 0x09, 0xf0, 0x8b, 0x63, 0x68, 0xe3, 0xda, 0xe0, 0x4c, 0x38, 0xb3, 0xaa, 0xa4, 0xbe, 0x07, + 0x58, 0x7b, 0x05, 0x93, 0xe0, 0xd4, 0x34, 0x96, 0x0a, 0xc6, 0xb4, 0xcc, 0x4d, 0xa9, 0xe5, 0x2d, + 0xc2, 0xae, 0xd1, 0xc2, 0x4a, 0x7a, 0xa1, 0x42, 0xea, 0x78, 0x3e, 0x37, 0xa0, 0x46, 0xcc, 0x30, + 0x1e, 0xa3, 0x5e, 0x9b, 0x92, 0xfa, 0x3b, 0x84, 0x1b, 0xfa, 0xa0, 0xfc, 0x39, 0xee, 0xd3, 0xda, + 0x7e, 0x8c, 0x70, 0xab, 0xe2, 0xfe, 0xcf, 0x9f, 0xa1, 0x8f, 0x08, 0xb7, 0xee, 0x15, 0x72, 0x97, + 0x71, 0xfa, 0x62, 0xe4, 0xa7, 0x0d, 0x60, 0xaf, 0x00, 0x21, 0xcf, 0x2d, 0xe6, 0x11, 0xfe, 0x9f, + 0x6b, 0x28, 0xa5, 0x67, 0xf1, 0xf6, 0x4d, 0xef, 0xac, 0x5b, 0xd5, 0xfb, 0x61, 0x7a, 0xbb, 0x76, + 0xf4, 0xb9, 0x61, 0x05, 0x15, 0xc2, 0xc4, 0x9a, 0x0e, 0x66, 0x70, 0x63, 0x27, 0x4f, 0x88, 0xfc, + 0x0d, 0x82, 0x6e, 0x61, 0x3b, 0x81, 0x14, 0x24, 0x84, 0x86, 0x55, 0x48, 0x13, 0x7d, 0x1b, 0xd5, + 0x82, 0x2b, 0xba, 0x62, 0x46, 0x75, 0x12, 0x61, 0x87, 0x78, 0xb9, 0x50, 0x44, 0x42, 0xad, 0xb5, + 0x5a, 0xa4, 0xf6, 0xf1, 0xd7, 0xcc, 0x08, 0xae, 0x6a, 0xa4, 0xb1, 0xe4, 0xc4, 0x96, 0x7c, 0x40, + 0x78, 0xf9, 0x7e, 0x46, 0xa2, 0x54, 0x59, 0xd2, 0x69, 0x6f, 0x9e, 0xdb, 0x88, 0x1d, 0x7c, 0x39, + 0x22, 0x59, 0x12, 0xd2, 0x28, 0x0e, 0x73, 0xc2, 0x49, 0x4f, 0x98, 0x1d, 0x5e, 0xfd, 0xb9, 0xa8, + 0xc1, 0x6c, 0xd5, 0x6e, 0x76, 0xf7, 0xd2, 0x00, 0xa5, 0x13, 0xc5, 0x3a, 0x39, 0xa9, 0xa0, 0xf6, + 0xd3, 0xa3, 0x53, 0x17, 0x9d, 0x9c, 0xba, 0xe8, 0xcb, 0xa9, 0x8b, 0x0e, 0xfa, 0xae, 0x75, 0xd2, + 0x77, 0xad, 0x4f, 0x7d, 0xd7, 0x7a, 0xb2, 0xd5, 0xa5, 0x72, 0xb7, 0x88, 0xbc, 0x98, 0xf5, 0xfc, + 0x4e, 0xc5, 0x64, 0x8b, 0x44, 0xc2, 0x1f, 0xf2, 0x5a, 0x8f, 0x19, 0x87, 0xd1, 0x70, 0x97, 0xd0, + 0xcc, 0xef, 0xb1, 0xa4, 0x48, 0x41, 0x54, 0x2f, 0xb0, 0xdc, 0xcf, 0x41, 0x44, 0xff, 0xa9, 0x97, + 0xf7, 0xce, 0xb7, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc7, 0x4e, 0xb4, 0xc2, 0x36, 0x08, 0x00, 0x00, } func (m *GrantBandOraclePrivilegeProposal) Marshal() (dAtA []byte, err error) { diff --git a/chain/oracle/types/query.pb.go b/chain/oracle/types/query.pb.go index ecd232a0..d82bee6f 100644 --- a/chain/oracle/types/query.pb.go +++ b/chain/oracle/types/query.pb.go @@ -7,9 +7,9 @@ import ( context "context" fmt "fmt" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" @@ -118,7 +118,8 @@ func (m *QueryPythPriceResponse) GetPriceState() *PythPriceState { return nil } -// QueryOracleParamsRequest is the request type for the Query/OracleParams RPC method. +// QueryOracleParamsRequest is the request type for the Query/OracleParams RPC +// method. type QueryParamsRequest struct { } @@ -155,7 +156,8 @@ func (m *QueryParamsRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryParamsRequest proto.InternalMessageInfo -// QueryOracleParamsResponse is the response type for the Query/OracleParams RPC method. +// QueryOracleParamsResponse is the response type for the Query/OracleParams RPC +// method. type QueryParamsResponse struct { Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` } @@ -200,7 +202,8 @@ func (m *QueryParamsResponse) GetParams() Params { return Params{} } -// QueryBandRelayersRequest is the request type for the Query/BandRelayers RPC method. +// QueryBandRelayersRequest is the request type for the Query/BandRelayers RPC +// method. type QueryBandRelayersRequest struct { } @@ -237,7 +240,8 @@ func (m *QueryBandRelayersRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryBandRelayersRequest proto.InternalMessageInfo -// QueryBandRelayersResponse is the response type for the Query/BandRelayers RPC method. +// QueryBandRelayersResponse is the response type for the Query/BandRelayers RPC +// method. type QueryBandRelayersResponse struct { Relayers []string `protobuf:"bytes,1,rep,name=relayers,proto3" json:"relayers,omitempty"` } @@ -282,7 +286,8 @@ func (m *QueryBandRelayersResponse) GetRelayers() []string { return nil } -// QueryBandPriceStatesRequest is the request type for the Query/BandPriceStates RPC method. +// QueryBandPriceStatesRequest is the request type for the Query/BandPriceStates +// RPC method. type QueryBandPriceStatesRequest struct { } @@ -319,7 +324,8 @@ func (m *QueryBandPriceStatesRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryBandPriceStatesRequest proto.InternalMessageInfo -// QueryBandPriceStatesResponse is the response type for the Query/BandPriceStates RPC method. +// QueryBandPriceStatesResponse is the response type for the +// Query/BandPriceStates RPC method. type QueryBandPriceStatesResponse struct { PriceStates []*BandPriceState `protobuf:"bytes,1,rep,name=price_states,json=priceStates,proto3" json:"price_states,omitempty"` } @@ -364,7 +370,8 @@ func (m *QueryBandPriceStatesResponse) GetPriceStates() []*BandPriceState { return nil } -// QueryBandIBCPriceStatesRequest is the request type for the Query/BandIBCPriceStates RPC method. +// QueryBandIBCPriceStatesRequest is the request type for the +// Query/BandIBCPriceStates RPC method. type QueryBandIBCPriceStatesRequest struct { } @@ -401,7 +408,8 @@ func (m *QueryBandIBCPriceStatesRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryBandIBCPriceStatesRequest proto.InternalMessageInfo -// QueryBandIBCPriceStatesResponse is the response type for the Query/BandIBCPriceStates RPC method. +// QueryBandIBCPriceStatesResponse is the response type for the +// Query/BandIBCPriceStates RPC method. type QueryBandIBCPriceStatesResponse struct { PriceStates []*BandPriceState `protobuf:"bytes,1,rep,name=price_states,json=priceStates,proto3" json:"price_states,omitempty"` } @@ -446,7 +454,8 @@ func (m *QueryBandIBCPriceStatesResponse) GetPriceStates() []*BandPriceState { return nil } -// QueryPriceFeedPriceStatesRequest is the request type for the Query/PriceFeedPriceStates RPC method. +// QueryPriceFeedPriceStatesRequest is the request type for the +// Query/PriceFeedPriceStates RPC method. type QueryPriceFeedPriceStatesRequest struct { } @@ -483,7 +492,8 @@ func (m *QueryPriceFeedPriceStatesRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryPriceFeedPriceStatesRequest proto.InternalMessageInfo -// QueryPriceFeedPriceStatesResponse is the response type for the Query/PriceFeedPriceStates RPC method. +// QueryPriceFeedPriceStatesResponse is the response type for the +// Query/PriceFeedPriceStates RPC method. type QueryPriceFeedPriceStatesResponse struct { PriceStates []*PriceFeedState `protobuf:"bytes,1,rep,name=price_states,json=priceStates,proto3" json:"price_states,omitempty"` } @@ -528,7 +538,8 @@ func (m *QueryPriceFeedPriceStatesResponse) GetPriceStates() []*PriceFeedState { return nil } -// QueryCoinbasePriceStatesRequest is the request type for the Query/CoinbasePriceStates RPC method. +// QueryCoinbasePriceStatesRequest is the request type for the +// Query/CoinbasePriceStates RPC method. type QueryCoinbasePriceStatesRequest struct { } @@ -565,7 +576,8 @@ func (m *QueryCoinbasePriceStatesRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryCoinbasePriceStatesRequest proto.InternalMessageInfo -// QueryCoinbasePriceStatesResponse is the response type for the Query/CoinbasePriceStates RPC method. +// QueryCoinbasePriceStatesResponse is the response type for the +// Query/CoinbasePriceStates RPC method. type QueryCoinbasePriceStatesResponse struct { PriceStates []*CoinbasePriceState `protobuf:"bytes,1,rep,name=price_states,json=priceStates,proto3" json:"price_states,omitempty"` } @@ -610,7 +622,8 @@ func (m *QueryCoinbasePriceStatesResponse) GetPriceStates() []*CoinbasePriceStat return nil } -// QueryPythPriceStatesRequest is the request type for the Query/CoinbasePriceStates RPC method. +// QueryPythPriceStatesRequest is the request type for the +// Query/CoinbasePriceStates RPC method. type QueryPythPriceStatesRequest struct { } @@ -647,7 +660,8 @@ func (m *QueryPythPriceStatesRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryPythPriceStatesRequest proto.InternalMessageInfo -// QueryPythPriceStatesResponse is the response type for the Query/CoinbasePriceStates RPC method. +// QueryPythPriceStatesResponse is the response type for the +// Query/CoinbasePriceStates RPC method. type QueryPythPriceStatesResponse struct { PriceStates []*PythPriceState `protobuf:"bytes,1,rep,name=price_states,json=priceStates,proto3" json:"price_states,omitempty"` } @@ -692,7 +706,8 @@ func (m *QueryPythPriceStatesResponse) GetPriceStates() []*PythPriceState { return nil } -// QueryProviderPriceStateRequest is the request type for the Query/ProviderPriceState RPC method. +// QueryProviderPriceStateRequest is the request type for the +// Query/ProviderPriceState RPC method. type QueryProviderPriceStateRequest struct { Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` Symbol string `protobuf:"bytes,2,opt,name=symbol,proto3" json:"symbol,omitempty"` @@ -745,7 +760,8 @@ func (m *QueryProviderPriceStateRequest) GetSymbol() string { return "" } -// QueryProviderPriceStatesResponse is the response type for the Query/ProviderPriceStates RPC method. +// QueryProviderPriceStatesResponse is the response type for the +// Query/ProviderPriceStates RPC method. type QueryProviderPriceStateResponse struct { PriceState *PriceState `protobuf:"bytes,1,opt,name=price_state,json=priceState,proto3" json:"price_state,omitempty"` } @@ -790,7 +806,8 @@ func (m *QueryProviderPriceStateResponse) GetPriceState() *PriceState { return nil } -// QueryModuleStateRequest is the request type for the Query/OracleModuleState RPC method. +// QueryModuleStateRequest is the request type for the Query/OracleModuleState +// RPC method. type QueryModuleStateRequest struct { } @@ -827,7 +844,8 @@ func (m *QueryModuleStateRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryModuleStateRequest proto.InternalMessageInfo -// QueryModuleStateResponse is the response type for the Query/OracleModuleState RPC method. +// QueryModuleStateResponse is the response type for the Query/OracleModuleState +// RPC method. type QueryModuleStateResponse struct { State *GenesisState `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` } @@ -969,12 +987,15 @@ func (m *QueryHistoricalPriceRecordsResponse) GetPriceRecords() []*PriceRecords } type OracleHistoryOptions struct { - // MaxAge restricts the oracle price records oldest age in seconds from the current block time to consider. - // A value of 0 means use all the records present on the chain. + // MaxAge restricts the oracle price records oldest age in seconds from the + // current block time to consider. A value of 0 means use all the records + // present on the chain. MaxAge uint64 `protobuf:"varint,1,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"` - // If IncludeRawHistory is true, the raw underlying data used for the computation is included in the response + // If IncludeRawHistory is true, the raw underlying data used for the + // computation is included in the response IncludeRawHistory bool `protobuf:"varint,2,opt,name=include_raw_history,json=includeRawHistory,proto3" json:"include_raw_history,omitempty"` - // If IncludeMetadata is true, metadata on the computation is included in the response + // If IncludeMetadata is true, metadata on the computation is included in the + // response IncludeMetadata bool `protobuf:"varint,3,opt,name=include_metadata,json=includeMetadata,proto3" json:"include_metadata,omitempty"` } @@ -1032,7 +1053,8 @@ func (m *OracleHistoryOptions) GetIncludeMetadata() bool { return false } -// QueryOracleVolatilityRequest is the request type for Query/OracleVolatility RPC method. +// QueryOracleVolatilityRequest is the request type for Query/OracleVolatility +// RPC method. type QueryOracleVolatilityRequest struct { BaseInfo *OracleInfo `protobuf:"bytes,1,opt,name=base_info,json=baseInfo,proto3" json:"base_info,omitempty"` QuoteInfo *OracleInfo `protobuf:"bytes,2,opt,name=quote_info,json=quoteInfo,proto3" json:"quote_info,omitempty"` @@ -1093,7 +1115,8 @@ func (m *QueryOracleVolatilityRequest) GetOracleHistoryOptions() *OracleHistoryO return nil } -// QueryOracleVolatilityResponse is the response type for Query/OracleVolatility RPC method. +// QueryOracleVolatilityResponse is the response type for Query/OracleVolatility +// RPC method. type QueryOracleVolatilityResponse struct { Volatility *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=volatility,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"volatility,omitempty"` HistoryMetadata *MetadataStatistics `protobuf:"bytes,2,opt,name=history_metadata,json=historyMetadata,proto3" json:"history_metadata,omitempty"` @@ -1315,7 +1338,8 @@ func (m *QueryOracleProviderPricesResponse) GetProviderState() []*ProviderState return nil } -// QueryOraclePriceRequest is the request type for the Query/OraclePrice RPC method. +// QueryOraclePriceRequest is the request type for the Query/OraclePrice RPC +// method. type QueryOraclePriceRequest struct { OracleType OracleType `protobuf:"varint,1,opt,name=oracle_type,json=oracleType,proto3,enum=injective.oracle.v1beta1.OracleType" json:"oracle_type,omitempty"` Base string `protobuf:"bytes,2,opt,name=base,proto3" json:"base,omitempty"` @@ -1433,7 +1457,8 @@ func (m *PricePairState) GetQuoteTimestamp() int64 { return 0 } -// QueryOraclePriceResponse is the response type for the Query/OraclePrice RPC method. +// QueryOraclePriceResponse is the response type for the Query/OraclePrice RPC +// method. type QueryOraclePriceResponse struct { PricePairState *PricePairState `protobuf:"bytes,1,opt,name=price_pair_state,json=pricePairState,proto3" json:"price_pair_state,omitempty"` } diff --git a/chain/oracle/types/tx.pb.go b/chain/oracle/types/tx.pb.go index db23e4d1..c993e9d9 100644 --- a/chain/oracle/types/tx.pb.go +++ b/chain/oracle/types/tx.pb.go @@ -6,10 +6,12 @@ package types import ( context "context" fmt "fmt" + _ "github.com/cosmos/cosmos-proto" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/gogoproto/gogoproto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -29,7 +31,8 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -// MsgRelayProviderPrice defines a SDK message for setting a price through the provider oracle. +// MsgRelayProviderPrice defines a SDK message for setting a price through the +// provider oracle. type MsgRelayProviderPrices struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` @@ -106,7 +109,8 @@ func (m *MsgRelayProviderPricesResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgRelayProviderPricesResponse proto.InternalMessageInfo -// MsgRelayPriceFeedPrice defines a SDK message for setting a price through the pricefeed oracle. +// MsgRelayPriceFeedPrice defines a SDK message for setting a price through the +// pricefeed oracle. type MsgRelayPriceFeedPrice struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` Base []string `protobuf:"bytes,2,rep,name=base,proto3" json:"base,omitempty"` @@ -296,7 +300,8 @@ func (m *MsgRelayBandRatesResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgRelayBandRatesResponse proto.InternalMessageInfo -// MsgRelayCoinbaseMessages defines a SDK message for relaying price messages from Coinbase API. +// MsgRelayCoinbaseMessages defines a SDK message for relaying price messages +// from Coinbase API. type MsgRelayCoinbaseMessages struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` Messages [][]byte `protobuf:"bytes,2,rep,name=messages,proto3" json:"messages,omitempty"` @@ -372,7 +377,8 @@ func (m *MsgRelayCoinbaseMessagesResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgRelayCoinbaseMessagesResponse proto.InternalMessageInfo -// MsgRequestBandIBCRates defines a SDK message for requesting data from BandChain using IBC. +// MsgRequestBandIBCRates defines a SDK message for requesting data from +// BandChain using IBC. type MsgRequestBandIBCRates struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` RequestId uint64 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` @@ -524,6 +530,98 @@ func (m *MsgRelayPythPricesResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgRelayPythPricesResponse proto.InternalMessageInfo +type MsgUpdateParams struct { + // authority is the address of the governance account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // params defines the oracle parameters to update. + // + // NOTE: All parameters must be supplied. + Params Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params"` +} + +func (m *MsgUpdateParams) Reset() { *m = MsgUpdateParams{} } +func (m *MsgUpdateParams) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParams) ProtoMessage() {} +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return fileDescriptor_5fdf1c490eba4310, []int{12} +} +func (m *MsgUpdateParams) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParams.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParams) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParams.Merge(m, src) +} +func (m *MsgUpdateParams) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParams) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParams.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParams proto.InternalMessageInfo + +func (m *MsgUpdateParams) GetAuthority() string { + if m != nil { + return m.Authority + } + return "" +} + +func (m *MsgUpdateParams) GetParams() Params { + if m != nil { + return m.Params + } + return Params{} +} + +type MsgUpdateParamsResponse struct { +} + +func (m *MsgUpdateParamsResponse) Reset() { *m = MsgUpdateParamsResponse{} } +func (m *MsgUpdateParamsResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParamsResponse) ProtoMessage() {} +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_5fdf1c490eba4310, []int{13} +} +func (m *MsgUpdateParamsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParamsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParamsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParamsResponse.Merge(m, src) +} +func (m *MsgUpdateParamsResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParamsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgRelayProviderPrices)(nil), "injective.oracle.v1beta1.MsgRelayProviderPrices") proto.RegisterType((*MsgRelayProviderPricesResponse)(nil), "injective.oracle.v1beta1.MsgRelayProviderPricesResponse") @@ -537,57 +635,68 @@ func init() { proto.RegisterType((*MsgRequestBandIBCRatesResponse)(nil), "injective.oracle.v1beta1.MsgRequestBandIBCRatesResponse") proto.RegisterType((*MsgRelayPythPrices)(nil), "injective.oracle.v1beta1.MsgRelayPythPrices") proto.RegisterType((*MsgRelayPythPricesResponse)(nil), "injective.oracle.v1beta1.MsgRelayPythPricesResponse") + proto.RegisterType((*MsgUpdateParams)(nil), "injective.oracle.v1beta1.MsgUpdateParams") + proto.RegisterType((*MsgUpdateParamsResponse)(nil), "injective.oracle.v1beta1.MsgUpdateParamsResponse") } func init() { proto.RegisterFile("injective/oracle/v1beta1/tx.proto", fileDescriptor_5fdf1c490eba4310) } var fileDescriptor_5fdf1c490eba4310 = []byte{ - // 706 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0xc1, 0x6e, 0xd3, 0x40, - 0x10, 0x8d, 0xdb, 0x24, 0xb4, 0x43, 0x01, 0x75, 0x29, 0x95, 0x31, 0xe0, 0x84, 0x20, 0x50, 0x05, - 0xd4, 0xa6, 0x2d, 0x07, 0xd4, 0x1b, 0x69, 0x55, 0xa9, 0x52, 0x2b, 0x55, 0x16, 0x97, 0x72, 0xa9, - 0x1c, 0x7b, 0x70, 0x0d, 0x89, 0x37, 0xf5, 0x6e, 0xa2, 0xe6, 0xc8, 0x05, 0x38, 0xc2, 0x1f, 0x54, - 0x1c, 0xf9, 0x02, 0x3e, 0xa1, 0xc7, 0x1e, 0x11, 0x87, 0x0a, 0xb5, 0x17, 0x3e, 0x03, 0x79, 0x6d, - 0x2f, 0x6e, 0x12, 0x93, 0x86, 0x93, 0x77, 0x66, 0xdf, 0xcc, 0xbe, 0x37, 0xb3, 0xe3, 0x85, 0xfb, - 0x7e, 0xf0, 0x16, 0x1d, 0xee, 0x77, 0xd1, 0xa4, 0xa1, 0xed, 0x34, 0xd1, 0xec, 0x2e, 0x35, 0x90, - 0xdb, 0x4b, 0x26, 0x3f, 0x34, 0xda, 0x21, 0xe5, 0x94, 0xa8, 0x12, 0x62, 0xc4, 0x10, 0x23, 0x81, - 0x68, 0x73, 0x1e, 0xf5, 0xa8, 0x00, 0x99, 0xd1, 0x2a, 0xc6, 0x6b, 0x0f, 0x73, 0x53, 0x26, 0xe1, - 0x02, 0x56, 0xfb, 0xae, 0xc0, 0xfc, 0x36, 0xf3, 0x2c, 0x6c, 0xda, 0xbd, 0x9d, 0x90, 0x76, 0x7d, - 0x17, 0xc3, 0x9d, 0xd0, 0x77, 0x90, 0x91, 0x79, 0x28, 0x33, 0x0c, 0x5c, 0x0c, 0x55, 0xa5, 0xaa, - 0x2c, 0x4c, 0x5b, 0x89, 0x45, 0x34, 0x98, 0x6a, 0x27, 0x48, 0x75, 0x42, 0xec, 0x48, 0x9b, 0xa8, - 0x70, 0x85, 0xf5, 0x5a, 0x0d, 0xda, 0x64, 0xea, 0x64, 0x75, 0x72, 0x61, 0xda, 0x4a, 0x4d, 0xb2, - 0x01, 0xe5, 0xb6, 0xc8, 0xab, 0x16, 0xa3, 0x8d, 0xba, 0x71, 0x7c, 0x5a, 0x29, 0xfc, 0x3c, 0xad, - 0x3c, 0xf2, 0x7c, 0xbe, 0xdf, 0x69, 0x18, 0x0e, 0x6d, 0x99, 0x0e, 0x65, 0x2d, 0xca, 0x92, 0xcf, - 0x22, 0x73, 0xdf, 0x99, 0xbc, 0xd7, 0x46, 0x66, 0xac, 0xa3, 0x63, 0x25, 0xd1, 0xab, 0x53, 0x9f, - 0x8e, 0x2a, 0x85, 0xdf, 0x47, 0x95, 0x42, 0xad, 0x0a, 0xfa, 0x70, 0xe6, 0x16, 0xb2, 0x36, 0x0d, - 0x18, 0xd6, 0xbe, 0x5d, 0x10, 0xe7, 0x3b, 0xb8, 0x81, 0xe8, 0x8a, 0x45, 0xae, 0x38, 0x02, 0xc5, - 0x86, 0xcd, 0x50, 0x9d, 0x10, 0xec, 0xc5, 0x9a, 0xcc, 0x41, 0xe9, 0xa0, 0x43, 0x39, 0x26, 0x92, - 0x62, 0x83, 0xac, 0x43, 0x49, 0x50, 0xfa, 0x4f, 0x3d, 0x71, 0x70, 0x9e, 0x9c, 0x2c, 0x57, 0x29, - 0xe7, 0xab, 0x02, 0xb3, 0x29, 0xa4, 0x6e, 0x07, 0xae, 0x65, 0x73, 0x64, 0x51, 0xc9, 0xc3, 0xc8, - 0x23, 0xa5, 0xa4, 0x66, 0xb6, 0x19, 0x13, 0x17, 0x9b, 0x31, 0x07, 0xa5, 0x30, 0x0a, 0x16, 0x8a, - 0x8a, 0x56, 0x6c, 0x90, 0x07, 0x70, 0x2d, 0x44, 0x46, 0x9b, 0x5d, 0xdc, 0xe3, 0x7e, 0x2b, 0xe9, - 0x54, 0xd1, 0x9a, 0x49, 0x9c, 0xaf, 0x22, 0x1f, 0xd1, 0x01, 0x42, 0x3c, 0xe8, 0x20, 0xe3, 0x9b, - 0xeb, 0x4c, 0x2d, 0x09, 0x44, 0xc6, 0x53, 0xbb, 0x03, 0xb7, 0x07, 0x38, 0x4a, 0x05, 0x87, 0xa0, - 0xa6, 0x9b, 0x6b, 0xd4, 0x0f, 0xa2, 0xea, 0x6e, 0x23, 0x63, 0xb6, 0xf7, 0xef, 0xeb, 0xd6, 0x4a, - 0x30, 0x42, 0xc6, 0x8c, 0x25, 0xed, 0x88, 0x0c, 0xf3, 0xbd, 0xc0, 0xe6, 0x9d, 0x30, 0x11, 0x33, - 0x63, 0x65, 0x3c, 0x99, 0xea, 0xd6, 0xa0, 0x9a, 0x77, 0xb2, 0x64, 0xb7, 0x9b, 0xdc, 0x16, 0xa1, - 0x25, 0x22, 0xbf, 0x59, 0x5f, 0x8b, 0x6b, 0x9c, 0xc7, 0xed, 0x9e, 0x2c, 0xc6, 0x9e, 0xef, 0x8a, - 0x61, 0x28, 0x5a, 0xd3, 0x69, 0x31, 0xdc, 0x21, 0xcd, 0x1d, 0x48, 0x2d, 0x0f, 0xff, 0xa2, 0x00, - 0x91, 0xfd, 0xef, 0xf1, 0xfd, 0x11, 0x43, 0xb8, 0x0b, 0x44, 0x5c, 0xa0, 0x3d, 0x9b, 0x73, 0x64, - 0xdc, 0xe6, 0x3e, 0x0d, 0xe2, 0xfa, 0x5c, 0x5d, 0x7e, 0x6c, 0xe4, 0xfd, 0x2b, 0x0c, 0x91, 0xf5, - 0xe5, 0xdf, 0x10, 0x6b, 0xb6, 0xdd, 0xe7, 0xc9, 0x16, 0xed, 0x2e, 0x68, 0x83, 0x94, 0x52, 0xc6, - 0xcb, 0x1f, 0xca, 0x30, 0xb9, 0xcd, 0x3c, 0xf2, 0x5e, 0x81, 0x9b, 0xc3, 0xfe, 0x1f, 0xcf, 0xf2, - 0x69, 0x0c, 0x9f, 0x5b, 0xed, 0xc5, 0xb8, 0x11, 0x29, 0x97, 0x2c, 0x87, 0x0b, 0x63, 0x7e, 0x29, - 0x0e, 0xd9, 0x88, 0xcb, 0x71, 0x18, 0x36, 0x9e, 0x24, 0x84, 0xeb, 0x7d, 0xa3, 0xf9, 0x64, 0x74, - 0x2e, 0x09, 0xd6, 0x56, 0xc6, 0x00, 0xf7, 0xe9, 0x1e, 0xbc, 0xb0, 0xa3, 0x74, 0x0f, 0x44, 0x8c, - 0xd4, 0x9d, 0x7b, 0x73, 0xc9, 0x47, 0x05, 0x6e, 0x0d, 0x1f, 0xe9, 0xe5, 0xd1, 0x92, 0xfa, 0x63, - 0xb4, 0xd5, 0xf1, 0x63, 0x24, 0x93, 0x0e, 0xdc, 0xe8, 0x9f, 0x9f, 0xa7, 0x97, 0x68, 0xa7, 0x44, - 0x6b, 0xcf, 0xc7, 0x41, 0xa7, 0xc7, 0xd6, 0xdf, 0x1c, 0x9f, 0xe9, 0xca, 0xc9, 0x99, 0xae, 0xfc, - 0x3a, 0xd3, 0x95, 0xcf, 0xe7, 0x7a, 0xe1, 0xe4, 0x5c, 0x2f, 0xfc, 0x38, 0xd7, 0x0b, 0xaf, 0xb7, - 0x32, 0x8f, 0xc1, 0x66, 0x9a, 0x79, 0xcb, 0x6e, 0x30, 0x53, 0x9e, 0xb3, 0xe8, 0xd0, 0x10, 0xb3, - 0xe6, 0xbe, 0xed, 0x07, 0x66, 0x8b, 0xba, 0x9d, 0x26, 0xb2, 0xf4, 0xe9, 0x16, 0xcf, 0x46, 0xa3, - 0x2c, 0x9e, 0xec, 0x95, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xaf, 0x95, 0x42, 0xe5, 0x2e, 0x08, - 0x00, 0x00, + // 854 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x4f, 0x8f, 0xdb, 0x44, + 0x14, 0x8f, 0x77, 0x93, 0x40, 0xa6, 0xa1, 0x55, 0xa7, 0xa1, 0xf5, 0x1a, 0x70, 0x42, 0x10, 0xa8, + 0x14, 0xd6, 0x26, 0x29, 0x42, 0x28, 0x07, 0xa4, 0xa6, 0xab, 0x4a, 0x2b, 0x35, 0xd2, 0xca, 0xc0, + 0x01, 0x2e, 0xd1, 0xc4, 0x1e, 0x1c, 0x43, 0xec, 0x71, 0x67, 0x26, 0x11, 0x39, 0x02, 0x07, 0x38, + 0x72, 0x45, 0xe2, 0xd0, 0x8f, 0xd0, 0x03, 0x7c, 0x02, 0x2e, 0x3d, 0x56, 0x9c, 0x10, 0x87, 0x0a, + 0xed, 0x1e, 0xe0, 0x03, 0xf0, 0x01, 0x90, 0xc7, 0xe3, 0x59, 0xe7, 0x8f, 0xf3, 0x87, 0x93, 0xfd, + 0xe6, 0xfd, 0xde, 0x9b, 0xdf, 0xef, 0xcd, 0xbc, 0x67, 0x83, 0xd7, 0x83, 0xe8, 0x4b, 0xec, 0xf2, + 0x60, 0x86, 0x6d, 0x42, 0x91, 0x3b, 0xc1, 0xf6, 0xac, 0x33, 0xc2, 0x1c, 0x75, 0x6c, 0xfe, 0xb5, + 0x15, 0x53, 0xc2, 0x09, 0xd4, 0x15, 0xc4, 0x4a, 0x21, 0x96, 0x84, 0x18, 0x0d, 0x9f, 0xf8, 0x44, + 0x80, 0xec, 0xe4, 0x2d, 0xc5, 0x1b, 0x6f, 0x16, 0xa6, 0x94, 0xe1, 0x29, 0xec, 0x96, 0x4b, 0x58, + 0x48, 0x98, 0x1d, 0x32, 0xdf, 0x9e, 0x75, 0x92, 0x87, 0x74, 0x1c, 0xa5, 0x8e, 0x61, 0x9a, 0x38, + 0x35, 0x52, 0x57, 0xfb, 0x37, 0x0d, 0xdc, 0x1c, 0x30, 0xdf, 0xc1, 0x13, 0x34, 0x3f, 0xa3, 0x64, + 0x16, 0x78, 0x98, 0x9e, 0xd1, 0xc0, 0xc5, 0x0c, 0xde, 0x04, 0x55, 0x86, 0x23, 0x0f, 0x53, 0x5d, + 0x6b, 0x69, 0xb7, 0x6b, 0x8e, 0xb4, 0xa0, 0x01, 0x5e, 0x8c, 0x25, 0x52, 0x3f, 0x10, 0x1e, 0x65, + 0x43, 0x1d, 0xbc, 0xc0, 0xe6, 0xe1, 0x88, 0x4c, 0x98, 0x7e, 0xd8, 0x3a, 0xbc, 0x5d, 0x73, 0x32, + 0x13, 0x3e, 0x00, 0xd5, 0x58, 0xe4, 0xd5, 0xcb, 0x89, 0xa3, 0x6f, 0x3d, 0x7d, 0xde, 0x2c, 0xfd, + 0xf9, 0xbc, 0xf9, 0x96, 0x1f, 0xf0, 0xf1, 0x74, 0x64, 0xb9, 0x24, 0x94, 0xcc, 0xe4, 0xe3, 0x98, + 0x79, 0x5f, 0xd9, 0x7c, 0x1e, 0x63, 0x66, 0x9d, 0x60, 0xd7, 0x91, 0xd1, 0xbd, 0x1b, 0x3f, 0x3c, + 0x6e, 0x96, 0xfe, 0x79, 0xdc, 0x2c, 0x7d, 0xfb, 0xf7, 0x93, 0x3b, 0x92, 0x52, 0xbb, 0x05, 0xcc, + 0xf5, 0x22, 0x1c, 0xcc, 0x62, 0x12, 0x31, 0xdc, 0xfe, 0x75, 0x41, 0x67, 0xe0, 0xe2, 0x07, 0x18, + 0x7b, 0xe2, 0xa5, 0x50, 0x27, 0x04, 0xe5, 0x11, 0x62, 0x58, 0x3f, 0x10, 0x42, 0xc4, 0x3b, 0x6c, + 0x80, 0xca, 0xa3, 0x29, 0xe1, 0x58, 0xaa, 0x4b, 0x0d, 0x78, 0x02, 0x2a, 0x82, 0xdd, 0xff, 0x94, + 0x96, 0x06, 0xef, 0xa0, 0x2c, 0x4f, 0x5b, 0x29, 0x7b, 0xa2, 0x81, 0xeb, 0x19, 0xa4, 0x8f, 0x22, + 0xcf, 0x41, 0x1c, 0xb3, 0xe4, 0x20, 0x68, 0xb2, 0xa2, 0x54, 0x65, 0x66, 0xfe, 0x88, 0x0e, 0x16, + 0x8f, 0xa8, 0x01, 0x2a, 0x34, 0x09, 0x16, 0xe2, 0xca, 0x4e, 0x6a, 0xc0, 0x37, 0xc0, 0x4b, 0x14, + 0x33, 0x32, 0x99, 0xe1, 0x21, 0x0f, 0x42, 0x79, 0x7e, 0x65, 0xa7, 0x2e, 0x17, 0x3f, 0x49, 0xd6, + 0xa0, 0x09, 0x00, 0xc5, 0x8f, 0xa6, 0x98, 0xf1, 0xd3, 0x13, 0xa6, 0x57, 0x04, 0x22, 0xb7, 0xd2, + 0xab, 0x27, 0x9a, 0x32, 0x0a, 0xed, 0x57, 0xc0, 0xd1, 0x0a, 0x63, 0xa5, 0xe7, 0x3b, 0x0d, 0xe8, + 0x99, 0xf7, 0x3e, 0x09, 0xa2, 0xa4, 0xee, 0x03, 0xcc, 0x18, 0xf2, 0x37, 0xdf, 0xc9, 0x50, 0x62, + 0x84, 0xaa, 0xba, 0xa3, 0xec, 0x84, 0x1b, 0x0b, 0xfc, 0x08, 0xf1, 0x29, 0x95, 0xda, 0xea, 0x4e, + 0x6e, 0x65, 0x7d, 0xdd, 0xdb, 0xa0, 0x55, 0x44, 0x42, 0x31, 0xf5, 0xe4, 0x95, 0x12, 0x2a, 0x13, + 0x21, 0xa7, 0xfd, 0xfb, 0x69, 0xf5, 0x8b, 0x68, 0xbe, 0xa6, 0xca, 0x34, 0x0c, 0x3c, 0xd1, 0x3c, + 0x65, 0xa7, 0x96, 0x95, 0xc9, 0xdb, 0x7c, 0x03, 0x56, 0x76, 0x51, 0x3c, 0x7e, 0xd6, 0x00, 0x54, + 0x97, 0x64, 0xce, 0xc7, 0x5b, 0xfa, 0xf7, 0x33, 0x00, 0xc5, 0x85, 0x1b, 0x22, 0xce, 0x31, 0xe3, + 0x88, 0x07, 0x24, 0x4a, 0xab, 0x76, 0xa5, 0x7b, 0xc7, 0x2a, 0x1a, 0x4d, 0x96, 0xc8, 0x7a, 0xef, + 0x32, 0xc4, 0xb9, 0x1e, 0x2f, 0xad, 0x14, 0x94, 0xf2, 0x55, 0x60, 0xac, 0xb2, 0x53, 0xe4, 0x7f, + 0xd2, 0xc0, 0xb5, 0x01, 0xf3, 0x3f, 0x8d, 0x3d, 0xc4, 0xf1, 0x19, 0xa2, 0x28, 0x64, 0xf0, 0x03, + 0x50, 0x43, 0x53, 0x3e, 0x26, 0x34, 0xe0, 0xf3, 0x94, 0x7c, 0x5f, 0xff, 0xfd, 0x97, 0xe3, 0x86, + 0x9c, 0x5c, 0xf7, 0x3c, 0x8f, 0x62, 0xc6, 0x3e, 0xe6, 0x34, 0x88, 0x7c, 0xe7, 0x12, 0x0a, 0x3f, + 0x02, 0xd5, 0x58, 0x64, 0x10, 0xa5, 0xbd, 0xd2, 0x6d, 0x6d, 0x50, 0x23, 0x70, 0xfd, 0x72, 0xd2, + 0xaa, 0x8e, 0x8c, 0xea, 0x5d, 0x4d, 0x68, 0x5f, 0xe6, 0x6b, 0x1f, 0x81, 0x5b, 0x4b, 0xd4, 0x32, + 0xda, 0xdd, 0x7f, 0xab, 0xe0, 0x70, 0xc0, 0x7c, 0xf8, 0x8d, 0x06, 0x6e, 0xac, 0x1b, 0x9e, 0xef, + 0x15, 0x6f, 0xbd, 0x7e, 0x52, 0x19, 0x1f, 0xee, 0x1b, 0x91, 0x71, 0xc9, 0x73, 0x58, 0x18, 0x6c, + 0x3b, 0x71, 0xc8, 0x47, 0xec, 0xc6, 0x61, 0xdd, 0x14, 0x82, 0x14, 0x5c, 0x5d, 0x9a, 0x40, 0xef, + 0x6c, 0xcf, 0xa5, 0xc0, 0xc6, 0xdd, 0x3d, 0xc0, 0x4b, 0xba, 0x57, 0xbb, 0x6f, 0x9b, 0xee, 0x95, + 0x88, 0xad, 0xba, 0x0b, 0x7b, 0x0f, 0x7e, 0xaf, 0x81, 0x97, 0xd7, 0x8f, 0xaa, 0xee, 0x76, 0x49, + 0xcb, 0x31, 0x46, 0x6f, 0xff, 0x18, 0xc5, 0x64, 0x0a, 0xae, 0x2d, 0x4f, 0x80, 0x77, 0x77, 0x38, + 0x4e, 0x85, 0x36, 0xde, 0xdf, 0x07, 0xad, 0xb6, 0x9d, 0x80, 0xfa, 0x42, 0xef, 0xbe, 0xbd, 0x31, + 0x4b, 0x1e, 0x6a, 0x74, 0x76, 0x86, 0x66, 0xbb, 0xf5, 0xbf, 0x78, 0x7a, 0x6e, 0x6a, 0xcf, 0xce, + 0x4d, 0xed, 0xaf, 0x73, 0x53, 0xfb, 0xf1, 0xc2, 0x2c, 0x3d, 0xbb, 0x30, 0x4b, 0x7f, 0x5c, 0x98, + 0xa5, 0xcf, 0x1f, 0xe6, 0x3e, 0xb6, 0xa7, 0x59, 0xda, 0x87, 0x68, 0xc4, 0x6c, 0xb5, 0xc9, 0xb1, + 0x4b, 0x28, 0xce, 0x9b, 0x63, 0x14, 0x44, 0x76, 0x48, 0xbc, 0xe9, 0x04, 0xb3, 0xec, 0xcf, 0x4a, + 0x7c, 0x96, 0x47, 0x55, 0xf1, 0x77, 0x74, 0xf7, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x8a, 0x8a, + 0x17, 0xab, 0xcd, 0x09, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -602,18 +711,23 @@ const _ = grpc.SupportPackageIsVersion4 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type MsgClient interface { - // RelayProviderPrice defines a method for relaying a price for a provider-based oracle + // RelayProviderPrice defines a method for relaying a price for a + // provider-based oracle RelayProviderPrices(ctx context.Context, in *MsgRelayProviderPrices, opts ...grpc.CallOption) (*MsgRelayProviderPricesResponse, error) - // RelayPriceFeedPrice defines a method for relaying a price for a price feeder-based oracle + // RelayPriceFeedPrice defines a method for relaying a price for a price + // feeder-based oracle RelayPriceFeedPrice(ctx context.Context, in *MsgRelayPriceFeedPrice, opts ...grpc.CallOption) (*MsgRelayPriceFeedPriceResponse, error) // RelayBandRates defines a method for relaying rates from Band RelayBandRates(ctx context.Context, in *MsgRelayBandRates, opts ...grpc.CallOption) (*MsgRelayBandRatesResponse, error) // RequestBandIBCRates defines a method for fetching rates from Band ibc RequestBandIBCRates(ctx context.Context, in *MsgRequestBandIBCRates, opts ...grpc.CallOption) (*MsgRequestBandIBCRatesResponse, error) - // RelayCoinbaseMessages defines a method for relaying price messages from Coinbase API + // RelayCoinbaseMessages defines a method for relaying price messages from + // Coinbase API RelayCoinbaseMessages(ctx context.Context, in *MsgRelayCoinbaseMessages, opts ...grpc.CallOption) (*MsgRelayCoinbaseMessagesResponse, error) // RelayPythPrices defines a method for relaying rates from the Pyth contract RelayPythPrices(ctx context.Context, in *MsgRelayPythPrices, opts ...grpc.CallOption) (*MsgRelayPythPricesResponse, error) + // UpdateParams enables updating oracle module's params via governance + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) } type msgClient struct { @@ -678,20 +792,34 @@ func (c *msgClient) RelayPythPrices(ctx context.Context, in *MsgRelayPythPrices, return out, nil } +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, "/injective.oracle.v1beta1.Msg/UpdateParams", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { - // RelayProviderPrice defines a method for relaying a price for a provider-based oracle + // RelayProviderPrice defines a method for relaying a price for a + // provider-based oracle RelayProviderPrices(context.Context, *MsgRelayProviderPrices) (*MsgRelayProviderPricesResponse, error) - // RelayPriceFeedPrice defines a method for relaying a price for a price feeder-based oracle + // RelayPriceFeedPrice defines a method for relaying a price for a price + // feeder-based oracle RelayPriceFeedPrice(context.Context, *MsgRelayPriceFeedPrice) (*MsgRelayPriceFeedPriceResponse, error) // RelayBandRates defines a method for relaying rates from Band RelayBandRates(context.Context, *MsgRelayBandRates) (*MsgRelayBandRatesResponse, error) // RequestBandIBCRates defines a method for fetching rates from Band ibc RequestBandIBCRates(context.Context, *MsgRequestBandIBCRates) (*MsgRequestBandIBCRatesResponse, error) - // RelayCoinbaseMessages defines a method for relaying price messages from Coinbase API + // RelayCoinbaseMessages defines a method for relaying price messages from + // Coinbase API RelayCoinbaseMessages(context.Context, *MsgRelayCoinbaseMessages) (*MsgRelayCoinbaseMessagesResponse, error) // RelayPythPrices defines a method for relaying rates from the Pyth contract RelayPythPrices(context.Context, *MsgRelayPythPrices) (*MsgRelayPythPricesResponse, error) + // UpdateParams enables updating oracle module's params via governance + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -716,6 +844,9 @@ func (*UnimplementedMsgServer) RelayCoinbaseMessages(ctx context.Context, req *M func (*UnimplementedMsgServer) RelayPythPrices(ctx context.Context, req *MsgRelayPythPrices) (*MsgRelayPythPricesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RelayPythPrices not implemented") } +func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -829,6 +960,24 @@ func _Msg_RelayPythPrices_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.oracle.v1beta1.Msg/UpdateParams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "injective.oracle.v1beta1.Msg", HandlerType: (*MsgServer)(nil), @@ -857,6 +1006,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "RelayPythPrices", Handler: _Msg_RelayPythPrices_Handler, }, + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "injective/oracle/v1beta1/tx.proto", @@ -1342,6 +1495,69 @@ func (m *MsgRelayPythPricesResponse) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } +func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -1567,6 +1783,30 @@ func (m *MsgRelayPythPricesResponse) Size() (n int) { return n } +func (m *MsgUpdateParams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Params.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -2942,6 +3182,171 @@ func (m *MsgRelayPythPricesResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/peggy/types/attestation.pb.go b/chain/peggy/types/attestation.pb.go index 3d6350d5..0d591bd2 100644 --- a/chain/peggy/types/attestation.pb.go +++ b/chain/peggy/types/attestation.pb.go @@ -7,8 +7,8 @@ import ( fmt "fmt" types "github.com/cosmos/cosmos-sdk/codec/types" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" @@ -64,18 +64,18 @@ func (ClaimType) EnumDescriptor() ([]byte, []int) { // Attestation is an aggregate of `claims` that eventually becomes `observed` by // all orchestrators // EVENT_NONCE: -// EventNonce a nonce provided by the peggy contract that is unique per event fired -// These event nonces must be relayed in order. This is a correctness issue, -// if relaying out of order transaction replay attacks become possible +// EventNonce a nonce provided by the peggy contract that is unique per event +// fired These event nonces must be relayed in order. This is a correctness +// issue, if relaying out of order transaction replay attacks become possible // OBSERVED: // Observed indicates that >67% of validators have attested to the event, // and that the event should be executed by the peggy state machine // -// The actual content of the claims is passed in with the transaction making the claim -// and then passed through the call stack alongside the attestation while it is processed -// the key in which the attestation is stored is keyed on the exact details of the claim -// but there is no reason to store those exact details becuause the next message sender -// will kindly provide you with them. +// The actual content of the claims is passed in with the transaction making the +// claim and then passed through the call stack alongside the attestation while +// it is processed the key in which the attestation is stored is keyed on the +// exact details of the claim but there is no reason to store those exact +// details becuause the next message sender will kindly provide you with them. type Attestation struct { Observed bool `protobuf:"varint,1,opt,name=observed,proto3" json:"observed,omitempty"` Votes []string `protobuf:"bytes,2,rep,name=votes,proto3" json:"votes,omitempty"` @@ -148,7 +148,8 @@ func (m *Attestation) GetClaim() *types.Any { // CONTRACT: // The contract address on ETH of the token, this could be a Cosmos // originated token, if so it will be the ERC20 address of the representation -// (note: developers should look up the token symbol using the address on ETH to display for UI) +// (note: developers should look up the token symbol using the address on ETH to +// display for UI) type ERC20Token struct { Contract string `protobuf:"bytes,1,opt,name=contract,proto3" json:"contract,omitempty"` Amount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,2,opt,name=amount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"amount"` diff --git a/chain/peggy/types/batch.pb.go b/chain/peggy/types/batch.pb.go index 086a0812..083ea8c7 100644 --- a/chain/peggy/types/batch.pb.go +++ b/chain/peggy/types/batch.pb.go @@ -5,7 +5,7 @@ package types import ( fmt "fmt" - proto "github.com/gogo/protobuf/proto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" diff --git a/chain/peggy/types/codec.go b/chain/peggy/types/codec.go index 1ef88560..172e34ed 100644 --- a/chain/peggy/types/codec.go +++ b/chain/peggy/types/codec.go @@ -6,7 +6,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + authzcdc "github.com/cosmos/cosmos-sdk/x/authz/codec" + govcdc "github.com/cosmos/cosmos-sdk/x/gov/codec" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + groupcdc "github.com/cosmos/cosmos-sdk/x/group/codec" ) // ModuleCdc is the codec for the module @@ -14,6 +17,10 @@ var ModuleCdc = codec.NewLegacyAmino() func init() { RegisterLegacyAminoCodec(ModuleCdc) + + RegisterLegacyAminoCodec(authzcdc.Amino) + RegisterLegacyAminoCodec(govcdc.Amino) + RegisterLegacyAminoCodec(groupcdc.Amino) } // RegisterInterfaces registers the interfaces for the proto stuff @@ -30,10 +37,10 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { &MsgValsetUpdatedClaim{}, &MsgCancelSendToEth{}, &MsgSubmitBadSignatureEvidence{}, + &MsgUpdateParams{}, ) - registry.RegisterImplementations( - (*govtypes.Content)(nil), + registry.RegisterImplementations((*govtypes.Content)(nil), &BlacklistEthereumAddressesProposal{}, &RevokeEthereumBlacklistProposal{}, ) @@ -69,8 +76,8 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&IDSet{}, "peggy/IDSet", nil) cdc.RegisterConcrete(&Attestation{}, "peggy/Attestation", nil) cdc.RegisterConcrete(&MsgSubmitBadSignatureEvidence{}, "peggy/MsgSubmitBadSignatureEvidence", nil) + cdc.RegisterConcrete(&MsgUpdateParams{}, "peggy/MsgUpdateParams", nil) cdc.RegisterConcrete(&BlacklistEthereumAddressesProposal{}, "peggy/BlacklistEthereumAddressesProposal", nil) cdc.RegisterConcrete(&RevokeEthereumBlacklistProposal{}, "peggy/RevokeEthereumBlacklistProposal", nil) - } diff --git a/chain/peggy/types/errors.go b/chain/peggy/types/errors.go index 8e53acc7..667d6e4f 100644 --- a/chain/peggy/types/errors.go +++ b/chain/peggy/types/errors.go @@ -1,23 +1,23 @@ package types import ( - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "cosmossdk.io/errors" ) var ( - ErrInternal = sdkerrors.Register(ModuleName, 1, "internal") - ErrDuplicate = sdkerrors.Register(ModuleName, 2, "duplicate") - ErrInvalid = sdkerrors.Register(ModuleName, 3, "invalid") - ErrTimeout = sdkerrors.Register(ModuleName, 4, "timeout") - ErrUnknown = sdkerrors.Register(ModuleName, 5, "unknown") - ErrEmpty = sdkerrors.Register(ModuleName, 6, "empty") - ErrOutdated = sdkerrors.Register(ModuleName, 7, "outdated") - ErrUnsupported = sdkerrors.Register(ModuleName, 8, "unsupported") - ErrNonContiguousEventNonce = sdkerrors.Register(ModuleName, 9, "non contiguous event nonce") - ErrNoUnbatchedTxsFound = sdkerrors.Register(ModuleName, 10, "no unbatched txs found") - ErrResetDelegateKeys = sdkerrors.Register(ModuleName, 11, "can not set orchestrator addresses more than once") - ErrSupplyOverflow = sdkerrors.Register(ModuleName, 12, "supply cannot exceed max ERC20 value") - ErrInvalidEthSender = sdkerrors.Register(ModuleName, 13, "invalid ethereum sender on claim") - ErrInvalidEthDestination = sdkerrors.Register(ModuleName, 14, "invalid ethereum destination") - ErrNoLastClaimForValidator = sdkerrors.Register(ModuleName, 15, "missing previous claim for validator") + ErrInternal = errors.Register(ModuleName, 1, "internal") + ErrDuplicate = errors.Register(ModuleName, 2, "duplicate") + ErrInvalid = errors.Register(ModuleName, 3, "invalid") + ErrTimeout = errors.Register(ModuleName, 4, "timeout") + ErrUnknown = errors.Register(ModuleName, 5, "unknown") + ErrEmpty = errors.Register(ModuleName, 6, "empty") + ErrOutdated = errors.Register(ModuleName, 7, "outdated") + ErrUnsupported = errors.Register(ModuleName, 8, "unsupported") + ErrNonContiguousEventNonce = errors.Register(ModuleName, 9, "non contiguous event nonce") + ErrNoUnbatchedTxsFound = errors.Register(ModuleName, 10, "no unbatched txs found") + ErrResetDelegateKeys = errors.Register(ModuleName, 11, "can not set orchestrator addresses more than once") + ErrSupplyOverflow = errors.Register(ModuleName, 12, "supply cannot exceed max ERC20 value") + ErrInvalidEthSender = errors.Register(ModuleName, 13, "invalid ethereum sender on claim") + ErrInvalidEthDestination = errors.Register(ModuleName, 14, "invalid ethereum destination") + ErrNoLastClaimForValidator = errors.Register(ModuleName, 15, "missing previous claim for validator") ) diff --git a/chain/peggy/types/ethereum.go b/chain/peggy/types/ethereum.go index 99a6a1b9..4bba8f3e 100644 --- a/chain/peggy/types/ethereum.go +++ b/chain/peggy/types/ethereum.go @@ -5,10 +5,11 @@ import ( "fmt" "strings" + "cosmossdk.io/errors" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" gethcommon "github.com/ethereum/go-ethereum/common" - "github.com/pkg/errors" ) const ( @@ -41,7 +42,7 @@ func ZeroAddress() gethcommon.Address { // Creates a new EthAddress from a string, performing validation and returning any validation errors func NewEthAddress(address string) (*gethcommon.Address, error) { if err := ValidateEthAddress(address); err != nil { - return nil, sdkerrors.Wrap(err, "invalid input address") + return nil, errors.Wrap(err, "invalid input address") } addr := gethcommon.HexToAddress(address) @@ -64,7 +65,7 @@ func NewERC20Token(amount uint64, contract gethcommon.Address) *ERC20Token { return &ERC20Token{Amount: sdk.NewIntFromUint64(amount), Contract: contract.Hex()} } -func NewSDKIntERC20Token(amount sdk.Int, contract gethcommon.Address) *ERC20Token { +func NewSDKIntERC20Token(amount math.Int, contract gethcommon.Address) *ERC20Token { return &ERC20Token{Amount: amount, Contract: contract.Hex()} } @@ -88,13 +89,13 @@ func (p PeggyDenom) String() string { func (p PeggyDenom) TokenContract() (gethcommon.Address, error) { fullPrefix := []byte(PeggyDenomPrefix + PeggyDenomSeparator) if !bytes.HasPrefix(p, fullPrefix) { - err := errors.Errorf("denom '%x' byte prefix not equal to expected '%x'", []byte(p), fullPrefix) + err := fmt.Errorf("denom '%x' byte prefix not equal to expected '%x'", []byte(p), fullPrefix) return gethcommon.Address{}, err } addressBytes := bytes.TrimPrefix(p, fullPrefix) if len(addressBytes) != ETHContractAddressLen { - err := errors.Errorf("failed to validate Ethereum address bytes: %x", addressBytes) + err := fmt.Errorf("failed to validate Ethereum address bytes: %x", addressBytes) return gethcommon.Address{}, err } @@ -112,7 +113,7 @@ func NewPeggyDenom(tokenContract gethcommon.Address) PeggyDenom { func NewPeggyDenomFromString(denom string) (PeggyDenom, error) { fullPrefix := PeggyDenomPrefix + PeggyDenomSeparator if !strings.HasPrefix(denom, fullPrefix) { - err := errors.Errorf("denom '%s' string prefix not equal to expected '%s'", denom, fullPrefix) + err := fmt.Errorf("denom '%s' string prefix not equal to expected '%s'", denom, fullPrefix) return nil, err } @@ -132,15 +133,15 @@ func PeggyDenomString(tokenContract gethcommon.Address) string { // ValidateBasic permforms stateless validation func (e *ERC20Token) ValidateBasic() error { if err := ValidateEthAddress(e.Contract); err != nil { - return sdkerrors.Wrap(err, "ethereum address") + return errors.Wrap(err, "ethereum address") } if !e.PeggyCoin().IsValid() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, e.PeggyCoin().String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, e.PeggyCoin().String()) } if !e.PeggyCoin().IsPositive() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, e.PeggyCoin().String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, e.PeggyCoin().String()) } return nil @@ -149,12 +150,12 @@ func (e *ERC20Token) ValidateBasic() error { // Add adds one ERC20 to another func (e *ERC20Token) Add(o *ERC20Token) (*ERC20Token, error) { if e.Contract != o.Contract { - return nil, errors.New("invalid contract address") + return nil, fmt.Errorf("invalid contract address") } sum := e.Amount.Add(o.Amount) if !sum.IsUint64() { - return nil, errors.New("invalid amount") + return nil, fmt.Errorf("invalid amount") } return NewERC20Token(sum.Uint64(), gethcommon.HexToAddress(e.Contract)), nil diff --git a/chain/peggy/types/ethereum_signer.go b/chain/peggy/types/ethereum_signer.go index 41daa98c..48d21b47 100644 --- a/chain/peggy/types/ethereum_signer.go +++ b/chain/peggy/types/ethereum_signer.go @@ -3,7 +3,7 @@ package types import ( "crypto/ecdsa" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "cosmossdk.io/errors" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/crypto" ) @@ -15,7 +15,7 @@ const ( // NewEthereumSignature creates a new signuature over a given byte array func NewEthereumSignature(hash common.Hash, privateKey *ecdsa.PrivateKey) ([]byte, error) { if privateKey == nil { - return nil, sdkerrors.Wrap(ErrEmpty, "private key") + return nil, errors.Wrap(ErrEmpty, "private key") } protectedHash := crypto.Keccak256Hash(append([]uint8(signaturePrefix), hash[:]...)) return crypto.Sign(protectedHash.Bytes(), privateKey) @@ -25,7 +25,7 @@ func NewEthereumSignature(hash common.Hash, privateKey *ecdsa.PrivateKey) ([]byt // returns an error if the signature isn't valid func EthAddressFromSignature(hash common.Hash, signature []byte) (common.Address, error) { if len(signature) < 65 { - return common.Address{}, sdkerrors.Wrap(ErrInvalid, "signature too short") + return common.Address{}, errors.Wrap(ErrInvalid, "signature too short") } // To verify signature // - use crypto.SigToPub to get the public key @@ -49,7 +49,7 @@ func EthAddressFromSignature(hash common.Hash, signature []byte) (common.Address pubkey, err := crypto.SigToPub(protectedHash.Bytes(), signature) if err != nil { - return common.Address{}, sdkerrors.Wrap(err, "signature to public key") + return common.Address{}, errors.Wrap(err, "signature to public key") } addr := crypto.PubkeyToAddress(*pubkey) @@ -63,11 +63,11 @@ func ValidateEthereumSignature(hash common.Hash, signature []byte, ethAddress co addr, err := EthAddressFromSignature(hash, signature) if err != nil { - return sdkerrors.Wrap(err, "") + return errors.Wrap(err, "") } if addr != ethAddress { - return sdkerrors.Wrap(ErrInvalid, "signature not matching") + return errors.Wrap(ErrInvalid, "signature not matching") } return nil diff --git a/chain/peggy/types/ethereum_signer.pb.go b/chain/peggy/types/ethereum_signer.pb.go index 74cf1d28..d52e1b45 100644 --- a/chain/peggy/types/ethereum_signer.pb.go +++ b/chain/peggy/types/ethereum_signer.pb.go @@ -5,8 +5,8 @@ package types import ( fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" math "math" ) diff --git a/chain/peggy/types/events.pb.go b/chain/peggy/types/events.pb.go index d77ef390..13168705 100644 --- a/chain/peggy/types/events.pb.go +++ b/chain/peggy/types/events.pb.go @@ -6,8 +6,8 @@ package types import ( fmt "fmt" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" @@ -1133,6 +1133,82 @@ func (m *EventSubmitBadSignatureEvidence) GetBadEthSignatureSubject() string { return "" } +type EventValidatorSlash struct { + Power int64 `protobuf:"varint,1,opt,name=power,proto3" json:"power,omitempty"` + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` + ConsensusAddress string `protobuf:"bytes,3,opt,name=consensus_address,json=consensusAddress,proto3" json:"consensus_address,omitempty"` + OperatorAddress string `protobuf:"bytes,4,opt,name=operator_address,json=operatorAddress,proto3" json:"operator_address,omitempty"` + Moniker string `protobuf:"bytes,5,opt,name=moniker,proto3" json:"moniker,omitempty"` +} + +func (m *EventValidatorSlash) Reset() { *m = EventValidatorSlash{} } +func (m *EventValidatorSlash) String() string { return proto.CompactTextString(m) } +func (*EventValidatorSlash) ProtoMessage() {} +func (*EventValidatorSlash) Descriptor() ([]byte, []int) { + return fileDescriptor_95f217691d2f42c2, []int{16} +} +func (m *EventValidatorSlash) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventValidatorSlash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventValidatorSlash.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EventValidatorSlash) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventValidatorSlash.Merge(m, src) +} +func (m *EventValidatorSlash) XXX_Size() int { + return m.Size() +} +func (m *EventValidatorSlash) XXX_DiscardUnknown() { + xxx_messageInfo_EventValidatorSlash.DiscardUnknown(m) +} + +var xxx_messageInfo_EventValidatorSlash proto.InternalMessageInfo + +func (m *EventValidatorSlash) GetPower() int64 { + if m != nil { + return m.Power + } + return 0 +} + +func (m *EventValidatorSlash) GetReason() string { + if m != nil { + return m.Reason + } + return "" +} + +func (m *EventValidatorSlash) GetConsensusAddress() string { + if m != nil { + return m.ConsensusAddress + } + return "" +} + +func (m *EventValidatorSlash) GetOperatorAddress() string { + if m != nil { + return m.OperatorAddress + } + return "" +} + +func (m *EventValidatorSlash) GetMoniker() string { + if m != nil { + return m.Moniker + } + return "" +} + func init() { proto.RegisterType((*EventAttestationObserved)(nil), "injective.peggy.v1.EventAttestationObserved") proto.RegisterType((*EventBridgeWithdrawCanceled)(nil), "injective.peggy.v1.EventBridgeWithdrawCanceled") @@ -1150,86 +1226,92 @@ func init() { proto.RegisterType((*EventValsetUpdateClaim)(nil), "injective.peggy.v1.EventValsetUpdateClaim") proto.RegisterType((*EventCancelSendToEth)(nil), "injective.peggy.v1.EventCancelSendToEth") proto.RegisterType((*EventSubmitBadSignatureEvidence)(nil), "injective.peggy.v1.EventSubmitBadSignatureEvidence") + proto.RegisterType((*EventValidatorSlash)(nil), "injective.peggy.v1.EventValidatorSlash") } func init() { proto.RegisterFile("injective/peggy/v1/events.proto", fileDescriptor_95f217691d2f42c2) } var fileDescriptor_95f217691d2f42c2 = []byte{ - // 1178 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0x4f, 0x6f, 0x1b, 0x45, - 0x14, 0xcf, 0xda, 0x8e, 0x1b, 0x4f, 0x1c, 0xa7, 0x19, 0xa2, 0xe0, 0x06, 0xd5, 0x71, 0xb6, 0x7f, - 0x12, 0x81, 0x6a, 0x37, 0xe1, 0x84, 0xc4, 0x25, 0x71, 0x5c, 0x1a, 0xfe, 0x34, 0xd2, 0x26, 0x04, - 0x89, 0x8b, 0x35, 0xbb, 0xf3, 0xba, 0x3b, 0xad, 0x77, 0xc7, 0xec, 0x8c, 0xdd, 0xe6, 0x8c, 0x84, - 0x38, 0xf2, 0x05, 0xe0, 0xc8, 0x9d, 0x0f, 0x81, 0x54, 0x6e, 0x3d, 0x22, 0x0e, 0x15, 0x4a, 0xbe, - 0x01, 0x47, 0x4e, 0x68, 0x67, 0xc6, 0x1b, 0x27, 0x6b, 0x8b, 0xd4, 0xa2, 0xe5, 0xe4, 0x9d, 0x37, - 0xef, 0xbd, 0x79, 0xf3, 0x7b, 0xbf, 0x79, 0xef, 0x19, 0xad, 0xb1, 0xe8, 0x09, 0x78, 0x92, 0x0d, - 0xa0, 0xd9, 0x03, 0xdf, 0x3f, 0x69, 0x0e, 0xb6, 0x9a, 0x30, 0x80, 0x48, 0x8a, 0x46, 0x2f, 0xe6, - 0x92, 0x63, 0x9c, 0x2a, 0x34, 0x94, 0x42, 0x63, 0xb0, 0xb5, 0xba, 0xec, 0x73, 0x9f, 0xab, 0xed, - 0x66, 0xf2, 0xa5, 0x35, 0x57, 0x6f, 0x8f, 0x71, 0x45, 0xa4, 0x04, 0x21, 0x89, 0x64, 0x3c, 0x32, - 0x5a, 0xb5, 0x31, 0x5a, 0xf2, 0xa4, 0x07, 0xe6, 0x3c, 0xfb, 0x2f, 0x0b, 0x55, 0xdb, 0x49, 0x00, - 0x3b, 0xe7, 0xa6, 0x07, 0xae, 0x80, 0x78, 0x00, 0x14, 0x3f, 0x44, 0xd7, 0x47, 0x3c, 0x76, 0x12, - 0xbb, 0xaa, 0x55, 0xb7, 0x36, 0x2b, 0xdb, 0x37, 0x1b, 0xd9, 0x38, 0x1b, 0xad, 0x2e, 0x61, 0xe1, - 0xd1, 0x49, 0x0f, 0x9c, 0xc5, 0x11, 0xb3, 0x44, 0x80, 0x37, 0xd0, 0xa2, 0x1b, 0x33, 0xea, 0x43, - 0xc7, 0xe3, 0x91, 0x8c, 0x89, 0x27, 0xab, 0xb9, 0xba, 0xb5, 0x59, 0x72, 0x2a, 0x5a, 0xdc, 0x32, - 0x52, 0x7c, 0xf7, 0x5c, 0x31, 0x20, 0x2c, 0xea, 0x30, 0x5a, 0xcd, 0xd7, 0xad, 0xcd, 0x82, 0xb3, - 0x60, 0x14, 0x13, 0xe9, 0x3e, 0xc5, 0x77, 0x50, 0x65, 0x34, 0x34, 0x46, 0xab, 0x85, 0xba, 0xb5, - 0x59, 0x76, 0x16, 0x46, 0xa4, 0xfb, 0x14, 0x2f, 0xa3, 0xd9, 0x88, 0x47, 0x1e, 0x54, 0x67, 0x95, - 0x13, 0xbd, 0xb0, 0x23, 0xf4, 0x9e, 0xba, 0xf3, 0xae, 0x72, 0xf9, 0x15, 0x93, 0x01, 0x8d, 0xc9, - 0xb3, 0x16, 0x89, 0x3c, 0xe8, 0x02, 0x1d, 0x17, 0xac, 0x75, 0xd5, 0x60, 0x73, 0x63, 0x82, 0xb5, - 0x7f, 0xb5, 0x10, 0x56, 0x07, 0x1e, 0xf4, 0xa5, 0xcf, 0x59, 0xe4, 0xef, 0x12, 0xe9, 0x05, 0x49, - 0x70, 0x14, 0x22, 0x1e, 0x1a, 0xef, 0x7a, 0x81, 0xb7, 0xd0, 0x32, 0x8f, 0xbd, 0x00, 0x84, 0x8c, - 0x89, 0xe4, 0x71, 0x87, 0x50, 0x1a, 0x83, 0x10, 0x06, 0xaf, 0x77, 0x46, 0xf7, 0x76, 0xf4, 0x16, - 0x5e, 0x43, 0xf3, 0x6e, 0xe2, 0xb1, 0xa3, 0xef, 0xaa, 0x01, 0x43, 0x4a, 0xf4, 0x28, 0x91, 0xe0, - 0x5b, 0x68, 0x41, 0x2b, 0x48, 0x16, 0x02, 0xef, 0x4b, 0x05, 0x56, 0xc1, 0x29, 0x2b, 0xe1, 0x91, - 0x96, 0xe1, 0x3a, 0x2a, 0x1b, 0xa5, 0xe7, 0x1d, 0x46, 0x45, 0x75, 0xb6, 0x9e, 0x4f, 0xdd, 0x1c, - 0x3d, 0xdf, 0xa7, 0xc2, 0xfe, 0xc9, 0x42, 0xab, 0xd9, 0x7b, 0xbc, 0x31, 0xdc, 0xf0, 0x0d, 0x34, - 0xa7, 0x23, 0x4a, 0x59, 0x70, 0x4d, 0xad, 0x47, 0x13, 0x5b, 0x18, 0x4d, 0xec, 0xcf, 0x39, 0xc3, - 0xe6, 0x63, 0xd2, 0x15, 0x20, 0xbf, 0xec, 0x51, 0x22, 0xc1, 0x81, 0x6f, 0xfa, 0x20, 0x24, 0x5e, - 0x47, 0xe5, 0x81, 0x12, 0x1b, 0x98, 0x2c, 0x65, 0x39, 0xaf, 0x65, 0x29, 0x4e, 0x46, 0x25, 0x00, - 0xe6, 0x07, 0xd2, 0x84, 0x65, 0xec, 0x1e, 0x2a, 0x19, 0xfe, 0x14, 0x55, 0x8c, 0x52, 0x08, 0xa1, - 0x0b, 0xb1, 0xa8, 0xe6, 0xeb, 0xf9, 0xcd, 0xf9, 0xed, 0x5b, 0xe3, 0xde, 0x84, 0xa6, 0xd8, 0x31, - 0xe9, 0x32, 0x9a, 0x64, 0xcc, 0x31, 0xfe, 0xbf, 0xd0, 0x96, 0xf8, 0x10, 0x2d, 0xc4, 0xf0, 0x8c, - 0xc4, 0xb4, 0x43, 0x42, 0xde, 0x8f, 0x74, 0x62, 0x4a, 0xbb, 0x8d, 0x17, 0xaf, 0xd6, 0x66, 0xfe, - 0x78, 0xb5, 0x76, 0xd7, 0x67, 0x32, 0xe8, 0xbb, 0x0d, 0x8f, 0x87, 0x4d, 0x8f, 0x8b, 0x90, 0x0b, - 0xf3, 0x73, 0x4f, 0xd0, 0xa7, 0xe6, 0x1d, 0xef, 0x47, 0xd2, 0x29, 0x6b, 0x27, 0x3b, 0xca, 0x47, - 0x72, 0x51, 0xe3, 0x54, 0xf2, 0xa7, 0x10, 0x29, 0xee, 0x97, 0x9c, 0x79, 0x2d, 0x3b, 0x4a, 0x44, - 0xf6, 0x2f, 0x16, 0xba, 0xa9, 0x80, 0x3a, 0x04, 0x79, 0x90, 0x65, 0x14, 0x08, 0xfc, 0x01, 0x5a, - 0x1a, 0x0c, 0xa3, 0x4e, 0x39, 0xa8, 0xd3, 0x79, 0x3d, 0xdd, 0x18, 0x12, 0x70, 0x0a, 0xce, 0xde, - 0x47, 0xcb, 0xbc, 0x07, 0x5a, 0x1d, 0x64, 0x90, 0x9a, 0xe4, 0x95, 0x09, 0x1e, 0xee, 0xb5, 0x65, - 0x60, 0x2c, 0xec, 0x27, 0xe6, 0x11, 0xe9, 0xdc, 0xb6, 0x78, 0xf4, 0x98, 0xc5, 0xe1, 0x55, 0xb2, - 0xfa, 0xfa, 0xd1, 0xd9, 0xdf, 0xe6, 0x50, 0xc5, 0xe0, 0x13, 0xd1, 0x23, 0xde, 0x96, 0x01, 0xbe, - 0x8d, 0x2a, 0xdc, 0xd0, 0x5e, 0xbf, 0x10, 0x73, 0x54, 0x79, 0x28, 0x4d, 0xde, 0x08, 0x5e, 0x41, - 0x45, 0x01, 0x11, 0x85, 0xd8, 0x78, 0x37, 0x2b, 0xbc, 0x8a, 0xe6, 0x62, 0xf0, 0x80, 0x0d, 0x20, - 0x36, 0x57, 0x4c, 0xd7, 0xf8, 0x13, 0x54, 0xbc, 0x90, 0xfd, 0xa6, 0xc9, 0xfe, 0xc6, 0x15, 0xb2, - 0xdf, 0xe2, 0x2c, 0x72, 0x8c, 0x39, 0x7e, 0x84, 0x90, 0x79, 0x57, 0x8f, 0x41, 0x97, 0xbc, 0x29, - 0x9c, 0x95, 0xb4, 0x8b, 0x07, 0x00, 0xb6, 0x8f, 0x96, 0x14, 0x08, 0x06, 0x6b, 0x5d, 0xb5, 0x2e, - 0x15, 0x1b, 0x2b, 0x53, 0x6c, 0xa6, 0x80, 0x5b, 0xa2, 0xe5, 0xcb, 0x4d, 0xe8, 0x98, 0x4b, 0x48, - 0xce, 0x52, 0xdd, 0xf1, 0xe2, 0x59, 0x4a, 0xa4, 0xcf, 0xca, 0xb6, 0x81, 0xdc, 0x84, 0x36, 0x30, - 0xe0, 0x32, 0x85, 0x5e, 0x2f, 0xec, 0xef, 0xf2, 0xe6, 0x7e, 0x7b, 0xd0, 0xe3, 0x82, 0x49, 0xd5, - 0xbf, 0xfe, 0xfd, 0xcc, 0x75, 0x54, 0xd6, 0x0a, 0x17, 0x6a, 0x84, 0x36, 0x32, 0x25, 0x22, 0x1b, - 0x56, 0x7e, 0x5c, 0x58, 0x1b, 0x68, 0x11, 0x64, 0x00, 0x31, 0xf4, 0xc3, 0x8e, 0x61, 0x4d, 0x41, - 0x17, 0xcc, 0xa1, 0xf8, 0x50, 0xb3, 0x67, 0x03, 0x2d, 0xea, 0x64, 0x75, 0x52, 0x12, 0xe9, 0x47, - 0x5d, 0xd1, 0x62, 0x67, 0x48, 0xa5, 0x3b, 0xa8, 0xa2, 0xde, 0xfc, 0x79, 0x05, 0x2e, 0x2a, 0xbd, - 0x05, 0x25, 0x4d, 0x0b, 0xf0, 0x83, 0x94, 0x71, 0xd7, 0xa6, 0xaa, 0x37, 0x43, 0xc2, 0x4d, 0x4a, - 0xf5, 0xdc, 0xe4, 0x77, 0x8f, 0x51, 0x81, 0x12, 0x49, 0xaa, 0x25, 0xa5, 0xa2, 0xbe, 0xed, 0xbf, - 0x87, 0xfd, 0x31, 0x6d, 0xc5, 0x6f, 0x3b, 0x13, 0x97, 0x48, 0x5d, 0xc8, 0x90, 0x3a, 0x0b, 0xec, - 0xec, 0x38, 0x60, 0x27, 0x01, 0x52, 0x9c, 0xcc, 0xfd, 0xdf, 0x72, 0xe8, 0x5d, 0x75, 0xf9, 0xb6, - 0xd3, 0xda, 0xbe, 0xbf, 0x07, 0xbd, 0x2e, 0x3f, 0x01, 0xfa, 0xd6, 0x11, 0x58, 0x47, 0x65, 0x43, - 0x31, 0x3d, 0x93, 0x68, 0x22, 0xce, 0x6b, 0xd9, 0x9e, 0x9a, 0x4c, 0xae, 0x88, 0x01, 0x46, 0x85, - 0x88, 0x84, 0x60, 0xee, 0xac, 0xbe, 0x55, 0x59, 0x3c, 0x09, 0x5d, 0xde, 0xd5, 0x84, 0x73, 0xcc, - 0x2a, 0x29, 0x8b, 0x14, 0x3c, 0x16, 0x92, 0xae, 0x26, 0x4d, 0xc1, 0x49, 0xd7, 0x13, 0xb1, 0x2c, - 0x4d, 0xc6, 0xf2, 0xc7, 0x3c, 0x5a, 0xc9, 0xf4, 0xff, 0xff, 0x03, 0xca, 0x0b, 0x2d, 0xa9, 0x90, - 0x6d, 0x49, 0xd9, 0x19, 0x62, 0xf6, 0xbf, 0x9b, 0x21, 0x8a, 0x6f, 0x60, 0x86, 0xb8, 0x96, 0x99, - 0x21, 0xa6, 0x78, 0xfc, 0xf6, 0xc7, 0xa6, 0xce, 0xeb, 0x91, 0xf1, 0x35, 0x7b, 0xab, 0xfd, 0xbd, - 0x85, 0xd6, 0x74, 0x53, 0xee, 0xbb, 0x21, 0x93, 0xbb, 0x84, 0x1e, 0x32, 0x3f, 0x22, 0xb2, 0x1f, - 0x43, 0x7b, 0xc0, 0x28, 0x24, 0xc0, 0xbe, 0x8f, 0x96, 0x5c, 0x42, 0xd5, 0x44, 0x21, 0x86, 0x9b, - 0x66, 0x6c, 0x59, 0x74, 0x09, 0x6d, 0xcb, 0x20, 0xb5, 0xc1, 0x1f, 0xa1, 0x1b, 0x19, 0xdd, 0x8e, - 0xe8, 0xbb, 0x49, 0x02, 0x4c, 0xb7, 0x5a, 0xb9, 0x64, 0x73, 0xa8, 0x77, 0x77, 0xe1, 0xc5, 0x69, - 0xcd, 0x7a, 0x79, 0x5a, 0xb3, 0xfe, 0x3c, 0xad, 0x59, 0x3f, 0x9c, 0xd5, 0x66, 0x5e, 0x9e, 0xd5, - 0x66, 0x7e, 0x3f, 0xab, 0xcd, 0x7c, 0xfd, 0xd9, 0x08, 0xdc, 0xfb, 0xc3, 0x5c, 0x7e, 0x4e, 0x5c, - 0xd1, 0x4c, 0x33, 0x7b, 0xcf, 0xe3, 0x31, 0x8c, 0x2e, 0x93, 0x71, 0xb7, 0x19, 0x72, 0xda, 0xef, - 0x82, 0x30, 0x7f, 0xd3, 0x54, 0x5e, 0xdc, 0xa2, 0xfa, 0x93, 0xf6, 0xe1, 0x3f, 0x01, 0x00, 0x00, - 0xff, 0xff, 0x58, 0xec, 0xfe, 0x9f, 0x37, 0x0e, 0x00, 0x00, + // 1254 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xcd, 0x6e, 0x1b, 0xb7, + 0x13, 0xf7, 0x4a, 0xb2, 0x1c, 0xd1, 0xb2, 0xe4, 0x30, 0x46, 0xfe, 0x8a, 0xff, 0x88, 0xac, 0x6c, + 0x3e, 0xec, 0xb6, 0x88, 0x94, 0xa4, 0xa7, 0x02, 0xbd, 0xc4, 0x8a, 0xd2, 0xb8, 0x1f, 0x09, 0xb0, + 0x72, 0x53, 0xa0, 0x17, 0x81, 0xbb, 0x9c, 0x68, 0x99, 0x68, 0x49, 0x75, 0x49, 0x29, 0xf1, 0xb9, + 0x40, 0xd1, 0x63, 0x5f, 0xa0, 0x3d, 0xf6, 0xde, 0x43, 0x1f, 0xa1, 0x40, 0x7a, 0xcb, 0xb1, 0xe8, + 0x21, 0x28, 0x92, 0x37, 0xe8, 0xb1, 0xa7, 0x62, 0x49, 0xee, 0x46, 0xf6, 0x4a, 0xa8, 0x63, 0x34, + 0xe9, 0x49, 0x3b, 0xc3, 0x99, 0xe1, 0x70, 0xe6, 0x37, 0x1f, 0x42, 0x5b, 0x8c, 0x3f, 0x84, 0x40, + 0xb1, 0x29, 0x74, 0xc6, 0x30, 0x1c, 0x1e, 0x74, 0xa6, 0xd7, 0x3b, 0x30, 0x05, 0xae, 0x64, 0x7b, + 0x1c, 0x0b, 0x25, 0x30, 0xce, 0x04, 0xda, 0x5a, 0xa0, 0x3d, 0xbd, 0xbe, 0xb9, 0x31, 0x14, 0x43, + 0xa1, 0x8f, 0x3b, 0xc9, 0x97, 0x91, 0xdc, 0xbc, 0x34, 0xc7, 0x14, 0x51, 0x0a, 0xa4, 0x22, 0x8a, + 0x09, 0x6e, 0xa5, 0x9a, 0x73, 0xa4, 0xd4, 0xc1, 0x18, 0xec, 0x7d, 0xee, 0x9f, 0x0e, 0x6a, 0xf4, + 0x12, 0x07, 0x6e, 0xbe, 0x52, 0xbd, 0xe7, 0x4b, 0x88, 0xa7, 0x40, 0xf1, 0x1d, 0xb4, 0x3e, 0x63, + 0x71, 0x90, 0xe8, 0x35, 0x9c, 0x96, 0xb3, 0x53, 0xbb, 0x71, 0xbe, 0x9d, 0xf7, 0xb3, 0xdd, 0x1d, + 0x11, 0x16, 0xed, 0x1f, 0x8c, 0xc1, 0xab, 0xcf, 0xa8, 0x25, 0x0c, 0xbc, 0x8d, 0xea, 0x7e, 0xcc, + 0xe8, 0x10, 0x06, 0x81, 0xe0, 0x2a, 0x26, 0x81, 0x6a, 0x14, 0x5a, 0xce, 0x4e, 0xc5, 0xab, 0x19, + 0x76, 0xd7, 0x72, 0xf1, 0x95, 0x57, 0x82, 0x21, 0x61, 0x7c, 0xc0, 0x68, 0xa3, 0xd8, 0x72, 0x76, + 0x4a, 0xde, 0x9a, 0x15, 0x4c, 0xb8, 0x7b, 0x14, 0x5f, 0x46, 0xb5, 0x59, 0xd7, 0x18, 0x6d, 0x94, + 0x5a, 0xce, 0x4e, 0xd5, 0x5b, 0x9b, 0xe1, 0xee, 0x51, 0xbc, 0x81, 0x96, 0xb9, 0xe0, 0x01, 0x34, + 0x96, 0xb5, 0x11, 0x43, 0xb8, 0x1c, 0xfd, 0x5f, 0xbf, 0x79, 0x57, 0x9b, 0xfc, 0x82, 0xa9, 0x90, + 0xc6, 0xe4, 0x71, 0x97, 0xf0, 0x00, 0x46, 0x40, 0xe7, 0x39, 0xeb, 0x1c, 0xd7, 0xd9, 0xc2, 0x1c, + 0x67, 0xdd, 0x5f, 0x1c, 0x84, 0xf5, 0x85, 0xf7, 0x26, 0x6a, 0x28, 0x18, 0x1f, 0xee, 0x12, 0x15, + 0x84, 0x89, 0x73, 0x14, 0xb8, 0x88, 0xac, 0x75, 0x43, 0xe0, 0xeb, 0x68, 0x43, 0xc4, 0x41, 0x08, + 0x52, 0xc5, 0x44, 0x89, 0x78, 0x40, 0x28, 0x8d, 0x41, 0x4a, 0x1b, 0xaf, 0x33, 0xb3, 0x67, 0x37, + 0xcd, 0x11, 0xde, 0x42, 0xab, 0x7e, 0x62, 0x71, 0x60, 0xde, 0x6a, 0x02, 0x86, 0x34, 0xeb, 0x6e, + 0xc2, 0xc1, 0x17, 0xd1, 0x9a, 0x11, 0x50, 0x2c, 0x02, 0x31, 0x51, 0x3a, 0x58, 0x25, 0xaf, 0xaa, + 0x99, 0xfb, 0x86, 0x87, 0x5b, 0xa8, 0x6a, 0x85, 0x9e, 0x0c, 0x18, 0x95, 0x8d, 0xe5, 0x56, 0x31, + 0x33, 0xb3, 0xff, 0x64, 0x8f, 0x4a, 0xf7, 0x07, 0x07, 0x6d, 0xe6, 0xdf, 0xf1, 0xc6, 0xe2, 0x86, + 0xcf, 0xa1, 0x53, 0xc6, 0xa3, 0x0c, 0x05, 0x2b, 0x9a, 0x9e, 0x4d, 0x6c, 0x69, 0x36, 0xb1, 0x3f, + 0x16, 0x2c, 0x9a, 0xef, 0x93, 0x91, 0x04, 0xf5, 0xf9, 0x98, 0x12, 0x05, 0x1e, 0x7c, 0x35, 0x01, + 0xa9, 0xf0, 0x05, 0x54, 0x9d, 0x6a, 0xb6, 0x0d, 0x93, 0xa3, 0x35, 0x57, 0x0d, 0x2f, 0x8b, 0x93, + 0x15, 0x09, 0x81, 0x0d, 0x43, 0x65, 0xdd, 0xb2, 0x7a, 0x77, 0x34, 0x0f, 0x7f, 0x8c, 0x6a, 0x56, + 0x28, 0x82, 0xc8, 0x87, 0x58, 0x36, 0x8a, 0xad, 0xe2, 0xce, 0xea, 0x8d, 0x8b, 0xf3, 0x6a, 0xc2, + 0x40, 0xec, 0x3e, 0x19, 0x31, 0x9a, 0x64, 0xcc, 0xb3, 0xf6, 0x3f, 0x33, 0x9a, 0xb8, 0x8f, 0xd6, + 0x62, 0x78, 0x4c, 0x62, 0x3a, 0x20, 0x91, 0x98, 0x70, 0x93, 0x98, 0xca, 0x6e, 0xfb, 0xe9, 0xf3, + 0xad, 0xa5, 0xdf, 0x9f, 0x6f, 0x5d, 0x19, 0x32, 0x15, 0x4e, 0xfc, 0x76, 0x20, 0xa2, 0x4e, 0x20, + 0x64, 0x24, 0xa4, 0xfd, 0xb9, 0x2a, 0xe9, 0x23, 0x5b, 0xc7, 0x7b, 0x5c, 0x79, 0x55, 0x63, 0xe4, + 0xa6, 0xb6, 0x91, 0x3c, 0xd4, 0x1a, 0x55, 0xe2, 0x11, 0x70, 0x8d, 0xfd, 0x8a, 0xb7, 0x6a, 0x78, + 0xfb, 0x09, 0xcb, 0xfd, 0xc9, 0x41, 0xe7, 0x75, 0xa0, 0xfa, 0xa0, 0xee, 0xe5, 0x11, 0x05, 0x12, + 0xbf, 0x87, 0x4e, 0x4f, 0x53, 0xaf, 0x33, 0x0c, 0x9a, 0x74, 0xae, 0x67, 0x07, 0x29, 0x00, 0x4f, + 0x80, 0xd9, 0x6b, 0x68, 0x43, 0x8c, 0xc1, 0x88, 0x83, 0x0a, 0x33, 0x95, 0xa2, 0x56, 0xc1, 0xe9, + 0x59, 0x4f, 0x85, 0x56, 0xc3, 0x7d, 0x68, 0x8b, 0xc8, 0xe4, 0xb6, 0x2b, 0xf8, 0x03, 0x16, 0x47, + 0xc7, 0xc9, 0xea, 0xeb, 0x7b, 0xe7, 0x7e, 0x5d, 0x40, 0x35, 0x1b, 0x1f, 0x4e, 0xf7, 0x45, 0x4f, + 0x85, 0xf8, 0x12, 0xaa, 0x09, 0x0b, 0x7b, 0x53, 0x21, 0xf6, 0xaa, 0x6a, 0xca, 0x4d, 0x6a, 0x04, + 0x9f, 0x45, 0x65, 0x09, 0x9c, 0x42, 0x6c, 0xad, 0x5b, 0x0a, 0x6f, 0xa2, 0x53, 0x31, 0x04, 0xc0, + 0xa6, 0x10, 0xdb, 0x27, 0x66, 0x34, 0xfe, 0x08, 0x95, 0x0f, 0x65, 0xbf, 0x63, 0xb3, 0xbf, 0x7d, + 0x8c, 0xec, 0x77, 0x05, 0xe3, 0x9e, 0x55, 0xc7, 0x77, 0x11, 0xb2, 0x75, 0xf5, 0x00, 0x4c, 0xcb, + 0x3b, 0x81, 0xb1, 0x8a, 0x31, 0x71, 0x1b, 0xc0, 0x1d, 0xa2, 0xd3, 0x3a, 0x08, 0x36, 0xd6, 0xa6, + 0x6b, 0x1d, 0x69, 0x36, 0x4e, 0xae, 0xd9, 0x9c, 0x20, 0xdc, 0x0a, 0x6d, 0x1c, 0x1d, 0x42, 0xf7, + 0x85, 0x82, 0xe4, 0x2e, 0x3d, 0x1d, 0x0f, 0xdf, 0xa5, 0x59, 0xe6, 0xae, 0xfc, 0x18, 0x28, 0x2c, + 0x18, 0x03, 0x53, 0xa1, 0xb2, 0xd0, 0x1b, 0xc2, 0xfd, 0xa6, 0x68, 0xdf, 0x77, 0x0b, 0xc6, 0x42, + 0x32, 0xa5, 0xe7, 0xd7, 0x3f, 0xdf, 0x79, 0x01, 0x55, 0x8d, 0xc0, 0xa1, 0x1e, 0x61, 0x94, 0x6c, + 0x8b, 0xc8, 0xbb, 0x55, 0x9c, 0xe7, 0xd6, 0x36, 0xaa, 0x83, 0x0a, 0x21, 0x86, 0x49, 0x34, 0xb0, + 0xa8, 0x29, 0x99, 0x86, 0x99, 0xb2, 0xfb, 0x06, 0x3d, 0xdb, 0xa8, 0x6e, 0x92, 0x35, 0xc8, 0x40, + 0x64, 0x8a, 0xba, 0x66, 0xd8, 0x5e, 0x0a, 0xa5, 0xcb, 0xa8, 0xa6, 0x6b, 0xfe, 0x55, 0x07, 0x2e, + 0x6b, 0xb9, 0x35, 0xcd, 0xcd, 0x1a, 0xf0, 0xed, 0x0c, 0x71, 0x2b, 0x27, 0xea, 0x37, 0x29, 0xe0, + 0x16, 0xa5, 0xfa, 0xd4, 0xe2, 0xba, 0xc7, 0xa8, 0x44, 0x89, 0x22, 0x8d, 0x8a, 0x16, 0xd1, 0xdf, + 0xee, 0x5f, 0xe9, 0x7c, 0xcc, 0x46, 0xf1, 0xdb, 0xce, 0xc4, 0x11, 0x50, 0x97, 0x72, 0xa0, 0xce, + 0x07, 0x76, 0x79, 0x5e, 0x60, 0x17, 0x05, 0xa4, 0xbc, 0x18, 0xfb, 0xbf, 0x16, 0xd0, 0xff, 0xf4, + 0xe3, 0x7b, 0x5e, 0xf7, 0xc6, 0xb5, 0x5b, 0x30, 0x1e, 0x89, 0x03, 0xa0, 0x6f, 0x3d, 0x02, 0x17, + 0x50, 0xd5, 0x42, 0xcc, 0xec, 0x24, 0x06, 0x88, 0xab, 0x86, 0x77, 0x4b, 0x6f, 0x26, 0xc7, 0x8c, + 0x01, 0x46, 0x25, 0x4e, 0x22, 0xb0, 0x6f, 0xd6, 0xdf, 0xba, 0x2d, 0x1e, 0x44, 0xbe, 0x18, 0x19, + 0xc0, 0x79, 0x96, 0x4a, 0xda, 0x22, 0x85, 0x80, 0x45, 0x64, 0x64, 0x40, 0x53, 0xf2, 0x32, 0x7a, + 0x61, 0x2c, 0x2b, 0x8b, 0x63, 0xf9, 0x7d, 0x11, 0x9d, 0xcd, 0xcd, 0xff, 0xff, 0x22, 0x94, 0x87, + 0x46, 0x52, 0x29, 0x3f, 0x92, 0xf2, 0x3b, 0xc4, 0xf2, 0xbf, 0xb7, 0x43, 0x94, 0xdf, 0xc0, 0x0e, + 0xb1, 0x92, 0xdb, 0x21, 0x4e, 0x50, 0xfc, 0xee, 0x87, 0xb6, 0xcf, 0x9b, 0x95, 0xf1, 0x35, 0x67, + 0xab, 0xfb, 0xad, 0x83, 0xb6, 0xcc, 0x50, 0x9e, 0xf8, 0x11, 0x53, 0xbb, 0x84, 0xf6, 0xd9, 0x90, + 0x13, 0x35, 0x89, 0xa1, 0x37, 0x65, 0x14, 0x92, 0xc0, 0xbe, 0x8b, 0x4e, 0xfb, 0x84, 0xea, 0x8d, + 0x42, 0xa6, 0x87, 0x76, 0x6d, 0xa9, 0xfb, 0x84, 0xf6, 0x54, 0x98, 0xe9, 0xe0, 0x0f, 0xd0, 0xb9, + 0x9c, 0xec, 0x40, 0x4e, 0xfc, 0x24, 0x01, 0x76, 0x5a, 0x9d, 0x3d, 0xa2, 0xd3, 0x37, 0xa7, 0xee, + 0xcf, 0x0e, 0x3a, 0x93, 0x02, 0xcd, 0x64, 0xa5, 0x3f, 0x22, 0x52, 0xaf, 0xf4, 0x63, 0xf1, 0x18, + 0x62, 0x7d, 0x65, 0xd1, 0x33, 0x44, 0x82, 0xfe, 0x18, 0x88, 0x14, 0x3c, 0x5d, 0x0a, 0x0c, 0x95, + 0xec, 0x58, 0x81, 0xe0, 0x12, 0xb8, 0x9c, 0xc8, 0x23, 0x0b, 0xd0, 0x7a, 0x76, 0x90, 0x36, 0xce, + 0x77, 0xd0, 0x7a, 0xb6, 0x30, 0xa5, 0xb2, 0xa6, 0x48, 0xeb, 0x29, 0x3f, 0x15, 0x6d, 0xa0, 0x95, + 0x48, 0x70, 0xf6, 0x28, 0x1b, 0x13, 0x29, 0xb9, 0x0b, 0x4f, 0x5f, 0x34, 0x9d, 0x67, 0x2f, 0x9a, + 0xce, 0x1f, 0x2f, 0x9a, 0xce, 0x77, 0x2f, 0x9b, 0x4b, 0xcf, 0x5e, 0x36, 0x97, 0x7e, 0x7b, 0xd9, + 0x5c, 0xfa, 0xf2, 0x93, 0x19, 0x98, 0xec, 0xa5, 0x18, 0xfc, 0x94, 0xf8, 0xb2, 0x93, 0x21, 0xf2, + 0x6a, 0x20, 0x62, 0x98, 0x25, 0x93, 0x35, 0xbd, 0x13, 0x09, 0x3a, 0x19, 0x81, 0xb4, 0x7f, 0x2f, + 0x35, 0x9e, 0xfc, 0xb2, 0xfe, 0x73, 0xf9, 0xfe, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xd7, 0x45, + 0xe6, 0xc6, 0xef, 0x0e, 0x00, 0x00, } func (m *EventAttestationObserved) Marshal() (dAtA []byte, err error) { @@ -2083,6 +2165,62 @@ func (m *EventSubmitBadSignatureEvidence) MarshalToSizedBuffer(dAtA []byte) (int return len(dAtA) - i, nil } +func (m *EventValidatorSlash) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EventValidatorSlash) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventValidatorSlash) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Moniker) > 0 { + i -= len(m.Moniker) + copy(dAtA[i:], m.Moniker) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Moniker))) + i-- + dAtA[i] = 0x2a + } + if len(m.OperatorAddress) > 0 { + i -= len(m.OperatorAddress) + copy(dAtA[i:], m.OperatorAddress) + i = encodeVarintEvents(dAtA, i, uint64(len(m.OperatorAddress))) + i-- + dAtA[i] = 0x22 + } + if len(m.ConsensusAddress) > 0 { + i -= len(m.ConsensusAddress) + copy(dAtA[i:], m.ConsensusAddress) + i = encodeVarintEvents(dAtA, i, uint64(len(m.ConsensusAddress))) + i-- + dAtA[i] = 0x1a + } + if len(m.Reason) > 0 { + i -= len(m.Reason) + copy(dAtA[i:], m.Reason) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Reason))) + i-- + dAtA[i] = 0x12 + } + if m.Power != 0 { + i = encodeVarintEvents(dAtA, i, uint64(m.Power)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func encodeVarintEvents(dAtA []byte, offset int, v uint64) int { offset -= sovEvents(v) base := offset @@ -2492,6 +2630,34 @@ func (m *EventSubmitBadSignatureEvidence) Size() (n int) { return n } +func (m *EventValidatorSlash) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Power != 0 { + n += 1 + sovEvents(uint64(m.Power)) + } + l = len(m.Reason) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.ConsensusAddress) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.OperatorAddress) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.Moniker) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + return n +} + func sovEvents(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -5289,6 +5455,203 @@ func (m *EventSubmitBadSignatureEvidence) Unmarshal(dAtA []byte) error { } return nil } +func (m *EventValidatorSlash) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: EventValidatorSlash: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventValidatorSlash: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Power", wireType) + } + m.Power = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Power |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Reason = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConsensusAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ConsensusAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OperatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.OperatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Moniker", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Moniker = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipEvents(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/peggy/types/expected_keepers.go b/chain/peggy/types/expected_keepers.go index 0c5465a4..b4d8bb2d 100644 --- a/chain/peggy/types/expected_keepers.go +++ b/chain/peggy/types/expected_keepers.go @@ -3,6 +3,7 @@ package types import ( "time" + sdkmath "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" bank "github.com/cosmos/cosmos-sdk/x/bank/types" "github.com/cosmos/cosmos-sdk/x/distribution/types" @@ -14,7 +15,7 @@ import ( type StakingKeeper interface { GetBondedValidatorsByPower(ctx sdk.Context) []stakingtypes.Validator GetLastValidatorPower(ctx sdk.Context, operator sdk.ValAddress) int64 - GetLastTotalPower(ctx sdk.Context) (power sdk.Int) + GetLastTotalPower(ctx sdk.Context) (power sdkmath.Int) IterateValidators(sdk.Context, func(index int64, validator stakingtypes.ValidatorI) (stop bool)) ValidatorQueueIterator(ctx sdk.Context, endTime time.Time, endHeight int64) sdk.Iterator GetParams(ctx sdk.Context) stakingtypes.Params @@ -23,9 +24,9 @@ type StakingKeeper interface { IterateLastValidators(sdk.Context, func(index int64, validator stakingtypes.ValidatorI) (stop bool)) Validator(sdk.Context, sdk.ValAddress) stakingtypes.ValidatorI ValidatorByConsAddr(sdk.Context, sdk.ConsAddress) stakingtypes.ValidatorI - Slash(sdk.Context, sdk.ConsAddress, int64, int64, sdk.Dec) + Slash(sdk.Context, sdk.ConsAddress, int64, int64, sdk.Dec) sdkmath.Int Jail(sdk.Context, sdk.ConsAddress) - PowerReduction(ctx sdk.Context) (res sdk.Int) + PowerReduction(ctx sdk.Context) (res sdkmath.Int) } // BankKeeper defines the expected bank keeper methods diff --git a/chain/peggy/types/genesis.go b/chain/peggy/types/genesis.go index a6aed76c..46fd33ed 100644 --- a/chain/peggy/types/genesis.go +++ b/chain/peggy/types/genesis.go @@ -1,98 +1,12 @@ package types -import ( - "bytes" - "fmt" - "strings" - - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" -) - -// DefaultParamspace defines the default auth module parameter subspace -const ( - // todo: implement oracle constants as params - DefaultParamspace = ModuleName -) - -var ( - // AttestationVotesPowerThreshold threshold of votes power to succeed - AttestationVotesPowerThreshold = sdk.NewInt(66) - - // ParamsStoreKeyPeggyID stores the peggy id - ParamsStoreKeyPeggyID = []byte("PeggyID") - - // ParamsStoreKeyContractHash stores the contract hash - ParamsStoreKeyContractHash = []byte("ContractHash") - - // ParamsStoreKeyBridgeContractAddress stores the contract address - ParamsStoreKeyBridgeContractAddress = []byte("BridgeContractAddress") - - // ParamsStoreKeyBridgeContractStartHeight stores the bridge contract deployed height - ParamsStoreKeyBridgeContractStartHeight = []byte("BridgeContractChainHeight") - - // ParamsStoreKeyBridgeContractChainID stores the bridge chain id - ParamsStoreKeyBridgeContractChainID = []byte("BridgeChainID") - - // ParamsStoreKeyCosmosCoinDenom stores native cosmos coin denom - ParamsStoreKeyCosmosCoinDenom = []byte("CosmosCoinDenom") - - // ParamsStoreKeyCosmosCoinErc20Contract store L1 erc20 contract address of cosmos native coin - ParamsStoreKeyCosmosCoinErc20Contract = []byte("CosmosCoinErc20Contract") - - // ParamsStoreKeySignedValsetsWindow stores the signed blocks window - ParamsStoreKeySignedValsetsWindow = []byte("SignedValsetsWindow") - - // ParamsStoreKeySignedBatchesWindow stores the signed blocks window - ParamsStoreKeySignedBatchesWindow = []byte("SignedBatchesWindow") - - // ParamsStoreKeySignedClaimsWindow stores the signed blocks window - ParamsStoreKeySignedClaimsWindow = []byte("SignedClaimsWindow") - - // ParamsStoreKeyTargetBatchTimeout stores - ParamsStoreKeyTargetBatchTimeout = []byte("TargetBatchTimeout") - - // ParamsStoreKeyAverageBlockTime stores the average block time of the Injective Chain in milliseconds - ParamsStoreKeyAverageBlockTime = []byte("AverageBlockTime") - - // ParamsStoreKeyAverageEthereumBlockTime stores the average block time of Ethereum in milliseconds - ParamsStoreKeyAverageEthereumBlockTime = []byte("AverageEthereumBlockTime") - - // ParamsStoreSlashFractionValset stores the slash fraction valset - ParamsStoreSlashFractionValset = []byte("SlashFractionValset") - - // ParamsStoreSlashFractionBatch stores the slash fraction Batch - ParamsStoreSlashFractionBatch = []byte("SlashFractionBatch") - - // ParamsStoreSlashFractionClaim stores the slash fraction Claim - ParamsStoreSlashFractionClaim = []byte("SlashFractionClaim") - - // ParamsStoreSlashFractionConflictingClaim stores the slash fraction ConflictingClaim - ParamsStoreSlashFractionConflictingClaim = []byte("SlashFractionConflictingClaim") - - // ParamStoreUnbondSlashingValsetsWindow stores unbond slashing valset window - ParamStoreUnbondSlashingValsetsWindow = []byte("UnbondSlashingValsetsWindow") - - // ParamStoreClaimSlashingEnabled stores ClaimSlashing is enabled or not - ParamStoreClaimSlashingEnabled = []byte("ClaimSlashingEnabled") - - // ParamStoreSlashFractionBadEthSignature stores the amount by which a validator making a fraudulent eth signature will be slashed - ParamStoreSlashFractionBadEthSignature = []byte("SlashFractionBadEthSignature") - - // ParamStoreValsetRewardAmount is the amount of the coin, both denom and amount to issue - // to a relayer when they relay a valset - ParamStoreValsetRewardAmount = []byte("ValsetReward") - - // Ensure that params implements the proper interface - _ paramtypes.ParamSet = &Params{} -) +import "cosmossdk.io/errors" // ValidateBasic validates genesis state by looping through the params and // calling their validation functions func (s GenesisState) ValidateBasic() error { if err := s.Params.ValidateBasic(); err != nil { - return sdkerrors.Wrap(err, "params") + return errors.Wrap(err, "params") } return nil } @@ -103,315 +17,3 @@ func DefaultGenesisState() *GenesisState { Params: DefaultParams(), } } - -// DefaultParams returns a copy of the default params -func DefaultParams() *Params { - return &Params{ - PeggyId: "injective-peggyid", - SignedValsetsWindow: 10000, - SignedBatchesWindow: 10000, - SignedClaimsWindow: 10000, - TargetBatchTimeout: 43200000, - AverageBlockTime: 5000, - AverageEthereumBlockTime: 15000, - SlashFractionValset: sdk.NewDec(1).Quo(sdk.NewDec(1000)), - SlashFractionBatch: sdk.NewDec(1).Quo(sdk.NewDec(1000)), - SlashFractionClaim: sdk.NewDec(1).Quo(sdk.NewDec(1000)), - SlashFractionConflictingClaim: sdk.NewDec(1).Quo(sdk.NewDec(1000)), - SlashFractionBadEthSignature: sdk.NewDec(1).Quo(sdk.NewDec(1000)), - CosmosCoinDenom: "inj", - UnbondSlashingValsetsWindow: 10000, - ClaimSlashingEnabled: false, - } -} - -// ValidateBasic checks that the parameters have valid values. -func (p Params) ValidateBasic() error { - if err := validatePeggyID(p.PeggyId); err != nil { - return sdkerrors.Wrap(err, "peggy id") - } - if err := validateContractHash(p.ContractSourceHash); err != nil { - return sdkerrors.Wrap(err, "contract hash") - } - if err := validateBridgeContractAddress(p.BridgeEthereumAddress); err != nil { - return sdkerrors.Wrap(err, "bridge contract address") - } - if err := validateBridgeContractStartHeight(p.BridgeContractStartHeight); err != nil { - return sdkerrors.Wrap(err, "bridge contract start height") - } - if err := validateBridgeChainID(p.BridgeChainId); err != nil { - return sdkerrors.Wrap(err, "bridge chain id") - } - if err := validateCosmosCoinDenom(p.CosmosCoinDenom); err != nil { - return sdkerrors.Wrap(err, "cosmos coin denom") - } - if err := validateCosmosCoinErc20Contract(p.CosmosCoinErc20Contract); err != nil { - return sdkerrors.Wrap(err, "cosmos coin erc20 contract address") - } - if err := validateTargetBatchTimeout(p.TargetBatchTimeout); err != nil { - return sdkerrors.Wrap(err, "Batch timeout") - } - if err := validateAverageBlockTime(p.AverageBlockTime); err != nil { - return sdkerrors.Wrap(err, "Block time") - } - if err := validateAverageEthereumBlockTime(p.AverageEthereumBlockTime); err != nil { - return sdkerrors.Wrap(err, "Ethereum block time") - } - if err := validateSignedValsetsWindow(p.SignedValsetsWindow); err != nil { - return sdkerrors.Wrap(err, "signed blocks window") - } - if err := validateSignedBatchesWindow(p.SignedBatchesWindow); err != nil { - return sdkerrors.Wrap(err, "signed blocks window") - } - if err := validateSignedClaimsWindow(p.SignedClaimsWindow); err != nil { - return sdkerrors.Wrap(err, "signed blocks window") - } - if err := validateSlashFractionValset(p.SlashFractionValset); err != nil { - return sdkerrors.Wrap(err, "slash fraction valset") - } - if err := validateSlashFractionBatch(p.SlashFractionBatch); err != nil { - return sdkerrors.Wrap(err, "slash fraction valset") - } - if err := validateSlashFractionClaim(p.SlashFractionClaim); err != nil { - return sdkerrors.Wrap(err, "slash fraction valset") - } - if err := validateSlashFractionConflictingClaim(p.SlashFractionConflictingClaim); err != nil { - return sdkerrors.Wrap(err, "slash fraction valset") - } - if err := validateSlashFractionBadEthSignature(p.SlashFractionBadEthSignature); err != nil { - return sdkerrors.Wrap(err, "slash fraction BadEthSignature") - } - if err := validateUnbondSlashingValsetsWindow(p.UnbondSlashingValsetsWindow); err != nil { - return sdkerrors.Wrap(err, "unbond Slashing valset window") - } - if err := validateClaimSlashingEnabled(p.ClaimSlashingEnabled); err != nil { - return sdkerrors.Wrap(err, "claim slashing enabled") - } - - return nil -} - -// ParamKeyTable for auth module -func ParamKeyTable() paramtypes.KeyTable { - return paramtypes.NewKeyTable().RegisterParamSet(&Params{}) -} - -// ParamSetPairs implements the ParamSet interface and returns all the key/value pairs -// pairs of auth module's parameters. -func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { - return paramtypes.ParamSetPairs{ - paramtypes.NewParamSetPair(ParamsStoreKeyPeggyID, &p.PeggyId, validatePeggyID), - paramtypes.NewParamSetPair(ParamsStoreKeyContractHash, &p.ContractSourceHash, validateContractHash), - paramtypes.NewParamSetPair(ParamsStoreKeyBridgeContractAddress, &p.BridgeEthereumAddress, validateBridgeContractAddress), - paramtypes.NewParamSetPair(ParamsStoreKeyBridgeContractChainID, &p.BridgeChainId, validateBridgeChainID), - paramtypes.NewParamSetPair(ParamsStoreKeyCosmosCoinDenom, &p.CosmosCoinDenom, validateCosmosCoinDenom), - paramtypes.NewParamSetPair(ParamsStoreKeyCosmosCoinErc20Contract, &p.CosmosCoinErc20Contract, validateCosmosCoinErc20Contract), - paramtypes.NewParamSetPair(ParamsStoreKeySignedValsetsWindow, &p.SignedValsetsWindow, validateSignedValsetsWindow), - paramtypes.NewParamSetPair(ParamsStoreKeySignedBatchesWindow, &p.SignedBatchesWindow, validateSignedBatchesWindow), - paramtypes.NewParamSetPair(ParamsStoreKeySignedClaimsWindow, &p.SignedClaimsWindow, validateSignedClaimsWindow), - paramtypes.NewParamSetPair(ParamsStoreKeyAverageBlockTime, &p.AverageBlockTime, validateAverageBlockTime), - paramtypes.NewParamSetPair(ParamsStoreKeyTargetBatchTimeout, &p.TargetBatchTimeout, validateTargetBatchTimeout), - paramtypes.NewParamSetPair(ParamsStoreKeyAverageEthereumBlockTime, &p.AverageEthereumBlockTime, validateAverageEthereumBlockTime), - paramtypes.NewParamSetPair(ParamsStoreSlashFractionValset, &p.SlashFractionValset, validateSlashFractionValset), - paramtypes.NewParamSetPair(ParamsStoreSlashFractionBatch, &p.SlashFractionBatch, validateSlashFractionBatch), - paramtypes.NewParamSetPair(ParamsStoreSlashFractionClaim, &p.SlashFractionClaim, validateSlashFractionClaim), - paramtypes.NewParamSetPair(ParamsStoreSlashFractionConflictingClaim, &p.SlashFractionConflictingClaim, validateSlashFractionConflictingClaim), - paramtypes.NewParamSetPair(ParamStoreSlashFractionBadEthSignature, &p.SlashFractionBadEthSignature, validateSlashFractionBadEthSignature), - paramtypes.NewParamSetPair(ParamStoreUnbondSlashingValsetsWindow, &p.UnbondSlashingValsetsWindow, validateUnbondSlashingValsetsWindow), - paramtypes.NewParamSetPair(ParamStoreClaimSlashingEnabled, &p.ClaimSlashingEnabled, validateClaimSlashingEnabled), - paramtypes.NewParamSetPair(ParamsStoreKeyBridgeContractStartHeight, &p.BridgeContractStartHeight, validateBridgeContractStartHeight), - paramtypes.NewParamSetPair(ParamStoreValsetRewardAmount, &p.ValsetReward, validateValsetReward), - } -} - -// Equal returns a boolean determining if two Params types are identical. -func (p Params) Equal(p2 Params) bool { - bz1 := ModuleCdc.MustMarshalLengthPrefixed(&p) - bz2 := ModuleCdc.MustMarshalLengthPrefixed(&p2) - return bytes.Equal(bz1, bz2) -} - -func validatePeggyID(i interface{}) error { - v, ok := i.(string) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - if _, err := strToFixByteArray(v); err != nil { - return err - } - return nil -} - -func validateContractHash(i interface{}) error { - if _, ok := i.(string); !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - return nil -} - -func validateBridgeChainID(i interface{}) error { - if _, ok := i.(uint64); !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - return nil -} - -func validateBridgeContractStartHeight(i interface{}) error { - if _, ok := i.(uint64); !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - return nil -} - -func validateTargetBatchTimeout(i interface{}) error { - val, ok := i.(uint64) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } else if val < 60000 { - return fmt.Errorf("invalid target batch timeout, less than 60 seconds is too short") - } - return nil -} - -func validateAverageBlockTime(i interface{}) error { - val, ok := i.(uint64) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } else if val < 100 { - return fmt.Errorf("invalid average Cosmos block time, too short for latency limitations") - } - return nil -} - -func validateAverageEthereumBlockTime(i interface{}) error { - val, ok := i.(uint64) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } else if val < 100 { - return fmt.Errorf("invalid average Ethereum block time, too short for latency limitations") - } - return nil -} - -func validateBridgeContractAddress(i interface{}) error { - v, ok := i.(string) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - if err := ValidateEthAddress(v); err != nil { - if !strings.Contains(err.Error(), "empty") { - return err - } - } - return nil -} - -func validateSignedValsetsWindow(i interface{}) error { - if _, ok := i.(uint64); !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - return nil -} - -func validateUnbondSlashingValsetsWindow(i interface{}) error { - if _, ok := i.(uint64); !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - return nil -} - -func validateSlashFractionValset(i interface{}) error { - if _, ok := i.(sdk.Dec); !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - return nil -} - -func validateSignedBatchesWindow(i interface{}) error { - if _, ok := i.(uint64); !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - return nil -} - -func validateSignedClaimsWindow(i interface{}) error { - if _, ok := i.(uint64); !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - return nil -} - -func validateSlashFractionBatch(i interface{}) error { - if _, ok := i.(sdk.Dec); !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - return nil -} - -func validateSlashFractionClaim(i interface{}) error { - if _, ok := i.(sdk.Dec); !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - return nil -} - -func validateSlashFractionConflictingClaim(i interface{}) error { - if _, ok := i.(sdk.Dec); !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - return nil -} - -func strToFixByteArray(s string) ([32]byte, error) { - var out [32]byte - if len([]byte(s)) > 32 { - return out, fmt.Errorf("string too long") - } - copy(out[:], s) - return out, nil -} - -func validateCosmosCoinDenom(i interface{}) error { - v, ok := i.(string) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - - if _, err := strToFixByteArray(v); err != nil { - return err - } - return nil -} - -func validateCosmosCoinErc20Contract(i interface{}) error { - v, ok := i.(string) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - - // empty address is valid - if v == "" { - return nil - } - - return ValidateEthAddress(v) -} - -func validateClaimSlashingEnabled(i interface{}) error { - _, ok := i.(bool) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - return nil -} - -func validateSlashFractionBadEthSignature(i interface{}) error { - if _, ok := i.(sdk.Dec); !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - return nil -} - -func validateValsetReward(i interface{}) error { - return nil -} diff --git a/chain/peggy/types/genesis.pb.go b/chain/peggy/types/genesis.pb.go index 75609630..197630ab 100644 --- a/chain/peggy/types/genesis.pb.go +++ b/chain/peggy/types/genesis.pb.go @@ -5,10 +5,9 @@ package types import ( fmt "fmt" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" @@ -25,175 +24,6 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -type Params struct { - PeggyId string `protobuf:"bytes,1,opt,name=peggy_id,json=peggyId,proto3" json:"peggy_id,omitempty"` - ContractSourceHash string `protobuf:"bytes,2,opt,name=contract_source_hash,json=contractSourceHash,proto3" json:"contract_source_hash,omitempty"` - BridgeEthereumAddress string `protobuf:"bytes,3,opt,name=bridge_ethereum_address,json=bridgeEthereumAddress,proto3" json:"bridge_ethereum_address,omitempty"` - BridgeChainId uint64 `protobuf:"varint,4,opt,name=bridge_chain_id,json=bridgeChainId,proto3" json:"bridge_chain_id,omitempty"` - SignedValsetsWindow uint64 `protobuf:"varint,5,opt,name=signed_valsets_window,json=signedValsetsWindow,proto3" json:"signed_valsets_window,omitempty"` - SignedBatchesWindow uint64 `protobuf:"varint,6,opt,name=signed_batches_window,json=signedBatchesWindow,proto3" json:"signed_batches_window,omitempty"` - SignedClaimsWindow uint64 `protobuf:"varint,7,opt,name=signed_claims_window,json=signedClaimsWindow,proto3" json:"signed_claims_window,omitempty"` - TargetBatchTimeout uint64 `protobuf:"varint,8,opt,name=target_batch_timeout,json=targetBatchTimeout,proto3" json:"target_batch_timeout,omitempty"` - AverageBlockTime uint64 `protobuf:"varint,9,opt,name=average_block_time,json=averageBlockTime,proto3" json:"average_block_time,omitempty"` - AverageEthereumBlockTime uint64 `protobuf:"varint,10,opt,name=average_ethereum_block_time,json=averageEthereumBlockTime,proto3" json:"average_ethereum_block_time,omitempty"` - SlashFractionValset github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,11,opt,name=slash_fraction_valset,json=slashFractionValset,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"slash_fraction_valset"` - SlashFractionBatch github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,12,opt,name=slash_fraction_batch,json=slashFractionBatch,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"slash_fraction_batch"` - SlashFractionClaim github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,13,opt,name=slash_fraction_claim,json=slashFractionClaim,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"slash_fraction_claim"` - SlashFractionConflictingClaim github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,14,opt,name=slash_fraction_conflicting_claim,json=slashFractionConflictingClaim,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"slash_fraction_conflicting_claim"` - UnbondSlashingValsetsWindow uint64 `protobuf:"varint,15,opt,name=unbond_slashing_valsets_window,json=unbondSlashingValsetsWindow,proto3" json:"unbond_slashing_valsets_window,omitempty"` - SlashFractionBadEthSignature github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,16,opt,name=slash_fraction_bad_eth_signature,json=slashFractionBadEthSignature,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"slash_fraction_bad_eth_signature"` - CosmosCoinDenom string `protobuf:"bytes,17,opt,name=cosmos_coin_denom,json=cosmosCoinDenom,proto3" json:"cosmos_coin_denom,omitempty"` - CosmosCoinErc20Contract string `protobuf:"bytes,18,opt,name=cosmos_coin_erc20_contract,json=cosmosCoinErc20Contract,proto3" json:"cosmos_coin_erc20_contract,omitempty"` - ClaimSlashingEnabled bool `protobuf:"varint,19,opt,name=claim_slashing_enabled,json=claimSlashingEnabled,proto3" json:"claim_slashing_enabled,omitempty"` - BridgeContractStartHeight uint64 `protobuf:"varint,20,opt,name=bridge_contract_start_height,json=bridgeContractStartHeight,proto3" json:"bridge_contract_start_height,omitempty"` - ValsetReward types.Coin `protobuf:"bytes,21,opt,name=valset_reward,json=valsetReward,proto3" json:"valset_reward"` -} - -func (m *Params) Reset() { *m = Params{} } -func (m *Params) String() string { return proto.CompactTextString(m) } -func (*Params) ProtoMessage() {} -func (*Params) Descriptor() ([]byte, []int) { - return fileDescriptor_3b8a70f18b346efa, []int{0} -} -func (m *Params) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Params) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Params.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Params) XXX_Merge(src proto.Message) { - xxx_messageInfo_Params.Merge(m, src) -} -func (m *Params) XXX_Size() int { - return m.Size() -} -func (m *Params) XXX_DiscardUnknown() { - xxx_messageInfo_Params.DiscardUnknown(m) -} - -var xxx_messageInfo_Params proto.InternalMessageInfo - -func (m *Params) GetPeggyId() string { - if m != nil { - return m.PeggyId - } - return "" -} - -func (m *Params) GetContractSourceHash() string { - if m != nil { - return m.ContractSourceHash - } - return "" -} - -func (m *Params) GetBridgeEthereumAddress() string { - if m != nil { - return m.BridgeEthereumAddress - } - return "" -} - -func (m *Params) GetBridgeChainId() uint64 { - if m != nil { - return m.BridgeChainId - } - return 0 -} - -func (m *Params) GetSignedValsetsWindow() uint64 { - if m != nil { - return m.SignedValsetsWindow - } - return 0 -} - -func (m *Params) GetSignedBatchesWindow() uint64 { - if m != nil { - return m.SignedBatchesWindow - } - return 0 -} - -func (m *Params) GetSignedClaimsWindow() uint64 { - if m != nil { - return m.SignedClaimsWindow - } - return 0 -} - -func (m *Params) GetTargetBatchTimeout() uint64 { - if m != nil { - return m.TargetBatchTimeout - } - return 0 -} - -func (m *Params) GetAverageBlockTime() uint64 { - if m != nil { - return m.AverageBlockTime - } - return 0 -} - -func (m *Params) GetAverageEthereumBlockTime() uint64 { - if m != nil { - return m.AverageEthereumBlockTime - } - return 0 -} - -func (m *Params) GetUnbondSlashingValsetsWindow() uint64 { - if m != nil { - return m.UnbondSlashingValsetsWindow - } - return 0 -} - -func (m *Params) GetCosmosCoinDenom() string { - if m != nil { - return m.CosmosCoinDenom - } - return "" -} - -func (m *Params) GetCosmosCoinErc20Contract() string { - if m != nil { - return m.CosmosCoinErc20Contract - } - return "" -} - -func (m *Params) GetClaimSlashingEnabled() bool { - if m != nil { - return m.ClaimSlashingEnabled - } - return false -} - -func (m *Params) GetBridgeContractStartHeight() uint64 { - if m != nil { - return m.BridgeContractStartHeight - } - return 0 -} - -func (m *Params) GetValsetReward() types.Coin { - if m != nil { - return m.ValsetReward - } - return types.Coin{} -} - // GenesisState struct type GenesisState struct { Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` @@ -217,7 +47,7 @@ func (m *GenesisState) Reset() { *m = GenesisState{} } func (m *GenesisState) String() string { return proto.CompactTextString(m) } func (*GenesisState) ProtoMessage() {} func (*GenesisState) Descriptor() ([]byte, []int) { - return fileDescriptor_3b8a70f18b346efa, []int{1} + return fileDescriptor_3b8a70f18b346efa, []int{0} } func (m *GenesisState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -352,272 +182,54 @@ func (m *GenesisState) GetEthereumBlacklist() []string { } func init() { - proto.RegisterType((*Params)(nil), "injective.peggy.v1.Params") proto.RegisterType((*GenesisState)(nil), "injective.peggy.v1.GenesisState") } func init() { proto.RegisterFile("injective/peggy/v1/genesis.proto", fileDescriptor_3b8a70f18b346efa) } var fileDescriptor_3b8a70f18b346efa = []byte{ - // 1164 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0x4f, 0x4f, 0x1b, 0x47, - 0x14, 0xc7, 0xc5, 0xe1, 0xcf, 0x80, 0x71, 0x18, 0xec, 0x64, 0x70, 0x82, 0xb1, 0xd2, 0x08, 0x59, - 0x55, 0x59, 0x83, 0x13, 0xf5, 0xd0, 0x2a, 0xaa, 0xc0, 0xd0, 0x42, 0x5b, 0x4a, 0xb4, 0xa0, 0x46, - 0xea, 0x65, 0x3b, 0xbb, 0x3b, 0xac, 0xb7, 0xd8, 0x3b, 0x68, 0x66, 0x6c, 0x92, 0x5b, 0x3e, 0x42, - 0x3f, 0x56, 0x8e, 0x39, 0x56, 0x55, 0x15, 0x55, 0xf0, 0x25, 0x7a, 0xac, 0xe6, 0xcd, 0xec, 0x7a, - 0x4d, 0x4c, 0x0e, 0xa8, 0x27, 0xd8, 0xfd, 0xfd, 0x7e, 0xef, 0x3d, 0xbf, 0xbf, 0x8b, 0x1a, 0x71, - 0xf2, 0x3b, 0x0b, 0x54, 0x3c, 0x64, 0xad, 0x0b, 0x16, 0x45, 0x6f, 0x5a, 0xc3, 0xed, 0x56, 0xc4, - 0x12, 0x26, 0x63, 0xe9, 0x5c, 0x08, 0xae, 0x38, 0xc6, 0x19, 0xc3, 0x01, 0x86, 0x33, 0xdc, 0xae, - 0x55, 0x22, 0x1e, 0x71, 0x80, 0x5b, 0xfa, 0x3f, 0xc3, 0xac, 0xd5, 0x27, 0xd8, 0x52, 0x6f, 0x2e, - 0x98, 0xb5, 0x54, 0x5b, 0x9b, 0x80, 0xf7, 0x65, 0x24, 0x3f, 0x21, 0xf7, 0xa9, 0x0a, 0xba, 0x16, - 0x7f, 0x3a, 0x01, 0xa7, 0x4a, 0x31, 0xa9, 0xa8, 0x8a, 0x79, 0x92, 0x5a, 0x09, 0xb8, 0xec, 0x73, - 0xd9, 0xf2, 0xa9, 0x64, 0xad, 0xe1, 0xb6, 0xcf, 0x14, 0xdd, 0x6e, 0x05, 0x3c, 0xb6, 0xf8, 0x93, - 0x7f, 0x11, 0x9a, 0x79, 0x49, 0x05, 0xed, 0x4b, 0xbc, 0x8a, 0xe6, 0xc0, 0x90, 0x17, 0x87, 0xa4, - 0xd0, 0x28, 0x34, 0xe7, 0xdd, 0x59, 0x78, 0x3e, 0x0c, 0xf1, 0x16, 0xaa, 0x04, 0x3c, 0x51, 0x82, - 0x06, 0xca, 0x93, 0x7c, 0x20, 0x02, 0xe6, 0x75, 0xa9, 0xec, 0x92, 0xcf, 0x80, 0x86, 0x53, 0xec, - 0x04, 0xa0, 0x03, 0x2a, 0xbb, 0xf8, 0x2b, 0xf4, 0xd0, 0x17, 0x71, 0x18, 0x31, 0x8f, 0xa9, 0x2e, - 0x13, 0x6c, 0xd0, 0xf7, 0x68, 0x18, 0x0a, 0x26, 0x25, 0x99, 0x06, 0x51, 0xd5, 0xc0, 0xfb, 0x16, - 0xdd, 0x31, 0x20, 0xde, 0x40, 0x65, 0xab, 0x0b, 0xba, 0x34, 0x4e, 0x74, 0x2c, 0xc5, 0x46, 0xa1, - 0x59, 0x74, 0x4b, 0xe6, 0x75, 0x47, 0xbf, 0x3d, 0x0c, 0x71, 0x1b, 0x55, 0x65, 0x1c, 0x25, 0x2c, - 0xf4, 0x86, 0xb4, 0x27, 0x99, 0x92, 0xde, 0x65, 0x9c, 0x84, 0xfc, 0x92, 0xdc, 0x03, 0xf6, 0x8a, - 0x01, 0x7f, 0x31, 0xd8, 0x2b, 0x80, 0x72, 0x1a, 0xc8, 0x23, 0xcb, 0x34, 0x33, 0x79, 0xcd, 0xae, - 0xc1, 0xac, 0x66, 0x0b, 0x55, 0xac, 0x26, 0xe8, 0xd1, 0xb8, 0x9f, 0x49, 0x66, 0x41, 0x82, 0x0d, - 0xd6, 0x01, 0x68, 0xa4, 0x50, 0x54, 0x44, 0x4c, 0x19, 0x2f, 0x9e, 0x8a, 0xfb, 0x8c, 0x0f, 0x14, - 0x99, 0x33, 0x0a, 0x83, 0x81, 0x93, 0x53, 0x83, 0xe0, 0x2f, 0x11, 0xa6, 0x43, 0x26, 0x68, 0xc4, - 0x3c, 0xbf, 0xc7, 0x83, 0x73, 0x90, 0x90, 0x79, 0xe0, 0xdf, 0xb7, 0xc8, 0xae, 0x06, 0xb4, 0x00, - 0xbf, 0x40, 0x8f, 0x52, 0x76, 0x96, 0xda, 0x9c, 0x0c, 0x81, 0x8c, 0x58, 0x4a, 0x9a, 0xde, 0x91, - 0xdc, 0x47, 0x55, 0xd9, 0xa3, 0xb2, 0xeb, 0x9d, 0xe9, 0x8a, 0xc5, 0x3c, 0xb1, 0x09, 0x24, 0x0b, - 0x8d, 0x42, 0x73, 0x71, 0xd7, 0x79, 0xf7, 0x61, 0x7d, 0xea, 0xaf, 0x0f, 0xeb, 0x1b, 0x51, 0xac, - 0xba, 0x03, 0xdf, 0x09, 0x78, 0xbf, 0x65, 0x5b, 0xc8, 0xfc, 0xd9, 0x94, 0xe1, 0xb9, 0x6d, 0xe3, - 0x3d, 0x16, 0xb8, 0x2b, 0x60, 0xec, 0x3b, 0x6b, 0xcb, 0xe4, 0x1b, 0xff, 0x86, 0x2a, 0x37, 0x7c, - 0x40, 0x2a, 0xc8, 0xe2, 0x9d, 0x5c, 0xe0, 0x31, 0x17, 0x90, 0xb9, 0x09, 0x1e, 0xa0, 0x3c, 0xa4, - 0xf4, 0x3f, 0x78, 0x80, 0x6a, 0xe2, 0x4b, 0xd4, 0xb8, 0xe9, 0x81, 0x27, 0x67, 0xbd, 0x38, 0x50, - 0x71, 0x12, 0x59, 0x6f, 0x4b, 0x77, 0xf2, 0xb6, 0x36, 0xee, 0x6d, 0x64, 0xd5, 0x38, 0xee, 0xa0, - 0xfa, 0x20, 0xf1, 0x79, 0x12, 0x7a, 0xc0, 0xd3, 0xde, 0x6e, 0xb4, 0x78, 0x19, 0x4a, 0xfc, 0xc8, - 0xb0, 0x4e, 0x2c, 0x69, 0xbc, 0xd5, 0x87, 0x1f, 0x45, 0xef, 0xd3, 0x50, 0xf7, 0x8b, 0xa7, 0x3b, - 0x96, 0xaa, 0x81, 0x60, 0xe4, 0xfe, 0x9d, 0xa2, 0x7f, 0x7c, 0xa3, 0x1a, 0xe1, 0xbe, 0xea, 0x9e, - 0xa4, 0x36, 0xf1, 0x17, 0x68, 0xd9, 0xa8, 0x3c, 0xbd, 0x63, 0xbc, 0x90, 0x25, 0xbc, 0x4f, 0x96, - 0x61, 0xe0, 0xcb, 0x06, 0xe8, 0xf0, 0x38, 0xd9, 0xd3, 0xaf, 0xf1, 0x37, 0xa8, 0x96, 0xe7, 0x32, - 0x11, 0xb4, 0xb7, 0xbc, 0x74, 0x95, 0x10, 0x0c, 0xa2, 0x87, 0x23, 0xd1, 0xbe, 0xc6, 0x3b, 0x16, - 0xc6, 0xcf, 0xd1, 0x03, 0xa8, 0xc1, 0x28, 0x49, 0x2c, 0xa1, 0x7e, 0x8f, 0x85, 0x64, 0xa5, 0x51, - 0x68, 0xce, 0xb9, 0x15, 0x40, 0xd3, 0xe4, 0xec, 0x1b, 0x0c, 0x7f, 0x8b, 0x1e, 0xa7, 0xdb, 0x25, - 0x5b, 0x67, 0x8a, 0x0a, 0xe5, 0x75, 0x59, 0x1c, 0x75, 0x15, 0xa9, 0x40, 0x66, 0x57, 0xed, 0xaa, - 0x49, 0xb7, 0x9a, 0x66, 0x1c, 0x00, 0x01, 0xef, 0xa1, 0x92, 0x29, 0x86, 0x27, 0xd8, 0x25, 0x15, - 0x21, 0xa9, 0x36, 0x0a, 0xcd, 0x85, 0xf6, 0xaa, 0x63, 0xe2, 0x74, 0xf4, 0x9a, 0x75, 0xec, 0x9a, - 0x75, 0x74, 0xd4, 0xbb, 0x45, 0x9d, 0x5f, 0x77, 0xd1, 0xa8, 0x5c, 0x10, 0x7d, 0x5d, 0x7c, 0xfb, - 0x77, 0x63, 0xea, 0xc9, 0xdb, 0x39, 0xb4, 0xf8, 0xbd, 0xb9, 0x2d, 0x27, 0x8a, 0x2a, 0x86, 0xdb, - 0x68, 0xe6, 0x02, 0x56, 0x31, 0xac, 0xdf, 0x85, 0x76, 0xcd, 0xf9, 0xf8, 0xd6, 0x38, 0x66, 0x59, - 0xbb, 0x96, 0x89, 0x1d, 0xb4, 0xd2, 0xa3, 0x52, 0x79, 0xdc, 0x97, 0x4c, 0x0c, 0x59, 0xe8, 0x25, - 0x3c, 0x09, 0x18, 0x2c, 0xe6, 0xa2, 0xbb, 0xac, 0xa1, 0x63, 0x8b, 0xfc, 0xac, 0x01, 0xfc, 0x1c, - 0xcd, 0xda, 0x6e, 0x22, 0xd3, 0x8d, 0xe9, 0xdb, 0x9c, 0x98, 0x66, 0x72, 0x53, 0x2a, 0x3e, 0x42, - 0x65, 0xfb, 0xb3, 0xf5, 0x10, 0xc4, 0xa2, 0x2f, 0x49, 0x11, 0xd4, 0x4f, 0x27, 0xa9, 0x8f, 0xa4, - 0xed, 0xc6, 0x8e, 0x21, 0xbb, 0x4b, 0xc3, 0xfc, 0xa3, 0xc4, 0x2f, 0xd0, 0xac, 0xdd, 0xc0, 0xe4, - 0x1e, 0x98, 0xf9, 0x7c, 0x92, 0x99, 0xe3, 0x81, 0x8a, 0x78, 0x9c, 0x44, 0xa7, 0xaf, 0x61, 0xe6, - 0xdd, 0x54, 0x83, 0x7f, 0x40, 0x4b, 0x66, 0xb5, 0x66, 0xc1, 0xcc, 0xdc, 0x6e, 0xe5, 0x48, 0x46, - 0xd6, 0xaf, 0xb1, 0x52, 0x02, 0x69, 0x16, 0x4a, 0x07, 0x2d, 0xe6, 0x8e, 0xa6, 0x24, 0xb3, 0x60, - 0x69, 0x7d, 0x92, 0xa5, 0x9d, 0x11, 0xcf, 0x1d, 0x13, 0xe1, 0x33, 0xf4, 0x80, 0x0b, 0x1d, 0x9a, - 0x12, 0x54, 0x71, 0x91, 0x5e, 0x3a, 0x26, 0xc9, 0x1c, 0x98, 0x6b, 0xdd, 0x12, 0xd8, 0x09, 0x53, - 0xc7, 0x39, 0xdd, 0x4e, 0x2a, 0x73, 0xab, 0x7c, 0xd2, 0x6b, 0x7c, 0x80, 0xca, 0x66, 0x4a, 0x14, - 0x37, 0xa3, 0x25, 0xc9, 0x3c, 0x38, 0x68, 0x4c, 0x72, 0xb0, 0xef, 0x76, 0xda, 0x5b, 0xa7, 0x1c, - 0x86, 0xcd, 0x2d, 0x81, 0xd0, 0x3e, 0x49, 0xfc, 0x0a, 0xad, 0x0c, 0x12, 0x93, 0xcf, 0xd0, 0x53, - 0x82, 0x26, 0xf2, 0x8c, 0x09, 0x49, 0x10, 0x58, 0xdb, 0xf8, 0x64, 0x35, 0x2c, 0xf9, 0xf4, 0xb5, - 0x8b, 0x33, 0x13, 0xe9, 0x4b, 0x89, 0x77, 0xd0, 0xda, 0x78, 0x3f, 0x66, 0x37, 0xca, 0x8e, 0xd8, - 0x02, 0x74, 0x66, 0x2d, 0xdf, 0x99, 0xe9, 0x91, 0xb2, 0x33, 0xf6, 0x0c, 0x3d, 0x30, 0x26, 0xac, - 0x47, 0x7b, 0x47, 0xe3, 0x10, 0xee, 0x47, 0xd1, 0x85, 0x86, 0x4f, 0xc3, 0x81, 0xa2, 0x1e, 0x86, - 0x78, 0x1b, 0x55, 0xc7, 0x45, 0x17, 0x9c, 0xf7, 0xb4, 0xa6, 0x64, 0xce, 0x6e, 0x5e, 0xf3, 0x92, - 0xf3, 0xde, 0x61, 0x88, 0x5d, 0x54, 0x19, 0x0f, 0xd5, 0x1e, 0xc2, 0xa5, 0xdb, 0x87, 0xcf, 0xb4, - 0xb5, 0x9d, 0x69, 0x9c, 0xff, 0x0d, 0xf6, 0xf2, 0x6d, 0x22, 0x9c, 0x3b, 0xca, 0x34, 0x38, 0xef, - 0xc5, 0x52, 0x91, 0x72, 0x63, 0xba, 0x39, 0xef, 0x2e, 0xb3, 0xec, 0x18, 0x5b, 0x60, 0x97, 0xbd, - 0xbb, 0xaa, 0x17, 0xde, 0x5f, 0xd5, 0x0b, 0xff, 0x5c, 0xd5, 0x0b, 0x7f, 0x5c, 0xd7, 0xa7, 0xde, - 0x5f, 0xd7, 0xa7, 0xfe, 0xbc, 0xae, 0x4f, 0xfd, 0xfa, 0x63, 0x6e, 0x1d, 0x1f, 0xa6, 0x81, 0xfc, - 0x44, 0x7d, 0xd9, 0xca, 0xc2, 0xda, 0x0c, 0xb8, 0x60, 0xf9, 0x47, 0xfd, 0x69, 0xd4, 0xea, 0xf3, - 0x70, 0xd0, 0x63, 0xd2, 0x7e, 0x13, 0xc2, 0xde, 0xf6, 0x67, 0xe0, 0x5b, 0xef, 0xd9, 0x7f, 0x01, - 0x00, 0x00, 0xff, 0xff, 0xad, 0xdc, 0x89, 0x1d, 0xde, 0x0a, 0x00, 0x00, -} - -func (m *Params) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *Params) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.ValsetReward.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0xaa - if m.BridgeContractStartHeight != 0 { - i = encodeVarintGenesis(dAtA, i, uint64(m.BridgeContractStartHeight)) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0xa0 - } - if m.ClaimSlashingEnabled { - i-- - if m.ClaimSlashingEnabled { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x98 - } - if len(m.CosmosCoinErc20Contract) > 0 { - i -= len(m.CosmosCoinErc20Contract) - copy(dAtA[i:], m.CosmosCoinErc20Contract) - i = encodeVarintGenesis(dAtA, i, uint64(len(m.CosmosCoinErc20Contract))) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x92 - } - if len(m.CosmosCoinDenom) > 0 { - i -= len(m.CosmosCoinDenom) - copy(dAtA[i:], m.CosmosCoinDenom) - i = encodeVarintGenesis(dAtA, i, uint64(len(m.CosmosCoinDenom))) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x8a - } - { - size := m.SlashFractionBadEthSignature.Size() - i -= size - if _, err := m.SlashFractionBadEthSignature.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x82 - if m.UnbondSlashingValsetsWindow != 0 { - i = encodeVarintGenesis(dAtA, i, uint64(m.UnbondSlashingValsetsWindow)) - i-- - dAtA[i] = 0x78 - } - { - size := m.SlashFractionConflictingClaim.Size() - i -= size - if _, err := m.SlashFractionConflictingClaim.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x72 - { - size := m.SlashFractionClaim.Size() - i -= size - if _, err := m.SlashFractionClaim.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x6a - { - size := m.SlashFractionBatch.Size() - i -= size - if _, err := m.SlashFractionBatch.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x62 - { - size := m.SlashFractionValset.Size() - i -= size - if _, err := m.SlashFractionValset.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x5a - if m.AverageEthereumBlockTime != 0 { - i = encodeVarintGenesis(dAtA, i, uint64(m.AverageEthereumBlockTime)) - i-- - dAtA[i] = 0x50 - } - if m.AverageBlockTime != 0 { - i = encodeVarintGenesis(dAtA, i, uint64(m.AverageBlockTime)) - i-- - dAtA[i] = 0x48 - } - if m.TargetBatchTimeout != 0 { - i = encodeVarintGenesis(dAtA, i, uint64(m.TargetBatchTimeout)) - i-- - dAtA[i] = 0x40 - } - if m.SignedClaimsWindow != 0 { - i = encodeVarintGenesis(dAtA, i, uint64(m.SignedClaimsWindow)) - i-- - dAtA[i] = 0x38 - } - if m.SignedBatchesWindow != 0 { - i = encodeVarintGenesis(dAtA, i, uint64(m.SignedBatchesWindow)) - i-- - dAtA[i] = 0x30 - } - if m.SignedValsetsWindow != 0 { - i = encodeVarintGenesis(dAtA, i, uint64(m.SignedValsetsWindow)) - i-- - dAtA[i] = 0x28 - } - if m.BridgeChainId != 0 { - i = encodeVarintGenesis(dAtA, i, uint64(m.BridgeChainId)) - i-- - dAtA[i] = 0x20 - } - if len(m.BridgeEthereumAddress) > 0 { - i -= len(m.BridgeEthereumAddress) - copy(dAtA[i:], m.BridgeEthereumAddress) - i = encodeVarintGenesis(dAtA, i, uint64(len(m.BridgeEthereumAddress))) - i-- - dAtA[i] = 0x1a - } - if len(m.ContractSourceHash) > 0 { - i -= len(m.ContractSourceHash) - copy(dAtA[i:], m.ContractSourceHash) - i = encodeVarintGenesis(dAtA, i, uint64(len(m.ContractSourceHash))) - i-- - dAtA[i] = 0x12 - } - if len(m.PeggyId) > 0 { - i -= len(m.PeggyId) - copy(dAtA[i:], m.PeggyId) - i = encodeVarintGenesis(dAtA, i, uint64(len(m.PeggyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil + // 655 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x94, 0xcb, 0x4e, 0xdb, 0x4e, + 0x14, 0xc6, 0x93, 0x3f, 0xfc, 0xb9, 0x0c, 0x37, 0x31, 0x5c, 0x64, 0x45, 0x22, 0x44, 0x2d, 0xaa, + 0xd8, 0x60, 0x93, 0xd0, 0x6d, 0x17, 0x84, 0xa2, 0x42, 0x5b, 0x0a, 0x32, 0xa8, 0x95, 0xba, 0xb1, + 0xc6, 0xf6, 0xc1, 0x71, 0x6b, 0x7b, 0xa2, 0x39, 0x13, 0x0b, 0x76, 0x7d, 0x84, 0x3e, 0x16, 0x4b, + 0x96, 0x5d, 0x55, 0x15, 0xbc, 0x48, 0xe5, 0x99, 0x71, 0x48, 0x54, 0x87, 0xdd, 0x8c, 0xbf, 0xef, + 0xfb, 0x9d, 0x93, 0x99, 0x93, 0x21, 0xad, 0x38, 0xfb, 0x06, 0x81, 0x8c, 0x73, 0x70, 0xfa, 0x10, + 0x45, 0xb7, 0x4e, 0xde, 0x76, 0x22, 0xc8, 0x00, 0x63, 0xb4, 0xfb, 0x82, 0x4b, 0x4e, 0xe9, 0xd0, + 0x61, 0x2b, 0x87, 0x9d, 0xb7, 0x1b, 0xeb, 0x11, 0x8f, 0xb8, 0x92, 0x9d, 0x62, 0xa5, 0x9d, 0x8d, + 0x66, 0x05, 0x4b, 0xde, 0xf6, 0xc1, 0x90, 0x1a, 0x5b, 0x15, 0x7a, 0x8a, 0x11, 0x3e, 0x13, 0xf7, + 0x99, 0x0c, 0x7a, 0x46, 0xdf, 0xa9, 0xd0, 0x99, 0x94, 0x80, 0x92, 0xc9, 0x98, 0x67, 0xc6, 0xb5, + 0x5d, 0xe1, 0xea, 0x33, 0xc1, 0xd2, 0x61, 0x99, 0x80, 0x63, 0xca, 0xd1, 0xf1, 0x19, 0x82, 0x93, + 0xb7, 0x7d, 0x90, 0xac, 0xed, 0x04, 0x3c, 0x36, 0x80, 0x17, 0x3f, 0xe6, 0xc8, 0xe2, 0x3b, 0x7d, + 0x02, 0x97, 0x92, 0x49, 0xa0, 0x1d, 0x32, 0xa3, 0x01, 0x56, 0xbd, 0x55, 0xdf, 0x5d, 0xe8, 0x34, + 0xec, 0x7f, 0x4f, 0xc4, 0xbe, 0x50, 0x0e, 0xd7, 0x38, 0xa9, 0x4d, 0xd6, 0x12, 0x86, 0xd2, 0xe3, + 0x3e, 0x82, 0xc8, 0x21, 0xf4, 0x32, 0x9e, 0x05, 0x60, 0xfd, 0xd7, 0xaa, 0xef, 0x4e, 0xbb, 0xab, + 0x85, 0x74, 0x6e, 0x94, 0x4f, 0x85, 0x40, 0x5f, 0x93, 0xd9, 0x9c, 0x25, 0x08, 0x12, 0xad, 0xa9, + 0xd6, 0xd4, 0xa4, 0x22, 0x9f, 0x95, 0xc5, 0x2d, 0xad, 0xf4, 0x8c, 0xac, 0xe8, 0xa5, 0x17, 0xf0, + 0xec, 0x3a, 0x16, 0x29, 0x5a, 0xd3, 0x2a, 0xbd, 0x53, 0x95, 0x3e, 0xc3, 0x48, 0x03, 0x8e, 0xb4, + 0xd9, 0x5d, 0xce, 0x47, 0xb7, 0x48, 0xdf, 0x90, 0x59, 0x75, 0xde, 0x80, 0xd6, 0xff, 0x0a, 0xf3, + 0xb2, 0x0a, 0x73, 0x3e, 0x90, 0x11, 0x8f, 0xb3, 0xe8, 0xea, 0xa6, 0x5b, 0x98, 0xdd, 0x32, 0x43, + 0xdf, 0x93, 0x65, 0xb5, 0x7c, 0x6a, 0x66, 0x66, 0x32, 0xe5, 0x0c, 0x23, 0x53, 0x57, 0x53, 0x96, + 0x54, 0x74, 0xd8, 0xca, 0x11, 0x59, 0x1c, 0xb9, 0x5a, 0xb4, 0x66, 0x15, 0x69, 0xbb, 0x8a, 0x74, + 0xf8, 0xe4, 0x73, 0xc7, 0x42, 0xf4, 0x9a, 0x6c, 0x72, 0x51, 0xb4, 0x26, 0x05, 0x93, 0x5c, 0x78, + 0x2c, 0x0c, 0x05, 0x20, 0x02, 0x5a, 0x73, 0x0a, 0xe7, 0x4c, 0x68, 0xec, 0x12, 0xe4, 0xf9, 0x48, + 0xee, 0xb0, 0x8c, 0xb9, 0x1b, 0xbc, 0xea, 0x33, 0x3d, 0x21, 0x2b, 0x20, 0x82, 0xce, 0xbe, 0x27, + 0xb9, 0x17, 0x42, 0xc6, 0x53, 0xb4, 0xe6, 0x55, 0x81, 0x56, 0x55, 0x81, 0x63, 0xf7, 0xa8, 0xb3, + 0x7f, 0xc5, 0xdf, 0x16, 0x46, 0x77, 0x49, 0x05, 0xcd, 0x0e, 0xe9, 0x17, 0xb2, 0x36, 0xc8, 0xf4, + 0x79, 0x86, 0x9e, 0x14, 0x2c, 0xc3, 0x6b, 0x10, 0x68, 0x11, 0x45, 0x7b, 0xf5, 0xec, 0x6d, 0x18, + 0xf3, 0xd5, 0x8d, 0x4b, 0x87, 0x88, 0xf2, 0x23, 0xd2, 0x43, 0xb2, 0x35, 0x3e, 0x8f, 0x20, 0x7b, + 0x20, 0x60, 0x90, 0x7a, 0x3d, 0x88, 0xa3, 0x9e, 0xb4, 0x16, 0xd4, 0x64, 0x36, 0x46, 0x27, 0xf3, + 0xd8, 0x58, 0x4e, 0x94, 0x83, 0x1e, 0x90, 0x4d, 0x8d, 0x30, 0x15, 0x3d, 0x7d, 0xd9, 0x71, 0x68, + 0x2d, 0xaa, 0xac, 0x1a, 0xf8, 0xb2, 0x1d, 0x75, 0xa9, 0xa7, 0x21, 0x6d, 0x93, 0x8d, 0xf1, 0x50, + 0x9f, 0xf3, 0xa4, 0xc8, 0x2c, 0xa9, 0x0c, 0x1d, 0xcd, 0x5c, 0x70, 0x9e, 0x9c, 0x86, 0xd4, 0x25, + 0xeb, 0xe3, 0xad, 0xea, 0x29, 0xb5, 0x96, 0x27, 0xff, 0xf9, 0xf4, 0x58, 0x77, 0xa7, 0xef, 0x7e, + 0x6f, 0xd7, 0x0c, 0xd3, 0x84, 0xb5, 0x42, 0xf7, 0x08, 0x1d, 0xfe, 0x60, 0x3f, 0x61, 0xc1, 0xf7, + 0x24, 0x46, 0x69, 0xad, 0xb4, 0xa6, 0x76, 0xe7, 0xdd, 0xd5, 0x52, 0xe9, 0x96, 0x42, 0x17, 0xee, + 0x1e, 0x9a, 0xf5, 0xfb, 0x87, 0x66, 0xfd, 0xcf, 0x43, 0xb3, 0xfe, 0xf3, 0xb1, 0x59, 0xbb, 0x7f, + 0x6c, 0xd6, 0x7e, 0x3d, 0x36, 0x6b, 0x5f, 0x3f, 0x44, 0xb1, 0xec, 0x0d, 0x7c, 0x3b, 0xe0, 0xa9, + 0x73, 0x5a, 0x36, 0xf2, 0x91, 0xf9, 0xe8, 0x0c, 0xdb, 0xda, 0x0b, 0xb8, 0x80, 0xd1, 0x6d, 0x8f, + 0xc5, 0x99, 0x93, 0xf2, 0x70, 0x90, 0x00, 0x9a, 0x37, 0x49, 0xbd, 0x8a, 0xfe, 0x8c, 0x7a, 0x70, + 0x0e, 0xfe, 0x06, 0x00, 0x00, 0xff, 0xff, 0xed, 0x3d, 0xb9, 0x4e, 0x84, 0x05, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { @@ -817,77 +429,6 @@ func encodeVarintGenesis(dAtA []byte, offset int, v uint64) int { dAtA[offset] = uint8(v) return base } -func (m *Params) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.PeggyId) - if l > 0 { - n += 1 + l + sovGenesis(uint64(l)) - } - l = len(m.ContractSourceHash) - if l > 0 { - n += 1 + l + sovGenesis(uint64(l)) - } - l = len(m.BridgeEthereumAddress) - if l > 0 { - n += 1 + l + sovGenesis(uint64(l)) - } - if m.BridgeChainId != 0 { - n += 1 + sovGenesis(uint64(m.BridgeChainId)) - } - if m.SignedValsetsWindow != 0 { - n += 1 + sovGenesis(uint64(m.SignedValsetsWindow)) - } - if m.SignedBatchesWindow != 0 { - n += 1 + sovGenesis(uint64(m.SignedBatchesWindow)) - } - if m.SignedClaimsWindow != 0 { - n += 1 + sovGenesis(uint64(m.SignedClaimsWindow)) - } - if m.TargetBatchTimeout != 0 { - n += 1 + sovGenesis(uint64(m.TargetBatchTimeout)) - } - if m.AverageBlockTime != 0 { - n += 1 + sovGenesis(uint64(m.AverageBlockTime)) - } - if m.AverageEthereumBlockTime != 0 { - n += 1 + sovGenesis(uint64(m.AverageEthereumBlockTime)) - } - l = m.SlashFractionValset.Size() - n += 1 + l + sovGenesis(uint64(l)) - l = m.SlashFractionBatch.Size() - n += 1 + l + sovGenesis(uint64(l)) - l = m.SlashFractionClaim.Size() - n += 1 + l + sovGenesis(uint64(l)) - l = m.SlashFractionConflictingClaim.Size() - n += 1 + l + sovGenesis(uint64(l)) - if m.UnbondSlashingValsetsWindow != 0 { - n += 1 + sovGenesis(uint64(m.UnbondSlashingValsetsWindow)) - } - l = m.SlashFractionBadEthSignature.Size() - n += 2 + l + sovGenesis(uint64(l)) - l = len(m.CosmosCoinDenom) - if l > 0 { - n += 2 + l + sovGenesis(uint64(l)) - } - l = len(m.CosmosCoinErc20Contract) - if l > 0 { - n += 2 + l + sovGenesis(uint64(l)) - } - if m.ClaimSlashingEnabled { - n += 3 - } - if m.BridgeContractStartHeight != 0 { - n += 2 + sovGenesis(uint64(m.BridgeContractStartHeight)) - } - l = m.ValsetReward.Size() - n += 2 + l + sovGenesis(uint64(l)) - return n -} - func (m *GenesisState) Size() (n int) { if m == nil { return 0 @@ -975,605 +516,6 @@ func sovGenesis(x uint64) (n int) { func sozGenesis(x uint64) (n int) { return sovGenesis(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } -func (m *Params) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Params: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Params: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PeggyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PeggyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ContractSourceHash", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ContractSourceHash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BridgeEthereumAddress", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.BridgeEthereumAddress = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BridgeChainId", wireType) - } - m.BridgeChainId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.BridgeChainId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SignedValsetsWindow", wireType) - } - m.SignedValsetsWindow = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.SignedValsetsWindow |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SignedBatchesWindow", wireType) - } - m.SignedBatchesWindow = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.SignedBatchesWindow |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SignedClaimsWindow", wireType) - } - m.SignedClaimsWindow = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.SignedClaimsWindow |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 8: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TargetBatchTimeout", wireType) - } - m.TargetBatchTimeout = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TargetBatchTimeout |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 9: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AverageBlockTime", wireType) - } - m.AverageBlockTime = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.AverageBlockTime |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 10: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AverageEthereumBlockTime", wireType) - } - m.AverageEthereumBlockTime = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.AverageEthereumBlockTime |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SlashFractionValset", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.SlashFractionValset.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 12: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SlashFractionBatch", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.SlashFractionBatch.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 13: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SlashFractionClaim", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.SlashFractionClaim.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 14: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SlashFractionConflictingClaim", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.SlashFractionConflictingClaim.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 15: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field UnbondSlashingValsetsWindow", wireType) - } - m.UnbondSlashingValsetsWindow = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.UnbondSlashingValsetsWindow |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 16: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SlashFractionBadEthSignature", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.SlashFractionBadEthSignature.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 17: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CosmosCoinDenom", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.CosmosCoinDenom = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 18: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CosmosCoinErc20Contract", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.CosmosCoinErc20Contract = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 19: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ClaimSlashingEnabled", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.ClaimSlashingEnabled = bool(v != 0) - case 20: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BridgeContractStartHeight", wireType) - } - m.BridgeContractStartHeight = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.BridgeContractStartHeight |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 21: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValsetReward", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.ValsetReward.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipGenesis(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthGenesis - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} func (m *GenesisState) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/chain/peggy/types/key.go b/chain/peggy/types/key.go index 91cf011e..f1c4449c 100644 --- a/chain/peggy/types/key.go +++ b/chain/peggy/types/key.go @@ -35,6 +35,9 @@ var ( // i.e cosmos1ahx7f8wyertuus9r20284ej0asrs085case3kn ValsetConfirmKey = []byte{0x3} + // ParamKey indexes peggy's module params + ParamKey = []byte{0x4} + // OracleAttestationKey attestation details by nonce and validator address // i.e. cosmosvaloper1ahx7f8wyertuus9r20284ej0asrs085case3kn // An attestation can be thought of as the 'event to be executed' while diff --git a/chain/peggy/types/msgs.go b/chain/peggy/types/msgs.go index 3af57e75..e95cdb2f 100644 --- a/chain/peggy/types/msgs.go +++ b/chain/peggy/types/msgs.go @@ -4,10 +4,11 @@ import ( "encoding/hex" "fmt" + "cosmossdk.io/errors" + "github.com/cometbft/cometbft/crypto/tmhash" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/ethereum/go-ethereum/common" - "github.com/tendermint/tendermint/crypto/tmhash" ) var ( @@ -22,8 +23,34 @@ var ( _ sdk.Msg = &MsgCancelSendToEth{} _ sdk.Msg = &MsgValsetUpdatedClaim{} _ sdk.Msg = &MsgSubmitBadSignatureEvidence{} + _ sdk.Msg = &MsgUpdateParams{} ) +func (m *MsgUpdateParams) Route() string { return RouterKey } + +func (m *MsgUpdateParams) Type() string { return "update_params" } + +func (m *MsgUpdateParams) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(m.Authority); err != nil { + return errors.Wrap(err, "invalid authority address") + } + + if err := m.Params.ValidateBasic(); err != nil { + return errors.Wrap(err, "invalid params") + } + + return nil +} + +func (m *MsgUpdateParams) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m *MsgUpdateParams) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Authority) + return []sdk.AccAddress{addr} +} + // NewMsgSetOrchestratorAddress returns a new MsgSetOrchestratorAddresses func NewMsgSetOrchestratorAddress(sender, orchestrator sdk.AccAddress, ethAddr common.Address) *MsgSetOrchestratorAddresses { return &MsgSetOrchestratorAddresses{ @@ -42,13 +69,13 @@ func (msg *MsgSetOrchestratorAddresses) Type() string { return "set_operator_add // ValidateBasic performs stateless checks func (msg *MsgSetOrchestratorAddresses) ValidateBasic() (err error) { if _, err = sdk.AccAddressFromBech32(msg.Sender); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if _, err = sdk.AccAddressFromBech32(msg.Orchestrator); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Orchestrator) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Orchestrator) } if err := ValidateEthAddress(msg.EthAddress); err != nil { - return sdkerrors.Wrap(err, "ethereum address") + return errors.Wrap(err, "ethereum address") } return nil } @@ -87,10 +114,10 @@ func (msg *MsgValsetConfirm) Type() string { return "valset_confirm" } // ValidateBasic performs stateless checks func (msg *MsgValsetConfirm) ValidateBasic() (err error) { if _, err = sdk.AccAddressFromBech32(msg.Orchestrator); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Orchestrator) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Orchestrator) } if err := ValidateEthAddress(msg.EthAddress); err != nil { - return sdkerrors.Wrap(err, "ethereum address") + return errors.Wrap(err, "ethereum address") } return nil } @@ -129,22 +156,22 @@ func (msg MsgSendToEth) Type() string { return "send_to_eth" } // Checks if the Eth address is valid func (msg MsgSendToEth) ValidateBasic() error { if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } // fee and send must be of the same denom if msg.Amount.Denom != msg.BridgeFee.Denom { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, fmt.Sprintf("fee and amount must be the same type %s != %s", msg.Amount.Denom, msg.BridgeFee.Denom)) + return errors.Wrap(sdkerrors.ErrInvalidCoins, fmt.Sprintf("fee and amount must be the same type %s != %s", msg.Amount.Denom, msg.BridgeFee.Denom)) } if !msg.Amount.IsValid() || msg.Amount.IsZero() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, "amount") + return errors.Wrap(sdkerrors.ErrInvalidCoins, "amount") } if !msg.BridgeFee.IsValid() || msg.BridgeFee.IsZero() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, "fee") + return errors.Wrap(sdkerrors.ErrInvalidCoins, "fee") } if err := ValidateEthAddress(msg.EthDest); err != nil { - return sdkerrors.Wrap(err, "ethereum address") + return errors.Wrap(err, "ethereum address") } return nil } @@ -180,7 +207,7 @@ func (msg MsgRequestBatch) Type() string { return "request_batch" } // ValidateBasic performs stateless checks func (msg MsgRequestBatch) ValidateBasic() error { if _, err := sdk.AccAddressFromBech32(msg.Orchestrator); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Orchestrator) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Orchestrator) } return nil } @@ -209,17 +236,17 @@ func (msg MsgConfirmBatch) Type() string { return "confirm_batch" } // ValidateBasic performs stateless checks func (msg MsgConfirmBatch) ValidateBasic() error { if _, err := sdk.AccAddressFromBech32(msg.Orchestrator); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Orchestrator) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Orchestrator) } if err := ValidateEthAddress(msg.EthSigner); err != nil { - return sdkerrors.Wrap(err, "eth signer") + return errors.Wrap(err, "eth signer") } if err := ValidateEthAddress(msg.TokenContract); err != nil { - return sdkerrors.Wrap(err, "token contract") + return errors.Wrap(err, "token contract") } _, err := hex.DecodeString(msg.Signature) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "Could not decode hex string %s", msg.Signature) + return errors.Wrapf(sdkerrors.ErrUnknownRequest, "Could not decode hex string %s", msg.Signature) } return nil } @@ -277,16 +304,16 @@ func (msg *MsgDepositClaim) GetType() ClaimType { // ValidateBasic performs stateless checks func (msg *MsgDepositClaim) ValidateBasic() error { if _, err := sdk.AccAddressFromBech32(msg.CosmosReceiver); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.CosmosReceiver) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.CosmosReceiver) } if err := ValidateEthAddress(msg.EthereumSender); err != nil { - return sdkerrors.Wrap(err, "eth sender") + return errors.Wrap(err, "eth sender") } if err := ValidateEthAddress(msg.TokenContract); err != nil { - return sdkerrors.Wrap(err, "erc20 token") + return errors.Wrap(err, "erc20 token") } if _, err := sdk.AccAddressFromBech32(msg.Orchestrator); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Orchestrator) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Orchestrator) } if msg.EventNonce == 0 { return fmt.Errorf("nonce == 0") @@ -353,10 +380,10 @@ func (msg *MsgWithdrawClaim) ValidateBasic() error { return fmt.Errorf("batch_nonce == 0") } if err := ValidateEthAddress(msg.TokenContract); err != nil { - return sdkerrors.Wrap(err, "erc20 token") + return errors.Wrap(err, "erc20 token") } if _, err := sdk.AccAddressFromBech32(msg.Orchestrator); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Orchestrator) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Orchestrator) } return nil } @@ -412,10 +439,10 @@ func (e *MsgERC20DeployedClaim) GetType() ClaimType { // ValidateBasic performs stateless checks func (e *MsgERC20DeployedClaim) ValidateBasic() error { if err := ValidateEthAddress(e.TokenContract); err != nil { - return sdkerrors.Wrap(err, "erc20 token") + return errors.Wrap(err, "erc20 token") } if _, err := sdk.AccAddressFromBech32(e.Orchestrator); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, e.Orchestrator) + return errors.Wrap(sdkerrors.ErrInvalidAddress, e.Orchestrator) } if e.EventNonce == 0 { return fmt.Errorf("nonce == 0") @@ -472,7 +499,7 @@ func (e *MsgValsetUpdatedClaim) GetType() ClaimType { // ValidateBasic performs stateless checks func (e *MsgValsetUpdatedClaim) ValidateBasic() error { if _, err := sdk.AccAddressFromBech32(e.Orchestrator); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, e.Orchestrator) + return errors.Wrap(sdkerrors.ErrInvalidAddress, e.Orchestrator) } if e.EventNonce == 0 { return fmt.Errorf("nonce == 0") @@ -545,7 +572,7 @@ func (msg *MsgCancelSendToEth) Type() string { return "cancel_send_to_eth" } // ValidateBasic performs stateless checks func (msg *MsgCancelSendToEth) ValidateBasic() (err error) { if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } return nil } diff --git a/chain/peggy/types/msgs.pb.go b/chain/peggy/types/msgs.pb.go index 9b55205d..6bf0619c 100644 --- a/chain/peggy/types/msgs.pb.go +++ b/chain/peggy/types/msgs.pb.go @@ -6,12 +6,14 @@ package types import ( context "context" fmt "fmt" + _ "github.com/cosmos/cosmos-proto" types1 "github.com/cosmos/cosmos-sdk/codec/types" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/gogoproto/gogoproto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" @@ -43,8 +45,8 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // The orchestrator field is a cosmos1... string (i.e. sdk.AccAddress) that // references the key that is being delegated to // ETH_ADDRESS -// This is a hex encoded 0x Ethereum public key that will be used by this validator -// on Ethereum +// This is a hex encoded 0x Ethereum public key that will be used by this +// validator on Ethereum type MsgSetOrchestratorAddresses struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` Orchestrator string `protobuf:"bytes,2,opt,name=orchestrator,proto3" json:"orchestrator,omitempty"` @@ -1293,6 +1295,98 @@ func (m *MsgValsetUpdatedClaimResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgValsetUpdatedClaimResponse proto.InternalMessageInfo +type MsgUpdateParams struct { + // authority is the address of the governance account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // params defines the peggy parameters to update. + // + // NOTE: All parameters must be supplied. + Params Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params"` +} + +func (m *MsgUpdateParams) Reset() { *m = MsgUpdateParams{} } +func (m *MsgUpdateParams) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParams) ProtoMessage() {} +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return fileDescriptor_751daa04abed7ef4, []int{22} +} +func (m *MsgUpdateParams) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParams.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParams) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParams.Merge(m, src) +} +func (m *MsgUpdateParams) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParams) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParams.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParams proto.InternalMessageInfo + +func (m *MsgUpdateParams) GetAuthority() string { + if m != nil { + return m.Authority + } + return "" +} + +func (m *MsgUpdateParams) GetParams() Params { + if m != nil { + return m.Params + } + return Params{} +} + +type MsgUpdateParamsResponse struct { +} + +func (m *MsgUpdateParamsResponse) Reset() { *m = MsgUpdateParamsResponse{} } +func (m *MsgUpdateParamsResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParamsResponse) ProtoMessage() {} +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_751daa04abed7ef4, []int{23} +} +func (m *MsgUpdateParamsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParamsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParamsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParamsResponse.Merge(m, src) +} +func (m *MsgUpdateParamsResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParamsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgSetOrchestratorAddresses)(nil), "injective.peggy.v1.MsgSetOrchestratorAddresses") proto.RegisterType((*MsgSetOrchestratorAddressesResponse)(nil), "injective.peggy.v1.MsgSetOrchestratorAddressesResponse") @@ -1316,100 +1410,111 @@ func init() { proto.RegisterType((*MsgSubmitBadSignatureEvidenceResponse)(nil), "injective.peggy.v1.MsgSubmitBadSignatureEvidenceResponse") proto.RegisterType((*MsgValsetUpdatedClaim)(nil), "injective.peggy.v1.MsgValsetUpdatedClaim") proto.RegisterType((*MsgValsetUpdatedClaimResponse)(nil), "injective.peggy.v1.MsgValsetUpdatedClaimResponse") + proto.RegisterType((*MsgUpdateParams)(nil), "injective.peggy.v1.MsgUpdateParams") + proto.RegisterType((*MsgUpdateParamsResponse)(nil), "injective.peggy.v1.MsgUpdateParamsResponse") } func init() { proto.RegisterFile("injective/peggy/v1/msgs.proto", fileDescriptor_751daa04abed7ef4) } var fileDescriptor_751daa04abed7ef4 = []byte{ - // 1402 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0xcf, 0x6f, 0xdc, 0x44, - 0x14, 0x8e, 0xb3, 0x9b, 0x5f, 0xb3, 0x49, 0x03, 0x56, 0x28, 0x1b, 0xd3, 0x6e, 0x1a, 0xa7, 0x6d, - 0xd2, 0xd2, 0xda, 0x4d, 0x8a, 0x54, 0xf5, 0x00, 0x52, 0x93, 0xb4, 0xa2, 0x2a, 0x29, 0xd2, 0x6e, - 0x29, 0x12, 0x17, 0x6b, 0x6c, 0xbf, 0xda, 0xa6, 0xeb, 0x99, 0xc5, 0x33, 0xbb, 0x55, 0x38, 0x21, - 0x24, 0x4e, 0x3d, 0x00, 0xe2, 0xc4, 0x19, 0xee, 0xdc, 0x7b, 0x44, 0x20, 0xf5, 0x84, 0x2a, 0x71, - 0x01, 0x0e, 0x15, 0x6a, 0xf9, 0x43, 0x90, 0x67, 0x66, 0x1d, 0xef, 0xae, 0xbd, 0x6c, 0x51, 0x4e, - 0xeb, 0x79, 0xf3, 0xde, 0xcc, 0xf7, 0xde, 0xfb, 0xe6, 0xbd, 0xb7, 0xe8, 0x74, 0x44, 0x3e, 0x05, - 0x8f, 0x47, 0x3d, 0xb0, 0x3b, 0x10, 0x04, 0x87, 0x76, 0x6f, 0xdb, 0x8e, 0x59, 0xc0, 0xac, 0x4e, - 0x42, 0x39, 0xd5, 0xf5, 0x6c, 0xdb, 0x12, 0xdb, 0x56, 0x6f, 0xdb, 0x68, 0x78, 0x94, 0xc5, 0x94, - 0xd9, 0x2e, 0x66, 0x60, 0xf7, 0xb6, 0x5d, 0xe0, 0x78, 0xdb, 0xf6, 0x68, 0x44, 0xa4, 0x8d, 0xb1, - 0x12, 0xd0, 0x80, 0x8a, 0x4f, 0x3b, 0xfd, 0x52, 0xd2, 0x53, 0x01, 0xa5, 0x41, 0x1b, 0x6c, 0xdc, - 0x89, 0x6c, 0x4c, 0x08, 0xe5, 0x98, 0x47, 0x94, 0xa8, 0x7b, 0x8c, 0x46, 0x01, 0x0c, 0x7e, 0xd8, - 0x81, 0xfe, 0xfe, 0xaa, 0xb2, 0x16, 0x2b, 0xb7, 0xfb, 0xc0, 0xc6, 0xe4, 0x50, 0x6e, 0x99, 0x9f, - 0xa3, 0xb7, 0x0e, 0x58, 0xd0, 0x02, 0xfe, 0x61, 0xe2, 0x85, 0xc0, 0x78, 0x82, 0x39, 0x4d, 0x6e, - 0xf8, 0x7e, 0x02, 0x8c, 0x01, 0xd3, 0x4f, 0xa2, 0x59, 0x06, 0xc4, 0x87, 0xa4, 0xae, 0x9d, 0xd1, - 0xb6, 0x16, 0x9a, 0x6a, 0xa5, 0x9b, 0x68, 0x91, 0xe6, 0x0c, 0xea, 0xd3, 0x62, 0x77, 0x40, 0xa6, - 0xaf, 0xa1, 0x1a, 0xf0, 0xd0, 0xc1, 0xf2, 0xb0, 0x7a, 0x45, 0xa8, 0x20, 0xe0, 0xa1, 0x3a, 0xde, - 0x3c, 0x87, 0x36, 0xc6, 0xdc, 0xdd, 0x04, 0xd6, 0xa1, 0x84, 0x81, 0xf9, 0x58, 0x43, 0xaf, 0x1d, - 0xb0, 0xe0, 0x3e, 0x6e, 0x33, 0xe0, 0x7b, 0x94, 0x3c, 0x88, 0x92, 0x58, 0x5f, 0x41, 0x33, 0x84, - 0x12, 0x0f, 0x04, 0xae, 0x6a, 0x53, 0x2e, 0x8e, 0x05, 0x96, 0x7e, 0x0a, 0x2d, 0xb0, 0x28, 0x20, - 0x98, 0x77, 0x13, 0xa8, 0x57, 0xc5, 0xf6, 0x91, 0xc0, 0x34, 0x50, 0x7d, 0x18, 0x4c, 0x86, 0xf4, - 0x89, 0x86, 0x16, 0x85, 0x47, 0xc4, 0xbf, 0x47, 0x6f, 0xf2, 0xb0, 0x34, 0x7c, 0xab, 0x68, 0x3e, - 0xc5, 0xe0, 0x03, 0xe3, 0x0a, 0xe3, 0x1c, 0xf0, 0x70, 0x1f, 0x18, 0xd7, 0xaf, 0xa1, 0x59, 0x1c, - 0xd3, 0x2e, 0xe1, 0x02, 0x59, 0x6d, 0x67, 0xd5, 0x92, 0x84, 0xb1, 0x52, 0xc2, 0x58, 0x8a, 0x30, - 0xd6, 0x1e, 0x8d, 0xc8, 0x6e, 0xf5, 0xe9, 0xf3, 0xb5, 0xa9, 0xa6, 0x52, 0xd7, 0xdf, 0x43, 0xc8, - 0x4d, 0x22, 0x3f, 0x00, 0xe7, 0x01, 0x48, 0xdc, 0x13, 0x18, 0x2f, 0x48, 0x93, 0x5b, 0x00, 0xe6, - 0x49, 0xb4, 0x92, 0xc7, 0x9e, 0x39, 0x75, 0x07, 0x2d, 0x1f, 0xb0, 0xa0, 0x09, 0x9f, 0x75, 0x81, - 0xf1, 0x5d, 0xcc, 0xbd, 0x70, 0x24, 0xcc, 0x5a, 0x41, 0x98, 0x57, 0xd0, 0x8c, 0x0f, 0x84, 0xc6, - 0xca, 0x3f, 0xb9, 0x30, 0x57, 0xd1, 0x9b, 0x43, 0x87, 0x65, 0xf7, 0xfc, 0xa4, 0x89, 0x8b, 0x54, - 0x4c, 0xe5, 0x45, 0xc5, 0x59, 0x3e, 0x87, 0x4e, 0x70, 0xfa, 0x10, 0x88, 0xe3, 0x51, 0xc2, 0x13, - 0xec, 0xf5, 0x63, 0xb8, 0x24, 0xa4, 0x7b, 0x4a, 0xa8, 0x9f, 0x46, 0x69, 0x56, 0x9d, 0x34, 0x75, - 0x90, 0xa8, 0x3c, 0x2f, 0x00, 0x0f, 0x5b, 0x42, 0x30, 0xe2, 0x44, 0xb5, 0xc0, 0x89, 0x01, 0x2a, - 0xcc, 0x0c, 0x53, 0x41, 0x3a, 0x93, 0x07, 0x9c, 0x39, 0xf3, 0xdb, 0xb4, 0x70, 0x66, 0x1f, 0x3a, - 0x94, 0x45, 0x7c, 0xaf, 0x8d, 0xa3, 0x58, 0x10, 0xaf, 0x07, 0x84, 0x3b, 0x79, 0x97, 0x90, 0x10, - 0xdd, 0x15, 0x7e, 0xad, 0xa3, 0x45, 0xb7, 0x4d, 0xbd, 0x87, 0x4e, 0x08, 0x51, 0x10, 0x4a, 0xaf, - 0xaa, 0xcd, 0x9a, 0x90, 0xbd, 0x2f, 0x44, 0x05, 0xae, 0x57, 0x8a, 0x5c, 0xbf, 0x95, 0x91, 0x48, - 0x78, 0xb5, 0x6b, 0xa5, 0xc9, 0xfe, 0xeb, 0xf9, 0xda, 0xf9, 0x20, 0xe2, 0x61, 0xd7, 0xb5, 0x3c, - 0x1a, 0xdb, 0xaa, 0x0e, 0xc9, 0x9f, 0xcb, 0xcc, 0x7f, 0xa8, 0x4a, 0xc6, 0x6d, 0xc2, 0x33, 0x4e, - 0x6d, 0xa2, 0x65, 0xe0, 0x21, 0x24, 0xd0, 0x8d, 0x1d, 0x45, 0x64, 0x19, 0x85, 0x13, 0x7d, 0x71, - 0x4b, 0x12, 0x7a, 0x13, 0x2d, 0xcb, 0x83, 0x9c, 0x04, 0x3c, 0x88, 0x7a, 0x90, 0xd4, 0x67, 0xa5, - 0xa2, 0x14, 0x37, 0x95, 0x74, 0x24, 0xea, 0x73, 0x05, 0x51, 0xd7, 0x51, 0xd5, 0xc7, 0x1c, 0xd7, - 0xe7, 0xc5, 0x9e, 0xf8, 0x56, 0xb1, 0xce, 0xc7, 0x33, 0x8b, 0xf5, 0xcf, 0xb2, 0x3e, 0x7c, 0x1c, - 0xf1, 0xd0, 0x4f, 0xf0, 0xa3, 0xe3, 0x0b, 0xf6, 0x1a, 0xaa, 0xb9, 0x69, 0x56, 0xd5, 0x19, 0x15, - 0x79, 0x86, 0x10, 0xdd, 0x2d, 0x21, 0x62, 0xb5, 0x28, 0x1b, 0xc3, 0x3e, 0xcf, 0x8c, 0xfa, 0xac, - 0xca, 0xca, 0x80, 0x0f, 0x99, 0x83, 0xdf, 0x4e, 0xa3, 0x37, 0x0e, 0x58, 0x70, 0xb3, 0xb9, 0xb7, - 0x73, 0x65, 0x1f, 0x3a, 0x6d, 0x7a, 0x08, 0xfe, 0xf1, 0x79, 0xb9, 0x8e, 0x16, 0x55, 0xea, 0xe4, - 0x7b, 0x95, 0x84, 0xaa, 0x49, 0xd9, 0x7e, 0x2a, 0x9a, 0xd4, 0x4f, 0x1d, 0x55, 0x09, 0x8e, 0xfb, - 0x0f, 0x45, 0x7c, 0x8b, 0x0a, 0x78, 0x18, 0xbb, 0xb4, 0xad, 0xf8, 0xa0, 0x56, 0xba, 0x81, 0xe6, - 0x7d, 0xf0, 0xa2, 0x18, 0xb7, 0x99, 0xe0, 0x40, 0xb5, 0x99, 0xad, 0x47, 0xe2, 0x35, 0x5f, 0x10, - 0xaf, 0x35, 0x74, 0xba, 0x30, 0x24, 0x59, 0xd0, 0x5a, 0x48, 0x4f, 0x1f, 0x27, 0x26, 0x1e, 0xb4, - 0x8f, 0x0a, 0x72, 0xea, 0x49, 0x82, 0x09, 0xc3, 0x5e, 0xda, 0x3f, 0x9d, 0xc8, 0x57, 0x31, 0x5b, - 0xca, 0x49, 0x6f, 0xfb, 0xb9, 0xba, 0x3d, 0x9d, 0xaf, 0xdb, 0xe6, 0x29, 0x64, 0x8c, 0x1e, 0x9a, - 0x5d, 0xf9, 0x95, 0x26, 0x40, 0xb5, 0xba, 0x6e, 0x1c, 0xf1, 0x5d, 0xec, 0xb7, 0xfa, 0x95, 0xe2, - 0x66, 0x2f, 0xf2, 0x21, 0x4d, 0x87, 0x85, 0xe6, 0x58, 0xd7, 0x4d, 0x7b, 0xb5, 0xb8, 0xb7, 0xb6, - 0xb3, 0x62, 0xc9, 0xd6, 0x6c, 0xf5, 0x5b, 0xb3, 0x75, 0x83, 0x1c, 0x36, 0xfb, 0x4a, 0x83, 0xf5, - 0x67, 0x7a, 0xa8, 0xfe, 0xe4, 0x50, 0x56, 0x06, 0x50, 0x6e, 0xa2, 0x73, 0x63, 0x61, 0x64, 0x80, - 0xff, 0x94, 0xc4, 0x92, 0xcd, 0xec, 0xa3, 0x8e, 0x8f, 0xf9, 0xab, 0x10, 0xab, 0x27, 0xcc, 0x94, - 0x86, 0x22, 0x96, 0x94, 0x15, 0x73, 0xaf, 0x32, 0xca, 0xbd, 0x77, 0xd1, 0x5c, 0x0c, 0xb1, 0x0b, - 0x09, 0xab, 0x57, 0xcf, 0x54, 0xb6, 0x6a, 0x3b, 0x1b, 0xd6, 0xe8, 0xc8, 0x64, 0xed, 0x8a, 0x1e, - 0x75, 0x1f, 0xb7, 0x23, 0x3f, 0xcd, 0x7d, 0xb3, 0x6f, 0xa3, 0xb7, 0xd0, 0x52, 0x02, 0x8f, 0x70, - 0xe2, 0x3b, 0xaa, 0xda, 0xcd, 0xfc, 0xaf, 0x6a, 0xb7, 0x28, 0x0f, 0xb9, 0x21, 0x6b, 0xde, 0x3a, - 0x52, 0x6b, 0x47, 0xb0, 0x5b, 0xf1, 0xb6, 0x26, 0x65, 0xf7, 0x52, 0xd1, 0x24, 0x45, 0x4c, 0x11, - 0x74, 0x34, 0xb4, 0xfd, 0xe0, 0xef, 0xfc, 0xb2, 0x84, 0x2a, 0x07, 0x2c, 0xd0, 0xbf, 0xd6, 0xd0, - 0xd2, 0xe0, 0x6c, 0x73, 0xb6, 0x28, 0x08, 0xc3, 0x43, 0x87, 0x71, 0x69, 0x12, 0xad, 0x2c, 0xd5, - 0x17, 0xbf, 0xfc, 0xfd, 0x9f, 0xef, 0xa6, 0xcf, 0x9a, 0xa6, 0x5d, 0x30, 0x2b, 0xaa, 0x4c, 0x7a, - 0xea, 0xfe, 0x2f, 0x34, 0xb4, 0x70, 0xf4, 0x64, 0xce, 0x94, 0xdc, 0x93, 0x69, 0x18, 0x5b, 0xff, - 0xa5, 0x91, 0xa1, 0xd8, 0x14, 0x28, 0xd6, 0xcd, 0xb5, 0x22, 0x14, 0x29, 0x7b, 0x1d, 0x4e, 0x1d, - 0xe0, 0xa1, 0xfe, 0x58, 0x43, 0x8b, 0x03, 0x23, 0xc7, 0x46, 0xc9, 0x1d, 0x79, 0x25, 0xe3, 0xed, - 0x09, 0x94, 0x32, 0x2c, 0x17, 0x04, 0x96, 0x0d, 0x73, 0xbd, 0x08, 0x4b, 0x22, 0x2d, 0x1c, 0x51, - 0xec, 0x05, 0x9a, 0x81, 0xb9, 0xa4, 0x0c, 0x4d, 0x5e, 0xa9, 0x14, 0x4d, 0xe1, 0xc0, 0x30, 0x16, - 0x8d, 0x4a, 0x4c, 0x0e, 0xcd, 0xc0, 0x60, 0x51, 0x86, 0x26, 0xaf, 0x54, 0x8a, 0xa6, 0xb0, 0xa5, - 0x8e, 0x45, 0xe3, 0x4b, 0x0b, 0xc7, 0x13, 0x97, 0xa7, 0xf4, 0x1d, 0x6c, 0xbd, 0x65, 0xf4, 0x1d, - 0xd0, 0x2a, 0xa5, 0x6f, 0x71, 0x0b, 0x1c, 0x4b, 0xdf, 0x47, 0xca, 0x44, 0x21, 0xfa, 0x41, 0x43, - 0xaf, 0xe7, 0xdf, 0x9d, 0x44, 0x75, 0x61, 0xec, 0x73, 0xc9, 0xbf, 0x50, 0x63, 0x7b, 0x62, 0xd5, - 0x0c, 0xdf, 0x15, 0x81, 0xef, 0xa2, 0xb9, 0x35, 0xe6, 0x79, 0x75, 0xa5, 0xa1, 0x42, 0xf9, 0xa3, - 0x86, 0xf4, 0x82, 0x8e, 0x5e, 0x06, 0x73, 0x54, 0xb5, 0x14, 0xe6, 0x98, 0xa6, 0x38, 0x16, 0x26, - 0x24, 0xde, 0xce, 0x15, 0xc7, 0x57, 0x86, 0x0a, 0xe6, 0x13, 0x0d, 0xd5, 0x4b, 0xff, 0x1d, 0xda, - 0xa5, 0x0f, 0xbf, 0xd8, 0xc0, 0xb8, 0xf6, 0x8a, 0x06, 0x19, 0xf0, 0x77, 0x04, 0x70, 0xcb, 0xbc, - 0x54, 0x5c, 0x38, 0xb8, 0x93, 0xaf, 0xbd, 0xfd, 0xff, 0x76, 0xfa, 0xf7, 0x1a, 0x5a, 0x1e, 0x9e, - 0x00, 0xce, 0x97, 0xbd, 0xca, 0x41, 0x3d, 0xc3, 0x9a, 0x4c, 0x2f, 0x43, 0x68, 0x09, 0x84, 0x5b, - 0xe6, 0xf9, 0xc2, 0x07, 0x2c, 0x8c, 0x9c, 0x7c, 0x85, 0xfb, 0x55, 0x43, 0xc6, 0x98, 0x49, 0xa1, - 0x2c, 0xb9, 0xe5, 0x26, 0xc6, 0xf5, 0x57, 0x36, 0xc9, 0xc0, 0x5f, 0x17, 0xe0, 0xaf, 0x9a, 0xdb, - 0x85, 0xe1, 0x15, 0xf6, 0x8e, 0x8b, 0x7d, 0x27, 0x9b, 0x3d, 0x1c, 0x50, 0x47, 0xec, 0xc2, 0xd3, - 0x17, 0x0d, 0xed, 0xd9, 0x8b, 0x86, 0xf6, 0xf7, 0x8b, 0x86, 0xf6, 0xcd, 0xcb, 0xc6, 0xd4, 0xb3, - 0x97, 0x8d, 0xa9, 0x3f, 0x5e, 0x36, 0xa6, 0x3e, 0xb9, 0x93, 0x6b, 0xbf, 0xb7, 0xfb, 0xc7, 0x7e, - 0x80, 0x5d, 0x76, 0x74, 0xc9, 0x65, 0x8f, 0x26, 0x90, 0x5f, 0x86, 0x38, 0x22, 0x76, 0x4c, 0xfd, - 0x6e, 0x1b, 0x98, 0x42, 0x20, 0xfa, 0xb4, 0x3b, 0x2b, 0x06, 0xa4, 0xab, 0xff, 0x06, 0x00, 0x00, - 0xff, 0xff, 0x48, 0xdc, 0xa7, 0x2f, 0x72, 0x11, 0x00, 0x00, + // 1544 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0xcd, 0x8f, 0xdc, 0xc4, + 0x12, 0x5f, 0xef, 0xce, 0x7e, 0xf5, 0xec, 0xc7, 0x8b, 0xb5, 0x2f, 0x99, 0xf5, 0x4b, 0x66, 0xb3, + 0xde, 0x24, 0xbb, 0xc9, 0x4b, 0x3c, 0xd9, 0xcd, 0xd3, 0x0b, 0x89, 0x04, 0x52, 0x76, 0x37, 0x11, + 0x11, 0x6c, 0x40, 0x33, 0x21, 0x48, 0x1c, 0x70, 0xda, 0x76, 0xc5, 0x36, 0x19, 0xbb, 0x07, 0x77, + 0xcf, 0x44, 0xc3, 0x09, 0xe5, 0xca, 0x01, 0x44, 0x4e, 0x5c, 0xb8, 0x10, 0x71, 0xe6, 0xc0, 0x89, + 0x23, 0x12, 0x22, 0xc7, 0x08, 0x84, 0x84, 0x38, 0x44, 0x90, 0x20, 0x71, 0xe1, 0x8f, 0x40, 0xee, + 0x6e, 0x7b, 0xed, 0x1d, 0x7b, 0x98, 0xa0, 0x9c, 0xc6, 0x5d, 0x5d, 0xd5, 0xf5, 0xab, 0xaa, 0x5f, + 0x57, 0xd7, 0xa0, 0x63, 0x7e, 0xf8, 0x1e, 0xd8, 0xcc, 0xef, 0x41, 0xa3, 0x03, 0xae, 0xdb, 0x6f, + 0xf4, 0x36, 0x1b, 0x01, 0x75, 0xa9, 0xd1, 0x89, 0x08, 0x23, 0xaa, 0x9a, 0x6e, 0x1b, 0x7c, 0xdb, + 0xe8, 0x6d, 0x6a, 0x75, 0x9b, 0xd0, 0x80, 0xd0, 0x86, 0x85, 0x29, 0x34, 0x7a, 0x9b, 0x16, 0x30, + 0xbc, 0xd9, 0xb0, 0x89, 0x1f, 0x0a, 0x1b, 0x6d, 0xc9, 0x25, 0x2e, 0xe1, 0x9f, 0x8d, 0xf8, 0x4b, + 0x4a, 0x8f, 0xba, 0x84, 0xb8, 0x6d, 0x68, 0xe0, 0x8e, 0xdf, 0xc0, 0x61, 0x48, 0x18, 0x66, 0x3e, + 0x09, 0xa5, 0x1f, 0xad, 0x5e, 0x00, 0x83, 0xf5, 0x3b, 0x90, 0xec, 0xaf, 0x14, 0xec, 0x77, 0x70, + 0x84, 0x83, 0x44, 0x61, 0x59, 0x1e, 0xcf, 0x57, 0x56, 0xf7, 0x4e, 0x03, 0x87, 0x7d, 0xb9, 0x75, + 0x44, 0xe2, 0x0d, 0xa8, 0x2b, 0xa3, 0x4b, 0x6c, 0xc4, 0x86, 0x29, 0xb0, 0x8a, 0x85, 0xd8, 0xd2, + 0x3f, 0x40, 0xff, 0xd9, 0xa3, 0x6e, 0x0b, 0xd8, 0x1b, 0x91, 0xed, 0x01, 0x65, 0x11, 0x66, 0x24, + 0xba, 0xe2, 0x38, 0x11, 0x50, 0x0a, 0x54, 0x3d, 0x8c, 0xa6, 0x28, 0x84, 0x0e, 0x44, 0x35, 0xe5, + 0xb8, 0xb2, 0x31, 0xdb, 0x94, 0x2b, 0x55, 0x47, 0x73, 0x24, 0x63, 0x50, 0x1b, 0xe7, 0xbb, 0x39, + 0x99, 0xba, 0x82, 0xaa, 0xc0, 0x3c, 0x13, 0x8b, 0xc3, 0x6a, 0x13, 0x5c, 0x05, 0x01, 0xf3, 0xe4, + 0xf1, 0xfa, 0x49, 0xb4, 0x36, 0xc4, 0x77, 0x13, 0x68, 0x87, 0x84, 0x14, 0xf4, 0xcf, 0x15, 0xf4, + 0xaf, 0x3d, 0xea, 0xde, 0xc2, 0x6d, 0x0a, 0x6c, 0x87, 0x84, 0x77, 0xfc, 0x28, 0x50, 0x97, 0xd0, + 0x64, 0x48, 0x42, 0x1b, 0x38, 0xae, 0x4a, 0x53, 0x2c, 0x5e, 0x08, 0x2c, 0xf5, 0x28, 0x9a, 0xa5, + 0xbe, 0x1b, 0x62, 0xd6, 0x8d, 0xa0, 0x56, 0xe1, 0xdb, 0xfb, 0x82, 0xcb, 0x87, 0xee, 0xff, 0xf1, + 0xd5, 0x99, 0xdc, 0x89, 0xba, 0x86, 0x6a, 0x07, 0xf1, 0xa5, 0xe0, 0xbf, 0x57, 0xd0, 0x1c, 0x0f, + 0x32, 0x74, 0x6e, 0x92, 0xab, 0xcc, 0x2b, 0xcd, 0xe8, 0x32, 0x9a, 0x89, 0x61, 0x39, 0x40, 0x99, + 0x84, 0x3d, 0x0d, 0xcc, 0xdb, 0x05, 0xca, 0xd4, 0x8b, 0x68, 0x0a, 0x07, 0xa4, 0x1b, 0x32, 0x0e, + 0xb6, 0xba, 0xb5, 0x6c, 0xc8, 0x12, 0xc6, 0xc4, 0x34, 0x24, 0x31, 0x8d, 0x1d, 0xe2, 0x87, 0xdb, + 0x95, 0x47, 0x4f, 0x56, 0xc6, 0x9a, 0x52, 0x5d, 0x7d, 0x05, 0x21, 0x2b, 0xf2, 0x1d, 0x17, 0xcc, + 0x3b, 0x20, 0x42, 0x19, 0xc1, 0x78, 0x56, 0x98, 0x5c, 0x03, 0xb8, 0x5c, 0x8d, 0x63, 0x95, 0x00, + 0xf5, 0xc3, 0x68, 0x29, 0x1b, 0x48, 0x1a, 0xe1, 0xbb, 0x68, 0x71, 0x8f, 0xba, 0x4d, 0x78, 0xbf, + 0x0b, 0x94, 0x6d, 0x63, 0x66, 0x7b, 0x03, 0x65, 0x50, 0x0a, 0xca, 0xb0, 0x84, 0x26, 0x1d, 0x08, + 0x49, 0x20, 0x83, 0x15, 0x8b, 0xa2, 0xec, 0x2e, 0xa3, 0x23, 0x07, 0xce, 0x4f, 0x5d, 0x7f, 0xab, + 0x70, 0xdf, 0x32, 0xe7, 0xc2, 0x77, 0x31, 0x31, 0x4e, 0xa2, 0x05, 0x46, 0xee, 0x42, 0x68, 0xda, + 0x24, 0x64, 0x11, 0xb6, 0x93, 0x1c, 0xcf, 0x73, 0xe9, 0x8e, 0x14, 0xaa, 0xc7, 0x50, 0x4c, 0x04, + 0x33, 0xae, 0x36, 0x44, 0x92, 0x1a, 0xb3, 0xc0, 0xbc, 0x16, 0x17, 0x0c, 0xc4, 0x55, 0x29, 0x88, + 0x2b, 0xc7, 0x9e, 0xc9, 0x11, 0xd8, 0x23, 0xe2, 0xcb, 0xc6, 0x90, 0xc6, 0xf7, 0xdb, 0x38, 0x8f, + 0x6f, 0x17, 0x3a, 0x84, 0xfa, 0x6c, 0xa7, 0x8d, 0xfd, 0x80, 0xd3, 0xb7, 0x07, 0x21, 0x33, 0xb3, + 0x51, 0x22, 0x2e, 0xba, 0xc1, 0x43, 0x5d, 0x45, 0x73, 0x56, 0x9b, 0xd8, 0x77, 0x4d, 0x0f, 0x7c, + 0xd7, 0x13, 0x81, 0x56, 0x9a, 0x55, 0x2e, 0x7b, 0x95, 0x8b, 0x0a, 0xb2, 0x31, 0x51, 0x94, 0x8d, + 0x6b, 0x29, 0xef, 0x78, 0xa0, 0xdb, 0x46, 0xcc, 0x8f, 0x5f, 0x9e, 0xac, 0x9c, 0x72, 0x7d, 0xe6, + 0x75, 0x2d, 0xc3, 0x26, 0x81, 0x6c, 0x26, 0xf2, 0xe7, 0x1c, 0x75, 0xee, 0xca, 0x6e, 0x76, 0x3d, + 0x64, 0x29, 0x0d, 0xd7, 0xd1, 0x22, 0x30, 0x0f, 0x22, 0xe8, 0x06, 0xa6, 0xe4, 0xbe, 0x48, 0xcc, + 0x42, 0x22, 0x6e, 0x89, 0x3b, 0xb0, 0x8e, 0x16, 0x65, 0xa7, 0x8a, 0xc0, 0x06, 0xbf, 0x07, 0x51, + 0x6d, 0x4a, 0x28, 0x0a, 0x71, 0x53, 0x4a, 0x07, 0x0a, 0x31, 0x5d, 0x50, 0x08, 0x15, 0x55, 0x1c, + 0xcc, 0x70, 0x6d, 0x86, 0xef, 0xf1, 0xef, 0xf2, 0xf4, 0x67, 0x53, 0x9c, 0xa6, 0xff, 0x27, 0xd1, + 0x78, 0xde, 0xf6, 0x99, 0xe7, 0x44, 0xf8, 0xde, 0x8b, 0xcb, 0xff, 0x0a, 0xaa, 0x5a, 0x71, 0xa1, + 0xe5, 0x19, 0x13, 0xe2, 0x0c, 0x2e, 0xba, 0x51, 0x42, 0xd7, 0x4a, 0x51, 0x81, 0x0e, 0xa6, 0x61, + 0x72, 0x30, 0x0d, 0xe5, 0xfd, 0x2a, 0x17, 0x56, 0x1a, 0xf3, 0xc3, 0x71, 0xf4, 0xef, 0x3d, 0xea, + 0x5e, 0x6d, 0xee, 0x6c, 0x9d, 0xdf, 0x85, 0x4e, 0x9b, 0xf4, 0xc1, 0x79, 0x71, 0x81, 0xaf, 0xa2, + 0x39, 0x59, 0x60, 0x71, 0xf7, 0x05, 0xed, 0xaa, 0x42, 0xb6, 0x1b, 0x8b, 0x46, 0x0d, 0x5d, 0x45, + 0x95, 0x10, 0x07, 0xc9, 0x0d, 0xe3, 0xdf, 0xbc, 0xb5, 0xf6, 0x03, 0x8b, 0xb4, 0x25, 0x6b, 0xe4, + 0x4a, 0xd5, 0xd0, 0x8c, 0x03, 0xb6, 0x1f, 0xe0, 0x36, 0xe5, 0x4c, 0xa9, 0x34, 0xd3, 0xf5, 0x40, + 0x0a, 0x67, 0x46, 0x4b, 0xe1, 0x0a, 0x3a, 0x56, 0x98, 0xa5, 0x34, 0x8f, 0xb7, 0x91, 0x1a, 0xdf, + 0x6a, 0x1c, 0xda, 0xd0, 0xde, 0x6f, 0xfe, 0x71, 0x70, 0x11, 0x0e, 0x29, 0xb6, 0xe3, 0x99, 0xc0, + 0xf4, 0x1d, 0x99, 0xc6, 0xf9, 0x8c, 0xf4, 0xba, 0x93, 0x79, 0x23, 0xc6, 0xb3, 0x6f, 0x44, 0xbe, + 0x1f, 0x1f, 0x45, 0xda, 0xa0, 0x87, 0xd4, 0xff, 0xa7, 0x0a, 0x47, 0xd8, 0xea, 0x5a, 0x81, 0xcf, + 0xb6, 0xb1, 0xd3, 0x4a, 0x5a, 0xd0, 0xd5, 0x9e, 0xef, 0x40, 0x5c, 0x2e, 0x03, 0x4d, 0xd3, 0xae, + 0x15, 0x0f, 0x1b, 0x1c, 0x44, 0x75, 0x6b, 0xc9, 0x10, 0xa3, 0x85, 0x91, 0x8c, 0x16, 0xc6, 0x95, + 0xb0, 0xdf, 0x4c, 0x94, 0xf2, 0x8d, 0x6d, 0xfc, 0x40, 0x63, 0xcb, 0x40, 0x9e, 0x28, 0x87, 0xbc, + 0x8e, 0x4e, 0x0e, 0xc5, 0x94, 0xa2, 0xff, 0x53, 0xb0, 0x50, 0x3c, 0xa9, 0x6f, 0x75, 0x1c, 0xcc, + 0x9e, 0x87, 0x85, 0x3d, 0x6e, 0x26, 0x35, 0x24, 0x0b, 0x85, 0xac, 0x98, 0xa8, 0x13, 0x83, 0x44, + 0x7d, 0x19, 0x4d, 0x07, 0x10, 0x58, 0x10, 0xd1, 0x5a, 0xe5, 0xf8, 0xc4, 0x46, 0x75, 0x6b, 0xcd, + 0x18, 0x1c, 0x10, 0x8d, 0x6d, 0xfe, 0x52, 0xde, 0xc2, 0x6d, 0xdf, 0x89, 0x59, 0xd1, 0x4c, 0x6c, + 0xd4, 0x16, 0x9a, 0x8f, 0xe0, 0x1e, 0x8e, 0x1c, 0x53, 0x36, 0xd0, 0xc9, 0x7f, 0xd4, 0x40, 0xe7, + 0xc4, 0x21, 0x57, 0x44, 0x1b, 0x5d, 0x45, 0x72, 0x6d, 0xf2, 0xab, 0x20, 0x49, 0x5e, 0x15, 0xb2, + 0x9b, 0xb1, 0x68, 0x94, 0xbe, 0x58, 0xce, 0xe6, 0xc1, 0x6c, 0xa7, 0xf5, 0x78, 0x20, 0x1e, 0x5a, + 0xb1, 0xf7, 0x26, 0x1f, 0x47, 0xd5, 0xff, 0xa3, 0x59, 0xdc, 0x65, 0x1e, 0x89, 0x7c, 0xd6, 0x17, + 0x2f, 0xfc, 0x76, 0xed, 0x87, 0xaf, 0xcf, 0x2d, 0xc9, 0xf1, 0x42, 0x4e, 0x53, 0x2d, 0x16, 0xf9, + 0xa1, 0xdb, 0xdc, 0x57, 0x55, 0x5f, 0x42, 0x53, 0x62, 0xa0, 0xe5, 0xa5, 0xa9, 0x6e, 0x69, 0x45, + 0x99, 0x15, 0x3e, 0x92, 0x71, 0x46, 0xe8, 0x5f, 0x5e, 0x88, 0x91, 0xef, 0x9f, 0x24, 0x5b, 0x77, + 0x16, 0x54, 0x02, 0x78, 0xeb, 0xcb, 0x05, 0x34, 0xb1, 0x47, 0x5d, 0xf5, 0x63, 0x05, 0xcd, 0xe7, + 0x07, 0xc7, 0x13, 0x45, 0xee, 0x0e, 0x8e, 0x6f, 0xda, 0xd9, 0x51, 0xb4, 0xd2, 0xf4, 0x9c, 0xb9, + 0xff, 0xe3, 0xef, 0x0f, 0xc6, 0x4f, 0xe8, 0x7a, 0xa3, 0x60, 0x7a, 0x97, 0x6c, 0xb4, 0xa5, 0xff, + 0x0f, 0x15, 0x34, 0xbb, 0xdf, 0x10, 0x8e, 0x97, 0xf8, 0x49, 0x35, 0xb4, 0x8d, 0xbf, 0xd3, 0x48, + 0x51, 0xac, 0x73, 0x14, 0xab, 0xfa, 0x4a, 0x11, 0x8a, 0xf8, 0x06, 0x9a, 0x8c, 0x98, 0xc0, 0x3c, + 0xf5, 0x23, 0x05, 0xcd, 0xe5, 0xe6, 0xb5, 0xb5, 0x12, 0x1f, 0x59, 0x25, 0xed, 0xbf, 0x23, 0x28, + 0xa5, 0x58, 0x4e, 0x73, 0x2c, 0x6b, 0xfa, 0x6a, 0x11, 0x96, 0x48, 0x58, 0x98, 0xfc, 0xc1, 0xe3, + 0x68, 0x72, 0x13, 0x5c, 0x19, 0x9a, 0xac, 0x52, 0x29, 0x9a, 0xc2, 0x39, 0x6a, 0x28, 0x1a, 0x59, + 0x98, 0x0c, 0x9a, 0xdc, 0xbc, 0x55, 0x86, 0x26, 0xab, 0x54, 0x8a, 0xa6, 0x70, 0xac, 0x18, 0x8a, + 0xc6, 0x11, 0x16, 0xa6, 0xcd, 0x9d, 0xc7, 0xf4, 0xcd, 0x8f, 0x1f, 0x65, 0xf4, 0xcd, 0x69, 0x95, + 0xd2, 0xb7, 0xf8, 0xcd, 0x1f, 0x4a, 0xdf, 0x7b, 0xd2, 0x44, 0x22, 0xfa, 0x42, 0x41, 0x87, 0xb2, + 0x8d, 0x42, 0xa0, 0x3a, 0x3d, 0xf4, 0xba, 0x64, 0x5b, 0x8a, 0xb6, 0x39, 0xb2, 0x6a, 0x8a, 0xef, + 0x3c, 0xc7, 0x77, 0x46, 0xdf, 0x18, 0x72, 0xbd, 0xba, 0xc2, 0x50, 0xa2, 0x7c, 0xa8, 0x20, 0xb5, + 0x60, 0x84, 0x29, 0x83, 0x39, 0xa8, 0x5a, 0x0a, 0x73, 0xc8, 0x93, 0x3f, 0x14, 0x26, 0x44, 0xf6, + 0xd6, 0x79, 0xd3, 0x91, 0x86, 0x12, 0xe6, 0x37, 0x0a, 0xaa, 0x95, 0xfe, 0xf5, 0x6e, 0x94, 0x5e, + 0xfc, 0x62, 0x03, 0xed, 0xe2, 0x73, 0x1a, 0xa4, 0xc0, 0xff, 0xc7, 0x81, 0x1b, 0xfa, 0xd9, 0xe2, + 0xc6, 0xc1, 0xcc, 0xec, 0x63, 0x91, 0xfc, 0x71, 0x56, 0x3f, 0x53, 0xd0, 0xe2, 0xc1, 0xf9, 0xe6, + 0x54, 0xd9, 0xad, 0xcc, 0xeb, 0x69, 0xc6, 0x68, 0x7a, 0x29, 0x42, 0x83, 0x23, 0xdc, 0xd0, 0x4f, + 0x15, 0x5e, 0x60, 0x6e, 0x64, 0x66, 0x3b, 0xdc, 0x77, 0x0a, 0xd2, 0x86, 0x8c, 0x3e, 0x65, 0xc5, + 0x2d, 0x37, 0xd1, 0x2e, 0x3d, 0xb7, 0x49, 0x0a, 0xfe, 0x12, 0x07, 0x7f, 0x41, 0xdf, 0x2c, 0x4c, + 0x2f, 0xb7, 0x37, 0x2d, 0xec, 0x98, 0xe9, 0x30, 0x65, 0x42, 0x02, 0xf4, 0x36, 0x9a, 0xcb, 0xbd, + 0xb9, 0x65, 0xcd, 0x28, 0xab, 0x54, 0xda, 0x8c, 0x8a, 0x1e, 0xca, 0x6d, 0x78, 0xf4, 0xb4, 0xae, + 0x3c, 0x7e, 0x5a, 0x57, 0x7e, 0x7d, 0x5a, 0x57, 0x3e, 0x79, 0x56, 0x1f, 0x7b, 0xfc, 0xac, 0x3e, + 0xf6, 0xf3, 0xb3, 0xfa, 0xd8, 0x3b, 0xaf, 0x65, 0x86, 0x94, 0xeb, 0xc9, 0x81, 0xaf, 0x63, 0x8b, + 0xee, 0x87, 0x71, 0xce, 0x26, 0x11, 0x64, 0x97, 0x1e, 0xf6, 0xc3, 0x46, 0x40, 0x9c, 0x6e, 0x1b, + 0xa8, 0x8c, 0x91, 0x4f, 0x33, 0xd6, 0x14, 0x9f, 0x29, 0x2f, 0xfc, 0x15, 0x00, 0x00, 0xff, 0xff, + 0x55, 0x57, 0xa5, 0xac, 0x86, 0x13, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1435,6 +1540,7 @@ type MsgClient interface { SetOrchestratorAddresses(ctx context.Context, in *MsgSetOrchestratorAddresses, opts ...grpc.CallOption) (*MsgSetOrchestratorAddressesResponse, error) CancelSendToEth(ctx context.Context, in *MsgCancelSendToEth, opts ...grpc.CallOption) (*MsgCancelSendToEthResponse, error) SubmitBadSignatureEvidence(ctx context.Context, in *MsgSubmitBadSignatureEvidence, opts ...grpc.CallOption) (*MsgSubmitBadSignatureEvidenceResponse, error) + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) } type msgClient struct { @@ -1544,6 +1650,15 @@ func (c *msgClient) SubmitBadSignatureEvidence(ctx context.Context, in *MsgSubmi return out, nil } +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, "/injective.peggy.v1.Msg/UpdateParams", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { ValsetConfirm(context.Context, *MsgValsetConfirm) (*MsgValsetConfirmResponse, error) @@ -1557,6 +1672,7 @@ type MsgServer interface { SetOrchestratorAddresses(context.Context, *MsgSetOrchestratorAddresses) (*MsgSetOrchestratorAddressesResponse, error) CancelSendToEth(context.Context, *MsgCancelSendToEth) (*MsgCancelSendToEthResponse, error) SubmitBadSignatureEvidence(context.Context, *MsgSubmitBadSignatureEvidence) (*MsgSubmitBadSignatureEvidenceResponse, error) + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -1596,6 +1712,9 @@ func (*UnimplementedMsgServer) CancelSendToEth(ctx context.Context, req *MsgCanc func (*UnimplementedMsgServer) SubmitBadSignatureEvidence(ctx context.Context, req *MsgSubmitBadSignatureEvidence) (*MsgSubmitBadSignatureEvidenceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SubmitBadSignatureEvidence not implemented") } +func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -1799,6 +1918,24 @@ func _Msg_SubmitBadSignatureEvidence_Handler(srv interface{}, ctx context.Contex return interceptor(ctx, in, info, handler) } +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.peggy.v1.Msg/UpdateParams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "injective.peggy.v1.Msg", HandlerType: (*MsgServer)(nil), @@ -1847,6 +1984,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "SubmitBadSignatureEvidence", Handler: _Msg_SubmitBadSignatureEvidence_Handler, }, + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "injective/peggy/v1/msgs.proto", @@ -2711,6 +2852,69 @@ func (m *MsgValsetUpdatedClaimResponse) MarshalToSizedBuffer(dAtA []byte) (int, return len(dAtA) - i, nil } +func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMsgs(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintMsgs(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintMsgs(dAtA []byte, offset int, v uint64) int { offset -= sovMsgs(v) base := offset @@ -3104,6 +3308,30 @@ func (m *MsgValsetUpdatedClaimResponse) Size() (n int) { return n } +func (m *MsgUpdateParams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovMsgs(uint64(l)) + } + l = m.Params.Size() + n += 1 + l + sovMsgs(uint64(l)) + return n +} + +func (m *MsgUpdateParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovMsgs(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -5672,6 +5900,171 @@ func (m *MsgValsetUpdatedClaimResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMsgs + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMsgs + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthMsgs + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMsgs + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMsgs + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMsgs + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMsgs + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipMsgs(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthMsgs + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMsgs + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipMsgs(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthMsgs + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipMsgs(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/peggy/types/params.go b/chain/peggy/types/params.go new file mode 100644 index 00000000..43e1374c --- /dev/null +++ b/chain/peggy/types/params.go @@ -0,0 +1,295 @@ +package types + +import ( + "bytes" + "fmt" + "strings" + + "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +// DefaultParamspace defines the default auth module parameter subspace +const ( + // todo: implement oracle constants as params + DefaultParamspace = ModuleName +) + +// DefaultParams returns a copy of the default params +func DefaultParams() *Params { + return &Params{ + PeggyId: "injective-peggyid", + SignedValsetsWindow: 10000, + SignedBatchesWindow: 10000, + SignedClaimsWindow: 10000, + TargetBatchTimeout: 43200000, + AverageBlockTime: 5000, + AverageEthereumBlockTime: 15000, + SlashFractionValset: sdk.NewDec(1).Quo(sdk.NewDec(1000)), + SlashFractionBatch: sdk.NewDec(1).Quo(sdk.NewDec(1000)), + SlashFractionClaim: sdk.NewDec(1).Quo(sdk.NewDec(1000)), + SlashFractionConflictingClaim: sdk.NewDec(1).Quo(sdk.NewDec(1000)), + SlashFractionBadEthSignature: sdk.NewDec(1).Quo(sdk.NewDec(1000)), + CosmosCoinDenom: "inj", + UnbondSlashingValsetsWindow: 10000, + ClaimSlashingEnabled: false, + } +} + +// ValidateBasic checks that the parameters have valid values. +func (p Params) ValidateBasic() error { + if err := validatePeggyID(p.PeggyId); err != nil { + return errors.Wrap(err, "peggy id") + } + if err := validateContractHash(p.ContractSourceHash); err != nil { + return errors.Wrap(err, "contract hash") + } + if err := validateBridgeContractAddress(p.BridgeEthereumAddress); err != nil { + return errors.Wrap(err, "bridge contract address") + } + if err := validateBridgeContractStartHeight(p.BridgeContractStartHeight); err != nil { + return errors.Wrap(err, "bridge contract start height") + } + if err := validateBridgeChainID(p.BridgeChainId); err != nil { + return errors.Wrap(err, "bridge chain id") + } + if err := validateCosmosCoinDenom(p.CosmosCoinDenom); err != nil { + return errors.Wrap(err, "cosmos coin denom") + } + if err := validateCosmosCoinErc20Contract(p.CosmosCoinErc20Contract); err != nil { + return errors.Wrap(err, "cosmos coin erc20 contract address") + } + if err := validateTargetBatchTimeout(p.TargetBatchTimeout); err != nil { + return errors.Wrap(err, "Batch timeout") + } + if err := validateAverageBlockTime(p.AverageBlockTime); err != nil { + return errors.Wrap(err, "Block time") + } + if err := validateAverageEthereumBlockTime(p.AverageEthereumBlockTime); err != nil { + return errors.Wrap(err, "Ethereum block time") + } + if err := validateSignedValsetsWindow(p.SignedValsetsWindow); err != nil { + return errors.Wrap(err, "signed blocks window") + } + if err := validateSignedBatchesWindow(p.SignedBatchesWindow); err != nil { + return errors.Wrap(err, "signed blocks window") + } + if err := validateSignedClaimsWindow(p.SignedClaimsWindow); err != nil { + return errors.Wrap(err, "signed blocks window") + } + if err := validateSlashFractionValset(p.SlashFractionValset); err != nil { + return errors.Wrap(err, "slash fraction valset") + } + if err := validateSlashFractionBatch(p.SlashFractionBatch); err != nil { + return errors.Wrap(err, "slash fraction valset") + } + if err := validateSlashFractionClaim(p.SlashFractionClaim); err != nil { + return errors.Wrap(err, "slash fraction valset") + } + if err := validateSlashFractionConflictingClaim(p.SlashFractionConflictingClaim); err != nil { + return errors.Wrap(err, "slash fraction valset") + } + if err := validateSlashFractionBadEthSignature(p.SlashFractionBadEthSignature); err != nil { + return errors.Wrap(err, "slash fraction BadEthSignature") + } + if err := validateUnbondSlashingValsetsWindow(p.UnbondSlashingValsetsWindow); err != nil { + return errors.Wrap(err, "unbond Slashing valset window") + } + if err := validateClaimSlashingEnabled(p.ClaimSlashingEnabled); err != nil { + return errors.Wrap(err, "claim slashing enabled") + } + + return nil +} + +// Equal returns a boolean determining if two Params types are identical. +func (p Params) Equal(p2 Params) bool { + bz1 := ModuleCdc.MustMarshalLengthPrefixed(&p) + bz2 := ModuleCdc.MustMarshalLengthPrefixed(&p2) + return bytes.Equal(bz1, bz2) +} + +func validatePeggyID(i interface{}) error { + v, ok := i.(string) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + if _, err := strToFixByteArray(v); err != nil { + return err + } + return nil +} + +func validateContractHash(i interface{}) error { + if _, ok := i.(string); !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + return nil +} + +func validateBridgeChainID(i interface{}) error { + if _, ok := i.(uint64); !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + return nil +} + +func validateBridgeContractStartHeight(i interface{}) error { + if _, ok := i.(uint64); !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + return nil +} + +func validateTargetBatchTimeout(i interface{}) error { + val, ok := i.(uint64) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } else if val < 60000 { + return fmt.Errorf("invalid target batch timeout, less than 60 seconds is too short") + } + return nil +} + +func validateAverageBlockTime(i interface{}) error { + val, ok := i.(uint64) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } else if val < 100 { + return fmt.Errorf("invalid average Cosmos block time, too short for latency limitations") + } + return nil +} + +func validateAverageEthereumBlockTime(i interface{}) error { + val, ok := i.(uint64) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } else if val < 100 { + return fmt.Errorf("invalid average Ethereum block time, too short for latency limitations") + } + return nil +} + +func validateBridgeContractAddress(i interface{}) error { + v, ok := i.(string) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + if err := ValidateEthAddress(v); err != nil { + if !strings.Contains(err.Error(), "empty") { + return err + } + } + return nil +} + +func validateSignedValsetsWindow(i interface{}) error { + if _, ok := i.(uint64); !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + return nil +} + +func validateUnbondSlashingValsetsWindow(i interface{}) error { + if _, ok := i.(uint64); !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + return nil +} + +func validateSlashFractionValset(i interface{}) error { + if _, ok := i.(sdk.Dec); !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + return nil +} + +func validateSignedBatchesWindow(i interface{}) error { + if _, ok := i.(uint64); !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + return nil +} + +func validateSignedClaimsWindow(i interface{}) error { + if _, ok := i.(uint64); !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + return nil +} + +func validateSlashFractionBatch(i interface{}) error { + if _, ok := i.(sdk.Dec); !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + return nil +} + +func validateSlashFractionClaim(i interface{}) error { + if _, ok := i.(sdk.Dec); !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + return nil +} + +func validateSlashFractionConflictingClaim(i interface{}) error { + if _, ok := i.(sdk.Dec); !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + return nil +} + +func strToFixByteArray(s string) ([32]byte, error) { + var out [32]byte + if len([]byte(s)) > 32 { + return out, fmt.Errorf("string too long") + } + copy(out[:], s) + return out, nil +} + +func validateCosmosCoinDenom(i interface{}) error { + v, ok := i.(string) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + + if _, err := strToFixByteArray(v); err != nil { + return err + } + return nil +} + +func validateCosmosCoinErc20Contract(i interface{}) error { + v, ok := i.(string) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + + // empty address is valid + if v == "" { + return nil + } + + return ValidateEthAddress(v) +} + +func validateClaimSlashingEnabled(i interface{}) error { + _, ok := i.(bool) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + return nil +} + +func validateSlashFractionBadEthSignature(i interface{}) error { + if _, ok := i.(sdk.Dec); !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + return nil +} + +func validateValsetReward(i interface{}) error { + return nil +} diff --git a/chain/peggy/types/params.pb.go b/chain/peggy/types/params.pb.go new file mode 100644 index 00000000..f7932952 --- /dev/null +++ b/chain/peggy/types/params.pb.go @@ -0,0 +1,1210 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: injective/peggy/v1/params.proto + +package types + +import ( + fmt "fmt" + github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +type Params struct { + PeggyId string `protobuf:"bytes,1,opt,name=peggy_id,json=peggyId,proto3" json:"peggy_id,omitempty"` + ContractSourceHash string `protobuf:"bytes,2,opt,name=contract_source_hash,json=contractSourceHash,proto3" json:"contract_source_hash,omitempty"` + BridgeEthereumAddress string `protobuf:"bytes,3,opt,name=bridge_ethereum_address,json=bridgeEthereumAddress,proto3" json:"bridge_ethereum_address,omitempty"` + BridgeChainId uint64 `protobuf:"varint,4,opt,name=bridge_chain_id,json=bridgeChainId,proto3" json:"bridge_chain_id,omitempty"` + SignedValsetsWindow uint64 `protobuf:"varint,5,opt,name=signed_valsets_window,json=signedValsetsWindow,proto3" json:"signed_valsets_window,omitempty"` + SignedBatchesWindow uint64 `protobuf:"varint,6,opt,name=signed_batches_window,json=signedBatchesWindow,proto3" json:"signed_batches_window,omitempty"` + SignedClaimsWindow uint64 `protobuf:"varint,7,opt,name=signed_claims_window,json=signedClaimsWindow,proto3" json:"signed_claims_window,omitempty"` + TargetBatchTimeout uint64 `protobuf:"varint,8,opt,name=target_batch_timeout,json=targetBatchTimeout,proto3" json:"target_batch_timeout,omitempty"` + AverageBlockTime uint64 `protobuf:"varint,9,opt,name=average_block_time,json=averageBlockTime,proto3" json:"average_block_time,omitempty"` + AverageEthereumBlockTime uint64 `protobuf:"varint,10,opt,name=average_ethereum_block_time,json=averageEthereumBlockTime,proto3" json:"average_ethereum_block_time,omitempty"` + SlashFractionValset github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,11,opt,name=slash_fraction_valset,json=slashFractionValset,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"slash_fraction_valset"` + SlashFractionBatch github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,12,opt,name=slash_fraction_batch,json=slashFractionBatch,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"slash_fraction_batch"` + SlashFractionClaim github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,13,opt,name=slash_fraction_claim,json=slashFractionClaim,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"slash_fraction_claim"` + SlashFractionConflictingClaim github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,14,opt,name=slash_fraction_conflicting_claim,json=slashFractionConflictingClaim,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"slash_fraction_conflicting_claim"` + UnbondSlashingValsetsWindow uint64 `protobuf:"varint,15,opt,name=unbond_slashing_valsets_window,json=unbondSlashingValsetsWindow,proto3" json:"unbond_slashing_valsets_window,omitempty"` + SlashFractionBadEthSignature github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,16,opt,name=slash_fraction_bad_eth_signature,json=slashFractionBadEthSignature,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"slash_fraction_bad_eth_signature"` + CosmosCoinDenom string `protobuf:"bytes,17,opt,name=cosmos_coin_denom,json=cosmosCoinDenom,proto3" json:"cosmos_coin_denom,omitempty"` + CosmosCoinErc20Contract string `protobuf:"bytes,18,opt,name=cosmos_coin_erc20_contract,json=cosmosCoinErc20Contract,proto3" json:"cosmos_coin_erc20_contract,omitempty"` + ClaimSlashingEnabled bool `protobuf:"varint,19,opt,name=claim_slashing_enabled,json=claimSlashingEnabled,proto3" json:"claim_slashing_enabled,omitempty"` + BridgeContractStartHeight uint64 `protobuf:"varint,20,opt,name=bridge_contract_start_height,json=bridgeContractStartHeight,proto3" json:"bridge_contract_start_height,omitempty"` + ValsetReward types.Coin `protobuf:"bytes,21,opt,name=valset_reward,json=valsetReward,proto3" json:"valset_reward"` +} + +func (m *Params) Reset() { *m = Params{} } +func (m *Params) String() string { return proto.CompactTextString(m) } +func (*Params) ProtoMessage() {} +func (*Params) Descriptor() ([]byte, []int) { + return fileDescriptor_f21ffdf8d29783da, []int{0} +} +func (m *Params) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Params) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Params.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Params) XXX_Merge(src proto.Message) { + xxx_messageInfo_Params.Merge(m, src) +} +func (m *Params) XXX_Size() int { + return m.Size() +} +func (m *Params) XXX_DiscardUnknown() { + xxx_messageInfo_Params.DiscardUnknown(m) +} + +var xxx_messageInfo_Params proto.InternalMessageInfo + +func (m *Params) GetPeggyId() string { + if m != nil { + return m.PeggyId + } + return "" +} + +func (m *Params) GetContractSourceHash() string { + if m != nil { + return m.ContractSourceHash + } + return "" +} + +func (m *Params) GetBridgeEthereumAddress() string { + if m != nil { + return m.BridgeEthereumAddress + } + return "" +} + +func (m *Params) GetBridgeChainId() uint64 { + if m != nil { + return m.BridgeChainId + } + return 0 +} + +func (m *Params) GetSignedValsetsWindow() uint64 { + if m != nil { + return m.SignedValsetsWindow + } + return 0 +} + +func (m *Params) GetSignedBatchesWindow() uint64 { + if m != nil { + return m.SignedBatchesWindow + } + return 0 +} + +func (m *Params) GetSignedClaimsWindow() uint64 { + if m != nil { + return m.SignedClaimsWindow + } + return 0 +} + +func (m *Params) GetTargetBatchTimeout() uint64 { + if m != nil { + return m.TargetBatchTimeout + } + return 0 +} + +func (m *Params) GetAverageBlockTime() uint64 { + if m != nil { + return m.AverageBlockTime + } + return 0 +} + +func (m *Params) GetAverageEthereumBlockTime() uint64 { + if m != nil { + return m.AverageEthereumBlockTime + } + return 0 +} + +func (m *Params) GetUnbondSlashingValsetsWindow() uint64 { + if m != nil { + return m.UnbondSlashingValsetsWindow + } + return 0 +} + +func (m *Params) GetCosmosCoinDenom() string { + if m != nil { + return m.CosmosCoinDenom + } + return "" +} + +func (m *Params) GetCosmosCoinErc20Contract() string { + if m != nil { + return m.CosmosCoinErc20Contract + } + return "" +} + +func (m *Params) GetClaimSlashingEnabled() bool { + if m != nil { + return m.ClaimSlashingEnabled + } + return false +} + +func (m *Params) GetBridgeContractStartHeight() uint64 { + if m != nil { + return m.BridgeContractStartHeight + } + return 0 +} + +func (m *Params) GetValsetReward() types.Coin { + if m != nil { + return m.ValsetReward + } + return types.Coin{} +} + +func init() { + proto.RegisterType((*Params)(nil), "injective.peggy.v1.Params") +} + +func init() { proto.RegisterFile("injective/peggy/v1/params.proto", fileDescriptor_f21ffdf8d29783da) } + +var fileDescriptor_f21ffdf8d29783da = []byte{ + // 759 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x95, 0x4f, 0x4f, 0x3b, 0x45, + 0x18, 0xc7, 0xbb, 0x5a, 0xf9, 0xc1, 0x00, 0x02, 0x43, 0x2b, 0xc3, 0x1f, 0x97, 0xc6, 0x03, 0x69, + 0x8c, 0xec, 0x52, 0x34, 0x1e, 0x34, 0xc6, 0xd8, 0x52, 0x03, 0xd1, 0x83, 0x29, 0x46, 0x13, 0x2f, + 0xe3, 0xec, 0xce, 0xb0, 0x3b, 0xd2, 0xdd, 0x69, 0x76, 0xa6, 0x6d, 0xb8, 0xf9, 0x12, 0x7c, 0x59, + 0x1c, 0x39, 0x1a, 0x63, 0x88, 0x81, 0x37, 0xe1, 0xd1, 0xcc, 0x33, 0xbb, 0x6d, 0xa9, 0x9e, 0x88, + 0xa7, 0x76, 0xf7, 0xf3, 0xfd, 0x3e, 0xdf, 0xc9, 0xf3, 0x4c, 0x9f, 0xa2, 0x63, 0x99, 0xff, 0x22, + 0x62, 0x23, 0x27, 0x22, 0x1c, 0x89, 0x24, 0xb9, 0x0b, 0x27, 0x9d, 0x70, 0xc4, 0x0a, 0x96, 0xe9, + 0x60, 0x54, 0x28, 0xa3, 0x30, 0x9e, 0x09, 0x02, 0x10, 0x04, 0x93, 0xce, 0x41, 0x23, 0x51, 0x89, + 0x02, 0x1c, 0xda, 0x6f, 0x4e, 0x79, 0xe0, 0xc7, 0x4a, 0x67, 0x4a, 0x87, 0x11, 0xd3, 0x22, 0x9c, + 0x74, 0x22, 0x61, 0x58, 0x27, 0x8c, 0x95, 0xcc, 0x1d, 0xff, 0xe0, 0x6f, 0x84, 0x56, 0xbe, 0x83, + 0xd2, 0x78, 0x1f, 0xad, 0x42, 0x31, 0x2a, 0x39, 0xf1, 0x5a, 0x5e, 0x7b, 0x6d, 0xf0, 0x06, 0x9e, + 0xaf, 0x38, 0x3e, 0x43, 0x8d, 0x58, 0xe5, 0xa6, 0x60, 0xb1, 0xa1, 0x5a, 0x8d, 0x8b, 0x58, 0xd0, + 0x94, 0xe9, 0x94, 0xbc, 0x05, 0x32, 0x5c, 0xb1, 0x6b, 0x40, 0x97, 0x4c, 0xa7, 0xf8, 0x53, 0xb4, + 0x17, 0x15, 0x92, 0x27, 0x82, 0x0a, 0x93, 0x8a, 0x42, 0x8c, 0x33, 0xca, 0x38, 0x2f, 0x84, 0xd6, + 0xe4, 0x6d, 0x30, 0x35, 0x1d, 0xee, 0x97, 0xf4, 0x2b, 0x07, 0xf1, 0x09, 0xda, 0x2a, 0x7d, 0x71, + 0xca, 0x64, 0x6e, 0xcf, 0x52, 0x6f, 0x79, 0xed, 0xfa, 0x60, 0xd3, 0xbd, 0xee, 0xd9, 0xb7, 0x57, + 0x1c, 0x9f, 0xa3, 0xa6, 0x96, 0x49, 0x2e, 0x38, 0x9d, 0xb0, 0xa1, 0x16, 0x46, 0xd3, 0xa9, 0xcc, + 0xb9, 0x9a, 0x92, 0x77, 0x40, 0xbd, 0xeb, 0xe0, 0x0f, 0x8e, 0xfd, 0x08, 0x68, 0xc1, 0x13, 0x31, + 0x13, 0xa7, 0x62, 0xe6, 0x59, 0x59, 0xf4, 0x74, 0x1d, 0x2b, 0x3d, 0x67, 0xa8, 0x51, 0x7a, 0xe2, + 0x21, 0x93, 0xd9, 0xcc, 0xf2, 0x06, 0x2c, 0xd8, 0xb1, 0x1e, 0xa0, 0xb9, 0xc3, 0xb0, 0x22, 0x11, + 0xc6, 0xa5, 0x50, 0x23, 0x33, 0xa1, 0xc6, 0x86, 0xac, 0x3a, 0x87, 0x63, 0x10, 0xf2, 0xbd, 0x23, + 0xf8, 0x23, 0x84, 0xd9, 0x44, 0x14, 0x2c, 0x11, 0x34, 0x1a, 0xaa, 0xf8, 0x16, 0x2c, 0x64, 0x0d, + 0xf4, 0xdb, 0x25, 0xe9, 0x5a, 0x60, 0x0d, 0xf8, 0x0b, 0x74, 0x58, 0xa9, 0x67, 0xad, 0x5d, 0xb0, + 0x21, 0xb0, 0x91, 0x52, 0x52, 0xb5, 0x77, 0x6e, 0x8f, 0x50, 0x53, 0x0f, 0x99, 0x4e, 0xe9, 0x8d, + 0x9d, 0x98, 0x54, 0x79, 0xd9, 0x40, 0xb2, 0xde, 0xf2, 0xda, 0x1b, 0xdd, 0xe0, 0xfe, 0xf1, 0xb8, + 0xf6, 0xc7, 0xe3, 0xf1, 0x49, 0x22, 0x4d, 0x3a, 0x8e, 0x82, 0x58, 0x65, 0x61, 0x79, 0x85, 0xdc, + 0xc7, 0xa9, 0xe6, 0xb7, 0xa1, 0xb9, 0x1b, 0x09, 0x1d, 0x5c, 0x88, 0x78, 0xb0, 0x0b, 0xc5, 0xbe, + 0x2e, 0x6b, 0xb9, 0x7e, 0xe3, 0x9f, 0x51, 0x63, 0x29, 0x03, 0x5a, 0x41, 0x36, 0x5e, 0x15, 0x81, + 0x5f, 0x44, 0x40, 0xe7, 0xfe, 0x23, 0x01, 0xc6, 0x43, 0x36, 0xff, 0x87, 0x04, 0x98, 0x26, 0x9e, + 0xa2, 0xd6, 0x72, 0x82, 0xca, 0x6f, 0x86, 0x32, 0x36, 0x32, 0x4f, 0xca, 0xb4, 0x77, 0x5f, 0x95, + 0xf6, 0xfe, 0xcb, 0xb4, 0x79, 0x55, 0x17, 0xdc, 0x43, 0xfe, 0x38, 0x8f, 0x54, 0xce, 0x29, 0xe8, + 0x6c, 0xda, 0xd2, 0x15, 0xdf, 0x82, 0x11, 0x1f, 0x3a, 0xd5, 0x75, 0x29, 0x7a, 0x79, 0xd5, 0x27, + 0xff, 0x3a, 0x7d, 0xc4, 0xb8, 0xbd, 0x2f, 0xd4, 0xde, 0x58, 0x66, 0xc6, 0x85, 0x20, 0xdb, 0xaf, + 0x3a, 0xfd, 0xd1, 0xd2, 0x34, 0x78, 0xdf, 0xa4, 0xd7, 0x55, 0x4d, 0xfc, 0x21, 0xda, 0x71, 0x2e, + 0x6a, 0x77, 0x0c, 0xe5, 0x22, 0x57, 0x19, 0xd9, 0x81, 0x1f, 0xfc, 0x96, 0x03, 0x3d, 0x25, 0xf3, + 0x0b, 0xfb, 0x1a, 0x7f, 0x8e, 0x0e, 0x16, 0xb5, 0xa2, 0x88, 0xcf, 0xcf, 0x68, 0xb5, 0x4a, 0x08, + 0x06, 0xd3, 0xde, 0xdc, 0xd4, 0xb7, 0xbc, 0x57, 0x62, 0xfc, 0x09, 0x7a, 0x0f, 0x66, 0x30, 0x6f, + 0x92, 0xc8, 0x59, 0x34, 0x14, 0x9c, 0xec, 0xb6, 0xbc, 0xf6, 0xea, 0xa0, 0x01, 0xb4, 0x6a, 0x4e, + 0xdf, 0x31, 0xfc, 0x25, 0x3a, 0xaa, 0xb6, 0xcb, 0x6c, 0x9d, 0x19, 0x56, 0x18, 0x9a, 0x0a, 0x99, + 0xa4, 0x86, 0x34, 0xa0, 0xb3, 0xfb, 0xe5, 0xaa, 0xa9, 0xb6, 0x9a, 0x55, 0x5c, 0x82, 0x00, 0x5f, + 0xa0, 0x4d, 0x37, 0x0c, 0x5a, 0x88, 0x29, 0x2b, 0x38, 0x69, 0xb6, 0xbc, 0xf6, 0xfa, 0xf9, 0x7e, + 0xe0, 0xce, 0x19, 0xd8, 0x35, 0x1b, 0x94, 0x6b, 0x36, 0xb0, 0xa7, 0xee, 0xd6, 0x6d, 0x7f, 0x07, + 0x1b, 0xce, 0x35, 0x00, 0xd3, 0x67, 0xf5, 0x5f, 0xff, 0x6c, 0xd5, 0xba, 0xe2, 0xfe, 0xc9, 0xf7, + 0x1e, 0x9e, 0x7c, 0xef, 0xaf, 0x27, 0xdf, 0xfb, 0xed, 0xd9, 0xaf, 0x3d, 0x3c, 0xfb, 0xb5, 0xdf, + 0x9f, 0xfd, 0xda, 0x4f, 0xdf, 0x2c, 0xcc, 0xe2, 0xaa, 0xda, 0xf4, 0xdf, 0xb2, 0x48, 0x87, 0xb3, + 0xbd, 0x7f, 0x1a, 0xab, 0x42, 0x2c, 0x3e, 0xda, 0xbd, 0x18, 0x66, 0x8a, 0x8f, 0x87, 0x42, 0x97, + 0xff, 0x1a, 0x30, 0xb4, 0x68, 0x05, 0x16, 0xfd, 0xc7, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x8a, + 0xea, 0x23, 0xd2, 0x55, 0x06, 0x00, 0x00, +} + +func (m *Params) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Params) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.ValsetReward.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintParams(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xaa + if m.BridgeContractStartHeight != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.BridgeContractStartHeight)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa0 + } + if m.ClaimSlashingEnabled { + i-- + if m.ClaimSlashingEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x98 + } + if len(m.CosmosCoinErc20Contract) > 0 { + i -= len(m.CosmosCoinErc20Contract) + copy(dAtA[i:], m.CosmosCoinErc20Contract) + i = encodeVarintParams(dAtA, i, uint64(len(m.CosmosCoinErc20Contract))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 + } + if len(m.CosmosCoinDenom) > 0 { + i -= len(m.CosmosCoinDenom) + copy(dAtA[i:], m.CosmosCoinDenom) + i = encodeVarintParams(dAtA, i, uint64(len(m.CosmosCoinDenom))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } + { + size := m.SlashFractionBadEthSignature.Size() + i -= size + if _, err := m.SlashFractionBadEthSignature.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintParams(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + if m.UnbondSlashingValsetsWindow != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.UnbondSlashingValsetsWindow)) + i-- + dAtA[i] = 0x78 + } + { + size := m.SlashFractionConflictingClaim.Size() + i -= size + if _, err := m.SlashFractionConflictingClaim.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintParams(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x72 + { + size := m.SlashFractionClaim.Size() + i -= size + if _, err := m.SlashFractionClaim.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintParams(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x6a + { + size := m.SlashFractionBatch.Size() + i -= size + if _, err := m.SlashFractionBatch.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintParams(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x62 + { + size := m.SlashFractionValset.Size() + i -= size + if _, err := m.SlashFractionValset.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintParams(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x5a + if m.AverageEthereumBlockTime != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.AverageEthereumBlockTime)) + i-- + dAtA[i] = 0x50 + } + if m.AverageBlockTime != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.AverageBlockTime)) + i-- + dAtA[i] = 0x48 + } + if m.TargetBatchTimeout != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.TargetBatchTimeout)) + i-- + dAtA[i] = 0x40 + } + if m.SignedClaimsWindow != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.SignedClaimsWindow)) + i-- + dAtA[i] = 0x38 + } + if m.SignedBatchesWindow != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.SignedBatchesWindow)) + i-- + dAtA[i] = 0x30 + } + if m.SignedValsetsWindow != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.SignedValsetsWindow)) + i-- + dAtA[i] = 0x28 + } + if m.BridgeChainId != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.BridgeChainId)) + i-- + dAtA[i] = 0x20 + } + if len(m.BridgeEthereumAddress) > 0 { + i -= len(m.BridgeEthereumAddress) + copy(dAtA[i:], m.BridgeEthereumAddress) + i = encodeVarintParams(dAtA, i, uint64(len(m.BridgeEthereumAddress))) + i-- + dAtA[i] = 0x1a + } + if len(m.ContractSourceHash) > 0 { + i -= len(m.ContractSourceHash) + copy(dAtA[i:], m.ContractSourceHash) + i = encodeVarintParams(dAtA, i, uint64(len(m.ContractSourceHash))) + i-- + dAtA[i] = 0x12 + } + if len(m.PeggyId) > 0 { + i -= len(m.PeggyId) + copy(dAtA[i:], m.PeggyId) + i = encodeVarintParams(dAtA, i, uint64(len(m.PeggyId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintParams(dAtA []byte, offset int, v uint64) int { + offset -= sovParams(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *Params) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.PeggyId) + if l > 0 { + n += 1 + l + sovParams(uint64(l)) + } + l = len(m.ContractSourceHash) + if l > 0 { + n += 1 + l + sovParams(uint64(l)) + } + l = len(m.BridgeEthereumAddress) + if l > 0 { + n += 1 + l + sovParams(uint64(l)) + } + if m.BridgeChainId != 0 { + n += 1 + sovParams(uint64(m.BridgeChainId)) + } + if m.SignedValsetsWindow != 0 { + n += 1 + sovParams(uint64(m.SignedValsetsWindow)) + } + if m.SignedBatchesWindow != 0 { + n += 1 + sovParams(uint64(m.SignedBatchesWindow)) + } + if m.SignedClaimsWindow != 0 { + n += 1 + sovParams(uint64(m.SignedClaimsWindow)) + } + if m.TargetBatchTimeout != 0 { + n += 1 + sovParams(uint64(m.TargetBatchTimeout)) + } + if m.AverageBlockTime != 0 { + n += 1 + sovParams(uint64(m.AverageBlockTime)) + } + if m.AverageEthereumBlockTime != 0 { + n += 1 + sovParams(uint64(m.AverageEthereumBlockTime)) + } + l = m.SlashFractionValset.Size() + n += 1 + l + sovParams(uint64(l)) + l = m.SlashFractionBatch.Size() + n += 1 + l + sovParams(uint64(l)) + l = m.SlashFractionClaim.Size() + n += 1 + l + sovParams(uint64(l)) + l = m.SlashFractionConflictingClaim.Size() + n += 1 + l + sovParams(uint64(l)) + if m.UnbondSlashingValsetsWindow != 0 { + n += 1 + sovParams(uint64(m.UnbondSlashingValsetsWindow)) + } + l = m.SlashFractionBadEthSignature.Size() + n += 2 + l + sovParams(uint64(l)) + l = len(m.CosmosCoinDenom) + if l > 0 { + n += 2 + l + sovParams(uint64(l)) + } + l = len(m.CosmosCoinErc20Contract) + if l > 0 { + n += 2 + l + sovParams(uint64(l)) + } + if m.ClaimSlashingEnabled { + n += 3 + } + if m.BridgeContractStartHeight != 0 { + n += 2 + sovParams(uint64(m.BridgeContractStartHeight)) + } + l = m.ValsetReward.Size() + n += 2 + l + sovParams(uint64(l)) + return n +} + +func sovParams(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozParams(x uint64) (n int) { + return sovParams(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *Params) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Params: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Params: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PeggyId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PeggyId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ContractSourceHash", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ContractSourceHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BridgeEthereumAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BridgeEthereumAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BridgeChainId", wireType) + } + m.BridgeChainId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BridgeChainId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SignedValsetsWindow", wireType) + } + m.SignedValsetsWindow = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SignedValsetsWindow |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SignedBatchesWindow", wireType) + } + m.SignedBatchesWindow = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SignedBatchesWindow |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SignedClaimsWindow", wireType) + } + m.SignedClaimsWindow = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SignedClaimsWindow |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TargetBatchTimeout", wireType) + } + m.TargetBatchTimeout = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TargetBatchTimeout |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AverageBlockTime", wireType) + } + m.AverageBlockTime = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AverageBlockTime |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AverageEthereumBlockTime", wireType) + } + m.AverageEthereumBlockTime = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AverageEthereumBlockTime |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SlashFractionValset", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.SlashFractionValset.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SlashFractionBatch", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.SlashFractionBatch.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SlashFractionClaim", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.SlashFractionClaim.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SlashFractionConflictingClaim", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.SlashFractionConflictingClaim.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 15: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UnbondSlashingValsetsWindow", wireType) + } + m.UnbondSlashingValsetsWindow = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.UnbondSlashingValsetsWindow |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SlashFractionBadEthSignature", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.SlashFractionBadEthSignature.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CosmosCoinDenom", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CosmosCoinDenom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CosmosCoinErc20Contract", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CosmosCoinErc20Contract = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 19: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ClaimSlashingEnabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ClaimSlashingEnabled = bool(v != 0) + case 20: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BridgeContractStartHeight", wireType) + } + m.BridgeContractStartHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BridgeContractStartHeight |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 21: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValsetReward", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ValsetReward.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipParams(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthParams + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipParams(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowParams + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowParams + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowParams + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthParams + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupParams + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthParams + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthParams = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowParams = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupParams = fmt.Errorf("proto: unexpected end of group") +) diff --git a/chain/peggy/types/params_legacy.go b/chain/peggy/types/params_legacy.go new file mode 100644 index 00000000..aa63c6f6 --- /dev/null +++ b/chain/peggy/types/params_legacy.go @@ -0,0 +1,105 @@ +package types + +import paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" + +var ( + // ParamsStoreKeyPeggyID stores the peggy id + ParamsStoreKeyPeggyID = []byte("PeggyID") + + // ParamsStoreKeyContractHash stores the contract hash + ParamsStoreKeyContractHash = []byte("ContractHash") + + // ParamsStoreKeyBridgeContractAddress stores the contract address + ParamsStoreKeyBridgeContractAddress = []byte("BridgeContractAddress") + + // ParamsStoreKeyBridgeContractStartHeight stores the bridge contract deployed height + ParamsStoreKeyBridgeContractStartHeight = []byte("BridgeContractChainHeight") + + // ParamsStoreKeyBridgeContractChainID stores the bridge chain id + ParamsStoreKeyBridgeContractChainID = []byte("BridgeChainID") + + // ParamsStoreKeyCosmosCoinDenom stores native cosmos coin denom + ParamsStoreKeyCosmosCoinDenom = []byte("CosmosCoinDenom") + + // ParamsStoreKeyCosmosCoinErc20Contract store L1 erc20 contract address of cosmos native coin + ParamsStoreKeyCosmosCoinErc20Contract = []byte("CosmosCoinErc20Contract") + + // ParamsStoreKeySignedValsetsWindow stores the signed blocks window + ParamsStoreKeySignedValsetsWindow = []byte("SignedValsetsWindow") + + // ParamsStoreKeySignedBatchesWindow stores the signed blocks window + ParamsStoreKeySignedBatchesWindow = []byte("SignedBatchesWindow") + + // ParamsStoreKeySignedClaimsWindow stores the signed blocks window + ParamsStoreKeySignedClaimsWindow = []byte("SignedClaimsWindow") + + // ParamsStoreKeyTargetBatchTimeout stores + ParamsStoreKeyTargetBatchTimeout = []byte("TargetBatchTimeout") + + // ParamsStoreKeyAverageBlockTime stores the average block time of the Injective Chain in milliseconds + ParamsStoreKeyAverageBlockTime = []byte("AverageBlockTime") + + // ParamsStoreKeyAverageEthereumBlockTime stores the average block time of Ethereum in milliseconds + ParamsStoreKeyAverageEthereumBlockTime = []byte("AverageEthereumBlockTime") + + // ParamsStoreSlashFractionValset stores the slash fraction valset + ParamsStoreSlashFractionValset = []byte("SlashFractionValset") + + // ParamsStoreSlashFractionBatch stores the slash fraction Batch + ParamsStoreSlashFractionBatch = []byte("SlashFractionBatch") + + // ParamsStoreSlashFractionClaim stores the slash fraction Claim + ParamsStoreSlashFractionClaim = []byte("SlashFractionClaim") + + // ParamsStoreSlashFractionConflictingClaim stores the slash fraction ConflictingClaim + ParamsStoreSlashFractionConflictingClaim = []byte("SlashFractionConflictingClaim") + + // ParamStoreUnbondSlashingValsetsWindow stores unbond slashing valset window + ParamStoreUnbondSlashingValsetsWindow = []byte("UnbondSlashingValsetsWindow") + + // ParamStoreClaimSlashingEnabled stores ClaimSlashing is enabled or not + ParamStoreClaimSlashingEnabled = []byte("ClaimSlashingEnabled") + + // ParamStoreSlashFractionBadEthSignature stores the amount by which a validator making a fraudulent eth signature will be slashed + ParamStoreSlashFractionBadEthSignature = []byte("SlashFractionBadEthSignature") + + // ParamStoreValsetRewardAmount is the amount of the coin, both denom and amount to issue + // to a relayer when they relay a valset + ParamStoreValsetRewardAmount = []byte("ValsetReward") + + // Ensure that params implements the proper interface + _ paramtypes.ParamSet = &Params{} +) + +// ParamKeyTable for auth module +func ParamKeyTable() paramtypes.KeyTable { + return paramtypes.NewKeyTable().RegisterParamSet(&Params{}) +} + +// ParamSetPairs implements the ParamSet interface and returns all the key/value pairs +// pairs of auth module's parameters. +func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { + return paramtypes.ParamSetPairs{ + paramtypes.NewParamSetPair(ParamsStoreKeyPeggyID, &p.PeggyId, validatePeggyID), + paramtypes.NewParamSetPair(ParamsStoreKeyContractHash, &p.ContractSourceHash, validateContractHash), + paramtypes.NewParamSetPair(ParamsStoreKeyBridgeContractAddress, &p.BridgeEthereumAddress, validateBridgeContractAddress), + paramtypes.NewParamSetPair(ParamsStoreKeyBridgeContractChainID, &p.BridgeChainId, validateBridgeChainID), + paramtypes.NewParamSetPair(ParamsStoreKeyCosmosCoinDenom, &p.CosmosCoinDenom, validateCosmosCoinDenom), + paramtypes.NewParamSetPair(ParamsStoreKeyCosmosCoinErc20Contract, &p.CosmosCoinErc20Contract, validateCosmosCoinErc20Contract), + paramtypes.NewParamSetPair(ParamsStoreKeySignedValsetsWindow, &p.SignedValsetsWindow, validateSignedValsetsWindow), + paramtypes.NewParamSetPair(ParamsStoreKeySignedBatchesWindow, &p.SignedBatchesWindow, validateSignedBatchesWindow), + paramtypes.NewParamSetPair(ParamsStoreKeySignedClaimsWindow, &p.SignedClaimsWindow, validateSignedClaimsWindow), + paramtypes.NewParamSetPair(ParamsStoreKeyAverageBlockTime, &p.AverageBlockTime, validateAverageBlockTime), + paramtypes.NewParamSetPair(ParamsStoreKeyTargetBatchTimeout, &p.TargetBatchTimeout, validateTargetBatchTimeout), + paramtypes.NewParamSetPair(ParamsStoreKeyAverageEthereumBlockTime, &p.AverageEthereumBlockTime, validateAverageEthereumBlockTime), + paramtypes.NewParamSetPair(ParamsStoreSlashFractionValset, &p.SlashFractionValset, validateSlashFractionValset), + paramtypes.NewParamSetPair(ParamsStoreSlashFractionBatch, &p.SlashFractionBatch, validateSlashFractionBatch), + paramtypes.NewParamSetPair(ParamsStoreSlashFractionClaim, &p.SlashFractionClaim, validateSlashFractionClaim), + paramtypes.NewParamSetPair(ParamsStoreSlashFractionConflictingClaim, &p.SlashFractionConflictingClaim, validateSlashFractionConflictingClaim), + paramtypes.NewParamSetPair(ParamStoreSlashFractionBadEthSignature, &p.SlashFractionBadEthSignature, validateSlashFractionBadEthSignature), + paramtypes.NewParamSetPair(ParamStoreUnbondSlashingValsetsWindow, &p.UnbondSlashingValsetsWindow, validateUnbondSlashingValsetsWindow), + paramtypes.NewParamSetPair(ParamStoreClaimSlashingEnabled, &p.ClaimSlashingEnabled, validateClaimSlashingEnabled), + paramtypes.NewParamSetPair(ParamsStoreKeyBridgeContractStartHeight, &p.BridgeContractStartHeight, validateBridgeContractStartHeight), + paramtypes.NewParamSetPair(ParamStoreValsetRewardAmount, &p.ValsetReward, validateValsetReward), + } +} diff --git a/chain/peggy/types/pool.pb.go b/chain/peggy/types/pool.pb.go index 741f4eb8..a7eabb67 100644 --- a/chain/peggy/types/pool.pb.go +++ b/chain/peggy/types/pool.pb.go @@ -6,8 +6,8 @@ package types import ( fmt "fmt" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" diff --git a/chain/peggy/types/proposal.go b/chain/peggy/types/proposal.go index 1eab6181..5d55dfbe 100644 --- a/chain/peggy/types/proposal.go +++ b/chain/peggy/types/proposal.go @@ -1,7 +1,7 @@ package types import ( - gov "github.com/cosmos/cosmos-sdk/x/gov/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" ) // constants @@ -11,15 +11,13 @@ const ( ) func init() { - gov.RegisterProposalType(ProposalTypeBlacklistEthereumAddresses) - gov.RegisterProposalTypeCodec(&BlacklistEthereumAddressesProposal{}, "injective/BlacklistEthereumAddressesProposal") - gov.RegisterProposalType(ProposalTypeRevokeEthereumBlacklist) - gov.RegisterProposalTypeCodec(&RevokeEthereumBlacklistProposal{}, "injective/RevokeEthereumBlacklistProposal") + govtypes.RegisterProposalType(ProposalTypeBlacklistEthereumAddresses) + govtypes.RegisterProposalType(ProposalTypeRevokeEthereumBlacklist) } // Implements Proposal Interface -var _ gov.Content = &BlacklistEthereumAddressesProposal{} -var _ gov.Content = &RevokeEthereumBlacklistProposal{} +var _ govtypes.Content = &BlacklistEthereumAddressesProposal{} +var _ govtypes.Content = &RevokeEthereumBlacklistProposal{} // GetTitle returns the title of this proposal. func (p *BlacklistEthereumAddressesProposal) GetTitle() string { @@ -46,7 +44,7 @@ func (p *BlacklistEthereumAddressesProposal) ValidateBasic() error { return err } } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // GetTitle returns the title of this proposal. @@ -74,5 +72,5 @@ func (p *RevokeEthereumBlacklistProposal) ValidateBasic() error { return err } } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } diff --git a/chain/peggy/types/proposal.pb.go b/chain/peggy/types/proposal.pb.go index 4b81335a..dd9ece2a 100644 --- a/chain/peggy/types/proposal.pb.go +++ b/chain/peggy/types/proposal.pb.go @@ -5,8 +5,9 @@ package types import ( fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/cosmos-proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" @@ -109,26 +110,28 @@ func init() { func init() { proto.RegisterFile("injective/peggy/v1/proposal.proto", fileDescriptor_e5b158ea063afb2f) } var fileDescriptor_e5b158ea063afb2f = []byte{ - // 290 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0xcc, 0xcc, 0xcb, 0x4a, - 0x4d, 0x2e, 0xc9, 0x2c, 0x4b, 0xd5, 0x2f, 0x48, 0x4d, 0x4f, 0xaf, 0xd4, 0x2f, 0x33, 0xd4, 0x2f, - 0x28, 0xca, 0x2f, 0xc8, 0x2f, 0x4e, 0xcc, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x82, - 0x2b, 0xd1, 0x03, 0x2b, 0xd1, 0x2b, 0x33, 0x94, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x07, 0x4b, 0xeb, - 0x83, 0x58, 0x10, 0x95, 0x4a, 0xd3, 0x19, 0xb9, 0x94, 0x9c, 0x72, 0x12, 0x93, 0xb3, 0x73, 0x32, - 0x8b, 0x4b, 0x5c, 0x4b, 0x32, 0x52, 0x8b, 0x52, 0x4b, 0x73, 0x1d, 0x53, 0x52, 0x8a, 0x52, 0x8b, - 0x8b, 0x53, 0x8b, 0x03, 0xa0, 0xc6, 0x0a, 0x89, 0x70, 0xb1, 0x96, 0x64, 0x96, 0xe4, 0xa4, 0x4a, - 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06, 0x41, 0x38, 0x42, 0x0a, 0x5c, 0xdc, 0x29, 0xa9, 0xc5, 0xc9, - 0x45, 0x99, 0x05, 0x25, 0x99, 0xf9, 0x79, 0x12, 0x4c, 0x60, 0x39, 0x64, 0x21, 0x21, 0x7d, 0x2e, - 0xe1, 0x24, 0x98, 0xe9, 0xf1, 0x89, 0x30, 0x63, 0x25, 0x98, 0x15, 0x98, 0x35, 0x38, 0x83, 0x84, - 0xe0, 0x52, 0x70, 0x0b, 0xad, 0x38, 0x3a, 0x16, 0xc8, 0x33, 0xbc, 0x58, 0x20, 0xcf, 0xa0, 0x34, - 0x85, 0x91, 0x4b, 0x3e, 0x28, 0xb5, 0x2c, 0x3f, 0x3b, 0x15, 0xe6, 0x2c, 0xb8, 0x3b, 0x07, 0xd0, - 0x59, 0x4e, 0xa9, 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, 0xe5, 0x9d, 0x9e, - 0x59, 0x92, 0x51, 0x9a, 0xa4, 0x97, 0x9c, 0x9f, 0xab, 0xef, 0x09, 0x0b, 0x7f, 0x9f, 0xc4, 0xa4, - 0x62, 0x7d, 0x78, 0x6c, 0xe8, 0x26, 0xe7, 0x17, 0xa5, 0x22, 0x73, 0x33, 0x12, 0x33, 0xf3, 0xf4, - 0x73, 0xf3, 0x53, 0x4a, 0x73, 0x52, 0x8b, 0xa1, 0xb1, 0x59, 0x52, 0x59, 0x90, 0x5a, 0x9c, 0xc4, - 0x06, 0x8e, 0x1e, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa7, 0x7d, 0x6a, 0x89, 0xed, 0x01, - 0x00, 0x00, + // 323 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x52, 0x3b, 0x4e, 0xc3, 0x40, + 0x10, 0xf5, 0x12, 0x81, 0x14, 0xd3, 0x99, 0x14, 0x21, 0x85, 0x13, 0x52, 0xa0, 0x34, 0xf1, 0xca, + 0xa2, 0xa3, 0x23, 0x88, 0x02, 0x41, 0x81, 0x52, 0xd2, 0x44, 0xfe, 0x8c, 0x9c, 0x25, 0xb6, 0x67, + 0xb5, 0x3b, 0x59, 0x29, 0x37, 0xa0, 0xe4, 0x08, 0x39, 0x03, 0x82, 0x3b, 0x20, 0xaa, 0x94, 0x94, + 0x28, 0x69, 0x38, 0x06, 0xc2, 0x3f, 0xe5, 0x08, 0x74, 0xfb, 0xde, 0x3c, 0xcd, 0x7b, 0xab, 0x37, + 0xf6, 0x99, 0xc8, 0x9f, 0x20, 0x22, 0x61, 0x80, 0x4b, 0x48, 0x92, 0x15, 0x37, 0x3e, 0x97, 0x0a, + 0x25, 0xea, 0x20, 0xf5, 0xa4, 0x42, 0x42, 0xc7, 0x69, 0x24, 0x5e, 0x21, 0xf1, 0x8c, 0xdf, 0x3b, + 0x8d, 0x50, 0x67, 0xa8, 0x67, 0x85, 0x82, 0x97, 0xa0, 0x94, 0xf7, 0x3a, 0x09, 0x26, 0x58, 0xf2, + 0x7f, 0xaf, 0x92, 0x1d, 0xbe, 0x33, 0x7b, 0x38, 0x49, 0x83, 0x68, 0x91, 0x0a, 0x4d, 0x37, 0x34, + 0x07, 0x05, 0xcb, 0xec, 0x2a, 0x8e, 0x15, 0x68, 0x0d, 0xfa, 0xa1, 0x72, 0x74, 0x3a, 0xf6, 0x21, + 0x09, 0x4a, 0xa1, 0xcb, 0x06, 0x6c, 0xd4, 0x9e, 0x96, 0xc0, 0x19, 0xd8, 0xc7, 0x31, 0xe8, 0x48, + 0x09, 0x49, 0x02, 0xf3, 0xee, 0x41, 0x31, 0xdb, 0xa7, 0x1c, 0x6e, 0x9f, 0x84, 0xf5, 0xf6, 0x59, + 0x50, 0xaf, 0xed, 0xb6, 0x06, 0xad, 0x51, 0x7b, 0xea, 0x34, 0xa3, 0xc6, 0xf0, 0xf2, 0xfc, 0x79, + 0xdd, 0xb7, 0x7e, 0xd6, 0x7d, 0xeb, 0xf3, 0x6d, 0xdc, 0xab, 0xf2, 0x27, 0x68, 0x3c, 0xe3, 0x87, + 0x40, 0x81, 0xef, 0x5d, 0x63, 0x4e, 0x90, 0xd3, 0xf0, 0x95, 0xd9, 0xfd, 0x29, 0x18, 0x5c, 0x40, + 0x1d, 0xba, 0xf9, 0xc5, 0xbf, 0x0d, 0x3d, 0x81, 0x8f, 0xad, 0xcb, 0x36, 0x5b, 0x97, 0x7d, 0x6f, + 0x5d, 0xf6, 0xb2, 0x73, 0xad, 0xcd, 0xce, 0xb5, 0xbe, 0x76, 0xae, 0xf5, 0x78, 0x97, 0x08, 0x9a, + 0x2f, 0x43, 0x2f, 0xc2, 0x8c, 0xdf, 0xd6, 0xb5, 0xde, 0x07, 0xa1, 0xe6, 0x4d, 0xc9, 0xe3, 0x08, + 0x15, 0xec, 0xc3, 0x79, 0x20, 0x72, 0x9e, 0x61, 0xbc, 0x4c, 0x41, 0x57, 0x47, 0x42, 0x2b, 0x09, + 0x3a, 0x3c, 0x2a, 0xaa, 0xbd, 0xf8, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xe1, 0x03, 0x58, 0x94, 0x44, + 0x02, 0x00, 0x00, } func (m *BlacklistEthereumAddressesProposal) Marshal() (dAtA []byte, err error) { diff --git a/chain/peggy/types/query.pb.go b/chain/peggy/types/query.pb.go index 82ba7de6..45b6c3ce 100644 --- a/chain/peggy/types/query.pb.go +++ b/chain/peggy/types/query.pb.go @@ -6,9 +6,9 @@ package types import ( context "context" fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" @@ -1759,7 +1759,8 @@ func (m *QueryPendingSendToEthResponse) GetUnbatchedTransfers() []*OutgoingTrans return nil } -// QueryModuleStateRequest is the request type for the Query/PeggyModuleState RPC method. +// QueryModuleStateRequest is the request type for the Query/PeggyModuleState +// RPC method. type QueryModuleStateRequest struct { } @@ -1841,6 +1842,86 @@ func (m *QueryModuleStateResponse) GetState() *GenesisState { return nil } +type MissingNoncesRequest struct { +} + +func (m *MissingNoncesRequest) Reset() { *m = MissingNoncesRequest{} } +func (m *MissingNoncesRequest) String() string { return proto.CompactTextString(m) } +func (*MissingNoncesRequest) ProtoMessage() {} +func (*MissingNoncesRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_702b8e5c1503495b, []int{40} +} +func (m *MissingNoncesRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MissingNoncesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MissingNoncesRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MissingNoncesRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_MissingNoncesRequest.Merge(m, src) +} +func (m *MissingNoncesRequest) XXX_Size() int { + return m.Size() +} +func (m *MissingNoncesRequest) XXX_DiscardUnknown() { + xxx_messageInfo_MissingNoncesRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_MissingNoncesRequest proto.InternalMessageInfo + +type MissingNoncesResponse struct { + OperatorAddresses []string `protobuf:"bytes,1,rep,name=operator_addresses,json=operatorAddresses,proto3" json:"operator_addresses,omitempty"` +} + +func (m *MissingNoncesResponse) Reset() { *m = MissingNoncesResponse{} } +func (m *MissingNoncesResponse) String() string { return proto.CompactTextString(m) } +func (*MissingNoncesResponse) ProtoMessage() {} +func (*MissingNoncesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_702b8e5c1503495b, []int{41} +} +func (m *MissingNoncesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MissingNoncesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MissingNoncesResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MissingNoncesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MissingNoncesResponse.Merge(m, src) +} +func (m *MissingNoncesResponse) XXX_Size() int { + return m.Size() +} +func (m *MissingNoncesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MissingNoncesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MissingNoncesResponse proto.InternalMessageInfo + +func (m *MissingNoncesResponse) GetOperatorAddresses() []string { + if m != nil { + return m.OperatorAddresses + } + return nil +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "injective.peggy.v1.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "injective.peggy.v1.QueryParamsResponse") @@ -1882,118 +1963,125 @@ func init() { proto.RegisterType((*QueryPendingSendToEthResponse)(nil), "injective.peggy.v1.QueryPendingSendToEthResponse") proto.RegisterType((*QueryModuleStateRequest)(nil), "injective.peggy.v1.QueryModuleStateRequest") proto.RegisterType((*QueryModuleStateResponse)(nil), "injective.peggy.v1.QueryModuleStateResponse") + proto.RegisterType((*MissingNoncesRequest)(nil), "injective.peggy.v1.MissingNoncesRequest") + proto.RegisterType((*MissingNoncesResponse)(nil), "injective.peggy.v1.MissingNoncesResponse") } func init() { proto.RegisterFile("injective/peggy/v1/query.proto", fileDescriptor_702b8e5c1503495b) } var fileDescriptor_702b8e5c1503495b = []byte{ - // 1695 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x99, 0x4d, 0x73, 0xd4, 0x46, - 0x1a, 0xc7, 0x2d, 0x2f, 0xb6, 0xe1, 0x61, 0x01, 0xd3, 0x1e, 0xc3, 0x58, 0xb6, 0xc7, 0x83, 0x78, - 0x59, 0x1b, 0xec, 0x91, 0x3d, 0xbc, 0x2d, 0xbb, 0x85, 0x01, 0x7b, 0x0d, 0x45, 0x01, 0x6b, 0xef, - 0xe0, 0x5a, 0x52, 0x09, 0x89, 0x4a, 0x33, 0xd3, 0x96, 0x95, 0x8c, 0xd5, 0x46, 0x6a, 0xbb, 0x98, - 0xa2, 0x48, 0x55, 0x72, 0x49, 0x2e, 0xa9, 0xa2, 0x2a, 0xa7, 0xe4, 0x40, 0x72, 0xce, 0x2d, 0xb7, - 0x1c, 0x72, 0xc8, 0x91, 0xdc, 0xa8, 0xa4, 0x52, 0x95, 0x53, 0x2a, 0x05, 0xf9, 0x20, 0x29, 0xb5, - 0x5a, 0x1a, 0xbd, 0xb4, 0x34, 0x1a, 0x93, 0x13, 0x56, 0xf7, 0xf3, 0xf2, 0x7b, 0x5a, 0xad, 0xa7, - 0xfb, 0xcf, 0x40, 0xc9, 0xb4, 0xde, 0xc7, 0x0d, 0x6a, 0xee, 0x62, 0x75, 0x1b, 0x1b, 0x46, 0x5b, - 0xdd, 0x5d, 0x50, 0x1f, 0xed, 0x60, 0xbb, 0x5d, 0xd9, 0xb6, 0x09, 0x25, 0x08, 0x05, 0xf3, 0x15, - 0x36, 0x5f, 0xd9, 0x5d, 0x90, 0xcb, 0x02, 0x1f, 0x03, 0x5b, 0xd8, 0x31, 0x1d, 0xcf, 0x4b, 0x16, - 0x45, 0xa5, 0xed, 0x6d, 0xec, 0xcf, 0x4f, 0x0a, 0xe6, 0xb7, 0x1c, 0x23, 0x6b, 0x7a, 0x9b, 0x90, - 0x56, 0x46, 0xf4, 0xba, 0x4e, 0x1b, 0x9b, 0x7c, 0x7e, 0xc2, 0x20, 0xc4, 0x68, 0x61, 0x55, 0xdf, - 0x36, 0x55, 0xdd, 0xb2, 0x08, 0xd5, 0xa9, 0x49, 0x2c, 0x3f, 0x78, 0xc1, 0x20, 0x06, 0x61, 0x7f, - 0xaa, 0xee, 0x5f, 0xde, 0xa8, 0x52, 0x00, 0xf4, 0x3f, 0xb7, 0xec, 0x35, 0xdd, 0xd6, 0xb7, 0x9c, - 0x1a, 0x7e, 0xb4, 0x83, 0x1d, 0xaa, 0xac, 0xc2, 0x48, 0x64, 0xd4, 0xd9, 0x26, 0x96, 0x83, 0xd1, - 0x3f, 0x61, 0x70, 0x9b, 0x8d, 0x14, 0xa5, 0xb2, 0x34, 0x7d, 0xb0, 0x2a, 0x57, 0x92, 0xab, 0x54, - 0xf1, 0x7c, 0x96, 0xf6, 0xbd, 0xf8, 0x6d, 0xaa, 0xaf, 0xc6, 0xed, 0x95, 0x71, 0x18, 0x63, 0x01, - 0x97, 0x77, 0x6c, 0x1b, 0x5b, 0xf4, 0xff, 0x7a, 0xcb, 0xc1, 0xd4, 0xcf, 0xb6, 0x06, 0xb2, 0x68, - 0x92, 0x27, 0xad, 0xc2, 0xe0, 0x2e, 0x1b, 0xc9, 0x4a, 0xca, 0x7d, 0xb8, 0xa5, 0xb2, 0xc0, 0xd3, - 0x45, 0xf2, 0xf0, 0x7f, 0x50, 0x01, 0x06, 0x2c, 0x62, 0x35, 0x30, 0x8b, 0xb7, 0xaf, 0xe6, 0x3d, - 0x04, 0x10, 0x31, 0x97, 0x37, 0x80, 0xb8, 0x13, 0x81, 0x58, 0x26, 0xd6, 0x86, 0x69, 0x6f, 0x65, - 0x42, 0xa0, 0x22, 0x0c, 0xe9, 0xcd, 0xa6, 0x8d, 0x1d, 0xa7, 0xd8, 0x5f, 0x96, 0xa6, 0x0f, 0xd4, - 0xfc, 0x47, 0xe5, 0x61, 0x04, 0x2f, 0x08, 0xc6, 0xf1, 0x16, 0x61, 0xa8, 0xe1, 0x0d, 0x71, 0xbe, - 0x53, 0x22, 0xbe, 0x7b, 0x8e, 0x11, 0x75, 0xf7, 0x9d, 0x94, 0x2b, 0x70, 0x22, 0x19, 0xdd, 0x59, - 0x6a, 0xff, 0xd7, 0xa5, 0xca, 0x5e, 0xb7, 0x0d, 0x50, 0xb2, 0x5c, 0x39, 0xe0, 0x75, 0xd8, 0xcf, - 0x73, 0xb9, 0x7b, 0xe7, 0x6f, 0xb9, 0x09, 0x03, 0x2f, 0xa5, 0x0c, 0x25, 0x96, 0xe7, 0xae, 0xee, - 0x44, 0xb7, 0x4f, 0xb0, 0x69, 0x1f, 0xc0, 0x54, 0xaa, 0x05, 0xc7, 0xb8, 0x00, 0x43, 0xde, 0xcb, - 0xf1, 0x29, 0xb2, 0xde, 0xa3, 0x6f, 0xaa, 0xdc, 0x84, 0xb3, 0x41, 0xe0, 0x35, 0x6c, 0x35, 0x4d, - 0xcb, 0x88, 0xc4, 0x5f, 0x6a, 0xdf, 0x68, 0x36, 0x6d, 0x7f, 0x99, 0x42, 0xef, 0x50, 0x8a, 0xbe, - 0xc3, 0x06, 0x9c, 0xcb, 0x15, 0xe7, 0x8d, 0x60, 0x8f, 0x41, 0x81, 0x25, 0x59, 0x72, 0x1b, 0xc3, - 0x4d, 0xec, 0xbf, 0x3d, 0x65, 0x1d, 0x46, 0x63, 0xe3, 0x3c, 0xcd, 0xbf, 0xe1, 0x40, 0x9d, 0x8f, - 0xf9, 0x89, 0x26, 0x45, 0x89, 0x7c, 0x47, 0xa7, 0xd6, 0xb1, 0x57, 0x56, 0x60, 0x26, 0x5e, 0x12, - 0xb3, 0xeb, 0x71, 0x65, 0x8c, 0xe4, 0x0a, 0x8b, 0xc2, 0x70, 0xe2, 0x2b, 0x30, 0xc0, 0x08, 0xf8, - 0x5e, 0x3f, 0x29, 0xa2, 0x5d, 0xdd, 0xa1, 0x06, 0x31, 0x2d, 0x63, 0xfd, 0xb1, 0x17, 0xc8, 0xf3, - 0x50, 0xa6, 0x60, 0x92, 0x25, 0x8a, 0x4d, 0xe3, 0x60, 0x13, 0x69, 0x7c, 0x9b, 0x09, 0x0c, 0x78, - 0xf6, 0xab, 0x30, 0x54, 0xf7, 0x86, 0xf8, 0x6a, 0xe5, 0xca, 0xef, 0xfb, 0x28, 0x75, 0xbe, 0x4b, - 0xa3, 0xf5, 0x75, 0xff, 0xd0, 0xd0, 0x0c, 0x0c, 0x37, 0x88, 0x45, 0x6d, 0xbd, 0x41, 0xb5, 0x68, - 0x93, 0x38, 0xe2, 0x8f, 0xdf, 0xe0, 0xcb, 0xf9, 0x2e, 0x94, 0xd3, 0x73, 0xbc, 0xf9, 0x22, 0x3e, - 0xe4, 0x8d, 0x8d, 0x0d, 0xfa, 0x5f, 0xfc, 0x5f, 0x08, 0x2f, 0x8b, 0xa2, 0x73, 0xec, 0x6b, 0x89, - 0x46, 0x72, 0x32, 0xa5, 0x91, 0x70, 0x57, 0x8f, 0xbc, 0xd3, 0x47, 0x2e, 0xc3, 0x78, 0xb0, 0xd5, - 0x56, 0x76, 0xb1, 0x95, 0x7b, 0x8f, 0xb6, 0x60, 0x42, 0xec, 0xc8, 0xc9, 0xee, 0xc2, 0x70, 0x4b, - 0x77, 0xa8, 0xd6, 0x68, 0xe9, 0xe6, 0x96, 0x86, 0x5d, 0x0b, 0xbe, 0xb6, 0x8a, 0x88, 0xd0, 0x0d, - 0xb3, 0xec, 0x9a, 0xb2, 0x58, 0xb5, 0xc3, 0xad, 0xc8, 0xb3, 0x32, 0x0f, 0x45, 0x96, 0x6d, 0xa5, - 0xb6, 0x5c, 0x9d, 0x5f, 0x27, 0xff, 0xc1, 0x16, 0x09, 0x9f, 0x1d, 0xd8, 0x6e, 0x54, 0xe7, 0x39, - 0xa1, 0xf7, 0xa0, 0xbc, 0xc7, 0xdf, 0x4a, 0xd4, 0x83, 0xc3, 0x15, 0x60, 0xa0, 0xe9, 0x0e, 0xf8, - 0x2e, 0xec, 0x01, 0x9d, 0x83, 0xa3, 0x0d, 0xe2, 0x6c, 0x11, 0x47, 0x23, 0xb6, 0x69, 0x98, 0x96, - 0x4e, 0x71, 0x93, 0xbd, 0x96, 0xfd, 0xb5, 0x61, 0x6f, 0x62, 0x35, 0x18, 0x0f, 0x88, 0x58, 0xe0, - 0x75, 0xc2, 0xd2, 0x84, 0x88, 0x92, 0xe1, 0x03, 0xa2, 0xa8, 0x47, 0x87, 0x28, 0x59, 0x44, 0x6f, - 0x44, 0x35, 0x38, 0xc9, 0xe3, 0xb7, 0xb0, 0xa1, 0x53, 0x7c, 0x07, 0xb7, 0x9d, 0x25, 0xf7, 0x20, - 0x32, 0x9b, 0x3a, 0x25, 0x36, 0xdf, 0x50, 0x6e, 0xcc, 0x5d, 0x7f, 0x4c, 0x8b, 0xbe, 0xdc, 0xe1, - 0xdd, 0x98, 0xb1, 0xf2, 0x91, 0xc4, 0x9b, 0x74, 0x76, 0xd0, 0xa0, 0x8c, 0x29, 0x38, 0x88, 0xe9, - 0x66, 0x2c, 0x2c, 0x60, 0xba, 0xe9, 0x67, 0x5f, 0x80, 0x02, 0xb1, 0xdd, 0x2f, 0x9f, 0xda, 0x11, - 0x00, 0x6f, 0xf7, 0x8f, 0x84, 0xe7, 0x7c, 0x86, 0xeb, 0xbc, 0x49, 0x45, 0x11, 0x56, 0x3a, 0x31, - 0xbb, 0x25, 0x55, 0x3e, 0x91, 0xe0, 0x74, 0x66, 0x88, 0x80, 0xbf, 0x97, 0xc5, 0xd9, 0x4b, 0x2d, - 0xef, 0xc0, 0x19, 0x01, 0xc8, 0x6a, 0xd2, 0x32, 0x35, 0xb8, 0x94, 0x1e, 0xfc, 0x43, 0xa8, 0xe4, - 0x0b, 0xbe, 0xb7, 0x72, 0x63, 0xcb, 0xdc, 0x9f, 0x58, 0xe6, 0x45, 0x7e, 0xa6, 0xf2, 0x23, 0xeb, - 0x3e, 0xb6, 0x9a, 0xeb, 0x64, 0x85, 0x6e, 0xa2, 0xd3, 0x70, 0xd8, 0xc1, 0x56, 0x13, 0xc7, 0x73, - 0x1c, 0xf2, 0x46, 0x7d, 0xff, 0x9f, 0x24, 0xfe, 0xa6, 0xe3, 0x01, 0x02, 0xde, 0xb7, 0xa0, 0x40, - 0x6d, 0xdd, 0x72, 0x36, 0xb0, 0xed, 0x68, 0xa6, 0xa5, 0x45, 0x4f, 0x9e, 0x33, 0x99, 0x4d, 0x9b, - 0xfb, 0xad, 0x3f, 0xae, 0xa1, 0x20, 0xc6, 0x6d, 0x8b, 0x1f, 0x67, 0xe8, 0x01, 0x8c, 0xec, 0x58, - 0x5e, 0xb8, 0xa6, 0x16, 0xcc, 0x17, 0xfb, 0x7b, 0x0b, 0x1c, 0x84, 0xf0, 0x07, 0x1d, 0x65, 0x0c, - 0x8e, 0xb3, 0x9a, 0xee, 0x91, 0xe6, 0x4e, 0x0b, 0xdf, 0xa7, 0x3a, 0x0d, 0xee, 0x20, 0x35, 0xde, - 0x42, 0x22, 0x53, 0xbc, 0xd2, 0x4b, 0x30, 0xe0, 0xb8, 0x03, 0xbc, 0x67, 0x96, 0x45, 0x04, 0xb7, - 0x3c, 0xb1, 0xe5, 0x39, 0x7a, 0xe6, 0xd5, 0xef, 0xc6, 0x60, 0x80, 0x05, 0x45, 0x0e, 0x0c, 0x7a, - 0xda, 0x03, 0x09, 0xf1, 0x93, 0x32, 0x47, 0xfe, 0x47, 0x57, 0x3b, 0x0f, 0x4e, 0x29, 0x7e, 0xfc, - 0xf3, 0x1f, 0x9f, 0xf7, 0x23, 0x34, 0x1c, 0xd2, 0x65, 0x5e, 0xaa, 0x67, 0x12, 0x1c, 0x8a, 0xe8, - 0x16, 0x34, 0x97, 0x1a, 0x54, 0x24, 0x7e, 0xe4, 0x4a, 0x5e, 0x73, 0x8e, 0x52, 0x66, 0x28, 0x32, - 0x2a, 0x76, 0x50, 0xbc, 0xab, 0x9f, 0xda, 0xf0, 0xec, 0xd1, 0xa7, 0x12, 0x1c, 0x8a, 0xe4, 0xc8, - 0x40, 0x12, 0x09, 0xa4, 0x0c, 0x24, 0xa1, 0x38, 0x12, 0xad, 0x8e, 0x87, 0xc4, 0x56, 0x27, 0x72, - 0xa1, 0xef, 0x8a, 0x12, 0x95, 0x49, 0x5d, 0x51, 0x62, 0x42, 0x28, 0x6b, 0x75, 0x38, 0xc0, 0x37, - 0x12, 0x8c, 0x0a, 0xb5, 0x0a, 0xba, 0x98, 0x2f, 0x57, 0x4c, 0x16, 0xc9, 0x97, 0x7a, 0x75, 0xe3, - 0xa8, 0x0a, 0x43, 0x9d, 0x40, 0x72, 0x07, 0xd5, 0xbf, 0xa4, 0xa8, 0x4f, 0xd8, 0xad, 0xe9, 0x29, - 0xfa, 0x5a, 0x02, 0x94, 0x94, 0x33, 0xa8, 0x9a, 0x9a, 0x32, 0x55, 0x1d, 0xc9, 0xe7, 0x7b, 0xf2, - 0xe1, 0x8c, 0x27, 0x18, 0xe3, 0x38, 0x1a, 0x4b, 0x2c, 0xa7, 0xed, 0xb3, 0xfc, 0x20, 0x41, 0x29, - 0x5b, 0xd0, 0xa0, 0xc5, 0xcc, 0xd4, 0x5d, 0x15, 0x95, 0x7c, 0x6d, 0xcf, 0xfe, 0xbc, 0x8c, 0x49, - 0x56, 0xc6, 0x71, 0x34, 0x9a, 0x28, 0xc3, 0xbd, 0x75, 0xa1, 0xe7, 0x12, 0x1c, 0x89, 0xdd, 0xea, - 0x90, 0x9a, 0x99, 0x33, 0x79, 0x71, 0x94, 0xe7, 0xf3, 0x3b, 0x70, 0xaa, 0x69, 0x46, 0xa5, 0xa0, - 0x72, 0x87, 0x8a, 0xd8, 0x7a, 0xa3, 0x85, 0x55, 0x76, 0x79, 0x54, 0x9f, 0xf0, 0xb3, 0xe3, 0x29, - 0xfa, 0x52, 0x82, 0x91, 0x5b, 0x98, 0x26, 0x8e, 0x99, 0x99, 0xf4, 0xfe, 0x15, 0x33, 0x95, 0x17, - 0x72, 0x9b, 0x06, 0x7c, 0xa7, 0x19, 0xdf, 0x14, 0x9a, 0x0c, 0x35, 0x3d, 0xcf, 0x56, 0x73, 0x8f, - 0x31, 0x8d, 0x12, 0x0d, 0xd3, 0x4d, 0xf4, 0x14, 0x0e, 0x04, 0xd2, 0x10, 0x4d, 0xa7, 0xa6, 0x89, - 0xe9, 0x51, 0x79, 0x26, 0x87, 0x25, 0x07, 0x19, 0x67, 0x20, 0xa3, 0x68, 0x24, 0xf6, 0xdf, 0x5e, - 0x1b, 0x6e, 0xc6, 0xe7, 0x12, 0x1c, 0x4d, 0x88, 0x35, 0x94, 0x5e, 0x6e, 0x9a, 0xf2, 0x93, 0xab, - 0xbd, 0xb8, 0xa4, 0x7f, 0xc3, 0x8c, 0x4c, 0x25, 0xdc, 0x85, 0x3e, 0x46, 0xdf, 0x4b, 0x30, 0x99, - 0xa9, 0x6b, 0xd1, 0xd5, 0x3c, 0xfb, 0x3b, 0x55, 0x56, 0xcb, 0x8b, 0x7b, 0x75, 0xe7, 0x45, 0x4c, - 0xb0, 0x22, 0x8e, 0xa1, 0x42, 0xbc, 0x08, 0xf6, 0x71, 0x7c, 0x21, 0xc1, 0x88, 0x40, 0x47, 0xa2, - 0xf3, 0xd9, 0xef, 0x4f, 0xa8, 0x6c, 0xe5, 0x0b, 0xbd, 0x39, 0x71, 0xc0, 0xe3, 0x0c, 0xf0, 0x28, - 0x3a, 0x12, 0x03, 0x64, 0xc7, 0x4b, 0x44, 0x26, 0x66, 0x1c, 0x2f, 0x22, 0xb1, 0x9a, 0x71, 0xbc, - 0x08, 0xd5, 0xa7, 0xe8, 0x78, 0xf1, 0x96, 0xca, 0xef, 0xdc, 0xe8, 0x2b, 0x09, 0xfe, 0x1e, 0x56, - 0x60, 0x68, 0x36, 0x35, 0x85, 0x40, 0xda, 0xc9, 0x73, 0x39, 0xad, 0x39, 0x4f, 0x95, 0xf1, 0xcc, - 0xa2, 0xb3, 0xe1, 0x33, 0x24, 0x26, 0x9f, 0x54, 0xa6, 0xac, 0xdc, 0xaf, 0xd5, 0x13, 0x7d, 0x2e, - 0x61, 0x58, 0x91, 0x65, 0x10, 0x0a, 0xa4, 0x5e, 0x06, 0xa1, 0x48, 0xe6, 0xe5, 0x23, 0x64, 0x60, - 0xac, 0x9f, 0x30, 0x11, 0xf8, 0xa3, 0x04, 0x63, 0xb7, 0x30, 0x0d, 0xdd, 0xea, 0x43, 0x02, 0x0c, - 0x5d, 0xce, 0x00, 0xc8, 0x92, 0x6c, 0x19, 0xc7, 0x48, 0x3e, 0xad, 0x27, 0xaa, 0x85, 0xfd, 0x64, - 0xa0, 0x35, 0xb9, 0xbf, 0xf6, 0x01, 0x6e, 0x3b, 0x5a, 0xbd, 0xad, 0x05, 0x52, 0x02, 0x7d, 0xeb, - 0xb5, 0xee, 0x48, 0x2d, 0x6e, 0xeb, 0x5e, 0xc8, 0x09, 0xd3, 0x91, 0x6c, 0xf2, 0x95, 0x9e, 0x5d, - 0x02, 0xf2, 0x59, 0x46, 0x7e, 0x06, 0x9d, 0xea, 0x4a, 0xee, 0x76, 0xf4, 0x5f, 0x24, 0x98, 0x88, - 0x33, 0x87, 0x45, 0x15, 0xfa, 0x57, 0x4e, 0x12, 0x81, 0x12, 0x93, 0x97, 0xf6, 0xee, 0x1b, 0x94, - 0x73, 0x91, 0x95, 0xa3, 0xa2, 0xb9, 0xae, 0xe5, 0x84, 0x55, 0x23, 0xfa, 0x4c, 0x82, 0xe1, 0x35, - 0xd7, 0x21, 0xa4, 0x3f, 0xd0, 0xb9, 0x54, 0x9e, 0xa4, 0x80, 0x91, 0x67, 0xf3, 0x19, 0x73, 0xcc, - 0x12, 0xc3, 0x2c, 0xa2, 0x63, 0xa1, 0x1f, 0x7b, 0x98, 0x99, 0xc6, 0xa4, 0xcb, 0x12, 0x7e, 0xf1, - 0xaa, 0x24, 0xbd, 0x7c, 0x55, 0x92, 0x7e, 0x7f, 0x55, 0x92, 0x9e, 0xbd, 0x2e, 0xf5, 0xbd, 0x7c, - 0x5d, 0xea, 0xfb, 0xf5, 0x75, 0xa9, 0xef, 0xed, 0x3b, 0x86, 0x49, 0x37, 0x77, 0xea, 0x95, 0x06, - 0xd9, 0x52, 0x6f, 0xfb, 0x19, 0xef, 0xea, 0x75, 0x47, 0x0d, 0xf2, 0xcf, 0x35, 0x88, 0x8d, 0xc3, - 0x8f, 0x9b, 0xba, 0x69, 0xf1, 0xf8, 0x0e, 0x4f, 0xc8, 0x7e, 0x7a, 0xaa, 0x0f, 0xb2, 0x5f, 0x7a, - 0xce, 0xff, 0x19, 0x00, 0x00, 0xff, 0xff, 0x51, 0x2c, 0xf1, 0x20, 0xf3, 0x1a, 0x00, 0x00, + // 1767 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x99, 0xcf, 0x6f, 0xdb, 0x46, + 0x16, 0xc7, 0x4d, 0x6f, 0x6c, 0xc7, 0x2f, 0x9b, 0xc4, 0x1e, 0xcb, 0x89, 0x4c, 0xdb, 0xb2, 0xc2, + 0xfc, 0x58, 0x3b, 0xb1, 0x45, 0x5b, 0xf9, 0xb5, 0xd9, 0x45, 0x9c, 0xc4, 0x5e, 0x27, 0x08, 0x92, + 0xac, 0xbd, 0x8a, 0xb1, 0x59, 0x6c, 0xd3, 0x12, 0x94, 0x34, 0xa6, 0xd9, 0xca, 0x1c, 0x85, 0xa4, + 0x8d, 0x08, 0x41, 0x0a, 0xb4, 0x97, 0x16, 0x28, 0x0a, 0x04, 0xe8, 0xa9, 0x3d, 0xa4, 0x3d, 0xf7, + 0xd6, 0x7b, 0x0f, 0x3d, 0x15, 0xe9, 0x2d, 0x68, 0x51, 0xa0, 0xa7, 0xa2, 0x48, 0xfa, 0x87, 0x14, + 0x9c, 0x19, 0x52, 0x22, 0x39, 0xa4, 0x28, 0xa7, 0xa7, 0x98, 0x33, 0xef, 0xc7, 0xe7, 0x0d, 0x87, + 0x6f, 0xe6, 0x1b, 0x41, 0xc1, 0xb4, 0xde, 0xc5, 0x35, 0xd7, 0xdc, 0xc3, 0x6a, 0x13, 0x1b, 0x46, + 0x4b, 0xdd, 0x5b, 0x52, 0x1f, 0xed, 0x62, 0xbb, 0x55, 0x6a, 0xda, 0xc4, 0x25, 0x08, 0x05, 0xf3, + 0x25, 0x3a, 0x5f, 0xda, 0x5b, 0x92, 0x8b, 0x02, 0x1f, 0x03, 0x5b, 0xd8, 0x31, 0x1d, 0xe6, 0x25, + 0xcf, 0x08, 0x2c, 0x9a, 0xba, 0xad, 0xef, 0xf8, 0x06, 0xa2, 0xb4, 0x6e, 0xab, 0x89, 0xfd, 0xf9, + 0x69, 0xc1, 0xfc, 0x8e, 0x63, 0xa4, 0x4d, 0x37, 0x09, 0x69, 0xa4, 0x44, 0xaf, 0xea, 0x6e, 0x6d, + 0x9b, 0xcf, 0x4f, 0x19, 0x84, 0x18, 0x0d, 0xac, 0xea, 0x4d, 0x53, 0xd5, 0x2d, 0x8b, 0xb8, 0xba, + 0x6b, 0x12, 0xcb, 0x0f, 0x9e, 0x33, 0x88, 0x41, 0xe8, 0x9f, 0xaa, 0xf7, 0x17, 0x1b, 0x55, 0x72, + 0x80, 0xfe, 0xe3, 0xad, 0xcb, 0x06, 0x2d, 0xa3, 0x82, 0x1f, 0xed, 0x62, 0xc7, 0x55, 0xd6, 0x61, + 0x2c, 0x34, 0xea, 0x34, 0x89, 0xe5, 0x60, 0xf4, 0x77, 0x18, 0x64, 0xe5, 0xe6, 0xa5, 0xa2, 0x34, + 0x7b, 0xa8, 0x2c, 0x97, 0xe2, 0xcb, 0x58, 0x62, 0x3e, 0x2b, 0x07, 0x5e, 0xfc, 0x3a, 0xd3, 0x57, + 0xe1, 0xf6, 0xca, 0x24, 0x4c, 0xd0, 0x80, 0xab, 0xbb, 0xb6, 0x8d, 0x2d, 0xf7, 0xbf, 0x7a, 0xc3, + 0xc1, 0xae, 0x9f, 0x6d, 0x03, 0x64, 0xd1, 0x24, 0x4f, 0x5a, 0x86, 0xc1, 0x3d, 0x3a, 0x92, 0x96, + 0x94, 0xfb, 0x70, 0x4b, 0x65, 0x89, 0xa7, 0x0b, 0xe5, 0xe1, 0xff, 0xa0, 0x1c, 0x0c, 0x58, 0xc4, + 0xaa, 0x61, 0x1a, 0xef, 0x40, 0x85, 0x3d, 0x04, 0x10, 0x11, 0x97, 0x37, 0x80, 0xb8, 0x13, 0x82, + 0x58, 0x25, 0xd6, 0x96, 0x69, 0xef, 0xa4, 0x42, 0xa0, 0x3c, 0x0c, 0xe9, 0xf5, 0xba, 0x8d, 0x1d, + 0x27, 0xdf, 0x5f, 0x94, 0x66, 0x87, 0x2b, 0xfe, 0xa3, 0xf2, 0x30, 0x84, 0x17, 0x04, 0xe3, 0x78, + 0xcb, 0x30, 0x54, 0x63, 0x43, 0x9c, 0xef, 0x94, 0x88, 0xef, 0x9e, 0x63, 0x84, 0xdd, 0x7d, 0x27, + 0xe5, 0x0a, 0x9c, 0x88, 0x47, 0x77, 0x56, 0x5a, 0xff, 0xf6, 0xa8, 0xd2, 0xd7, 0x6d, 0x0b, 0x94, + 0x34, 0x57, 0x0e, 0x78, 0x1d, 0x0e, 0xf2, 0x5c, 0xde, 0xde, 0xf9, 0x4b, 0x66, 0xc2, 0xc0, 0x4b, + 0x29, 0x42, 0x81, 0xe6, 0xb9, 0xab, 0x3b, 0xe1, 0xed, 0x13, 0x6c, 0xda, 0x07, 0x30, 0x93, 0x68, + 0xc1, 0x31, 0x2e, 0xc0, 0x10, 0x7b, 0x39, 0x3e, 0x45, 0xda, 0x7b, 0xf4, 0x4d, 0x95, 0x9b, 0x70, + 0x36, 0x08, 0xbc, 0x81, 0xad, 0xba, 0x69, 0x19, 0xa1, 0xf8, 0x2b, 0xad, 0x1b, 0xf5, 0xba, 0xed, + 0x2f, 0x53, 0xc7, 0x3b, 0x94, 0xc2, 0xef, 0xb0, 0x06, 0xe7, 0x32, 0xc5, 0x79, 0x23, 0xd8, 0x63, + 0x90, 0xa3, 0x49, 0x56, 0xbc, 0xc6, 0x70, 0x13, 0xfb, 0x6f, 0x4f, 0xd9, 0x84, 0xf1, 0xc8, 0x38, + 0x4f, 0xf3, 0x4f, 0x18, 0xae, 0xf2, 0x31, 0x3f, 0xd1, 0xb4, 0x28, 0x91, 0xef, 0xe8, 0x54, 0xda, + 0xf6, 0xca, 0x1a, 0xcc, 0x45, 0x4b, 0xa2, 0x76, 0x3d, 0xae, 0x8c, 0x11, 0x5f, 0x61, 0x51, 0x18, + 0x4e, 0x7c, 0x05, 0x06, 0x28, 0x01, 0xdf, 0xeb, 0x27, 0x45, 0xb4, 0xeb, 0xbb, 0xae, 0x41, 0x4c, + 0xcb, 0xd8, 0x7c, 0xcc, 0x02, 0x31, 0x0f, 0x65, 0x06, 0xa6, 0x69, 0xa2, 0xc8, 0x34, 0x0e, 0x36, + 0x91, 0xc6, 0xb7, 0x99, 0xc0, 0x80, 0x67, 0xbf, 0x0a, 0x43, 0x55, 0x36, 0xc4, 0x57, 0x2b, 0x53, + 0x7e, 0xdf, 0x47, 0xa9, 0xf2, 0x5d, 0x1a, 0xae, 0xaf, 0xfb, 0x87, 0x86, 0xe6, 0x60, 0xa4, 0x46, + 0x2c, 0xd7, 0xd6, 0x6b, 0xae, 0x16, 0x6e, 0x12, 0x47, 0xfd, 0xf1, 0x1b, 0x7c, 0x39, 0xdf, 0x86, + 0x62, 0x72, 0x8e, 0x37, 0x5f, 0xc4, 0x87, 0xbc, 0xb1, 0xd1, 0x41, 0xff, 0x8b, 0xff, 0x13, 0xe1, + 0x65, 0x51, 0x74, 0x8e, 0x7d, 0x2d, 0xd6, 0x48, 0x4e, 0x26, 0x34, 0x12, 0xee, 0xca, 0xc8, 0xdb, + 0x7d, 0xe4, 0x32, 0x4c, 0x06, 0x5b, 0x6d, 0x6d, 0x0f, 0x5b, 0x99, 0xf7, 0x68, 0x03, 0xa6, 0xc4, + 0x8e, 0x9c, 0xec, 0x2e, 0x8c, 0x34, 0x74, 0xc7, 0xd5, 0x6a, 0x0d, 0xdd, 0xdc, 0xd1, 0xb0, 0x67, + 0xc1, 0xd7, 0x56, 0x11, 0x11, 0x7a, 0x61, 0x56, 0x3d, 0x53, 0x1a, 0xab, 0x72, 0xa4, 0x11, 0x7a, + 0x56, 0x16, 0x21, 0x4f, 0xb3, 0xad, 0x55, 0x56, 0xcb, 0x8b, 0x9b, 0xe4, 0x5f, 0xd8, 0x22, 0x9d, + 0x67, 0x07, 0xb6, 0x6b, 0xe5, 0x45, 0x4e, 0xc8, 0x1e, 0x94, 0x77, 0xf8, 0x5b, 0x09, 0x7b, 0x70, + 0xb8, 0x1c, 0x0c, 0xd4, 0xbd, 0x01, 0xdf, 0x85, 0x3e, 0xa0, 0x73, 0x30, 0x5a, 0x23, 0xce, 0x0e, + 0x71, 0x34, 0x62, 0x9b, 0x86, 0x69, 0xe9, 0x2e, 0xae, 0xd3, 0xd7, 0x72, 0xb0, 0x32, 0xc2, 0x26, + 0xd6, 0x83, 0xf1, 0x80, 0x88, 0x06, 0xde, 0x24, 0x34, 0x4d, 0x07, 0x51, 0x3c, 0x7c, 0x40, 0x14, + 0xf6, 0x68, 0x13, 0xc5, 0x8b, 0xe8, 0x8d, 0xa8, 0x02, 0x27, 0x79, 0xfc, 0x06, 0x36, 0x74, 0x17, + 0xdf, 0xc1, 0x2d, 0x67, 0xc5, 0x3b, 0x88, 0xcc, 0xba, 0xee, 0x12, 0x9b, 0x6f, 0x28, 0x2f, 0xe6, + 0x9e, 0x3f, 0xa6, 0x85, 0x5f, 0xee, 0xc8, 0x5e, 0xc4, 0x58, 0xf9, 0x40, 0xe2, 0x4d, 0x3a, 0x3d, + 0x68, 0x50, 0xc6, 0x0c, 0x1c, 0xc2, 0xee, 0x76, 0x24, 0x2c, 0x60, 0x77, 0xdb, 0xcf, 0xbe, 0x04, + 0x39, 0x62, 0x7b, 0x5f, 0xbe, 0x6b, 0x87, 0x00, 0xd8, 0xee, 0x1f, 0xeb, 0x9c, 0xf3, 0x19, 0xae, + 0xf3, 0x26, 0x15, 0x46, 0x58, 0x6b, 0xc7, 0xec, 0x96, 0x54, 0xf9, 0x48, 0x82, 0xd3, 0xa9, 0x21, + 0x02, 0xfe, 0x5e, 0x16, 0x67, 0x3f, 0xb5, 0xbc, 0x05, 0x67, 0x04, 0x20, 0xeb, 0x71, 0xcb, 0xc4, + 0xe0, 0x52, 0x72, 0xf0, 0xf7, 0xa1, 0x94, 0x2d, 0xf8, 0xfe, 0xca, 0x8d, 0x2c, 0x73, 0x7f, 0x6c, + 0x99, 0x97, 0xf9, 0x99, 0xca, 0x8f, 0xac, 0xfb, 0xd8, 0xaa, 0x6f, 0x92, 0x35, 0x77, 0x1b, 0x9d, + 0x86, 0x23, 0x0e, 0xb6, 0xea, 0x38, 0x9a, 0xe3, 0x30, 0x1b, 0xf5, 0xfd, 0x7f, 0x94, 0xf8, 0x9b, + 0x8e, 0x06, 0x08, 0x78, 0xff, 0x07, 0x39, 0xd7, 0xd6, 0x2d, 0x67, 0x0b, 0xdb, 0x8e, 0x66, 0x5a, + 0x5a, 0xf8, 0xe4, 0x39, 0x93, 0xda, 0xb4, 0xb9, 0xdf, 0xe6, 0xe3, 0x0a, 0x0a, 0x62, 0xdc, 0xb6, + 0xf8, 0x71, 0x86, 0x1e, 0xc0, 0xd8, 0xae, 0xc5, 0xc2, 0xd5, 0xb5, 0x60, 0x3e, 0xdf, 0xdf, 0x5b, + 0xe0, 0x20, 0x84, 0x3f, 0xe8, 0x28, 0x13, 0x70, 0x9c, 0xd6, 0x74, 0x8f, 0xd4, 0x77, 0x1b, 0xf8, + 0xbe, 0xab, 0xbb, 0xc1, 0x1d, 0xa4, 0xc2, 0x5b, 0x48, 0x68, 0x8a, 0x57, 0x7a, 0x09, 0x06, 0x1c, + 0x6f, 0x80, 0xf7, 0xcc, 0xa2, 0x88, 0xe0, 0x16, 0x53, 0x63, 0xcc, 0x91, 0x99, 0x7b, 0xf7, 0x9d, + 0x7b, 0xa6, 0xe3, 0x98, 0x96, 0x41, 0xcf, 0xb7, 0xe0, 0x20, 0xbf, 0x09, 0xe3, 0x91, 0x71, 0x9e, + 0x68, 0x01, 0x10, 0x69, 0xe2, 0xd0, 0x1e, 0xe3, 0x0b, 0x3a, 0x5c, 0x19, 0xf5, 0x67, 0x6e, 0xf8, + 0x13, 0xe5, 0xef, 0x65, 0x18, 0xa0, 0xd0, 0xc8, 0x81, 0x41, 0xa6, 0x6d, 0x90, 0x70, 0x79, 0xe2, + 0x32, 0x4a, 0xfe, 0x5b, 0x57, 0x3b, 0xc6, 0xa4, 0xe4, 0x3f, 0xfc, 0xe9, 0xf7, 0xcf, 0xfa, 0x11, + 0x1a, 0x89, 0xea, 0x4a, 0xf4, 0x4c, 0x82, 0xc3, 0x21, 0x5d, 0x84, 0x16, 0x12, 0x83, 0x8a, 0xc4, + 0x95, 0x5c, 0xca, 0x6a, 0xce, 0x51, 0x8a, 0x14, 0x45, 0x46, 0xf9, 0x36, 0x0a, 0xbb, 0x5a, 0xaa, + 0x35, 0x66, 0x8f, 0x3e, 0x96, 0xe0, 0x70, 0x28, 0x47, 0x0a, 0x92, 0x48, 0x80, 0xa5, 0x20, 0x09, + 0xc5, 0x97, 0x68, 0x75, 0x18, 0x12, 0x5d, 0x9d, 0x90, 0x60, 0xe8, 0x8a, 0x12, 0x96, 0x61, 0x5d, + 0x51, 0x22, 0x42, 0x2b, 0x6d, 0x75, 0x38, 0xc0, 0xd7, 0x12, 0x8c, 0x0b, 0xb5, 0x10, 0xba, 0x98, + 0x2d, 0x57, 0x44, 0x76, 0xc9, 0x97, 0x7a, 0x75, 0xe3, 0xa8, 0x0a, 0x45, 0x9d, 0x42, 0x72, 0x1b, + 0xd5, 0xbf, 0x04, 0xa9, 0x4f, 0xe8, 0xad, 0xec, 0x29, 0xfa, 0x4a, 0x02, 0x14, 0x97, 0x4b, 0xa8, + 0x9c, 0x98, 0x32, 0x51, 0x7d, 0xc9, 0xe7, 0x7b, 0xf2, 0xe1, 0x8c, 0x27, 0x28, 0xe3, 0x24, 0x9a, + 0x88, 0x2d, 0xa7, 0xed, 0xb3, 0x7c, 0x27, 0x41, 0x21, 0x5d, 0x30, 0xa1, 0xe5, 0xd4, 0xd4, 0x5d, + 0x15, 0x9b, 0x7c, 0x6d, 0xdf, 0xfe, 0xbc, 0x8c, 0x69, 0x5a, 0xc6, 0x71, 0x34, 0x1e, 0x2b, 0xc3, + 0xbb, 0xd5, 0xa1, 0xe7, 0x12, 0x1c, 0x8d, 0xdc, 0x1a, 0x91, 0x9a, 0x9a, 0x33, 0x7e, 0x31, 0x95, + 0x17, 0xb3, 0x3b, 0x70, 0xaa, 0x59, 0x4a, 0xa5, 0xa0, 0x62, 0x9b, 0x8a, 0xd8, 0x7a, 0xad, 0x81, + 0x55, 0x7a, 0x39, 0x55, 0x9f, 0xf0, 0xee, 0xf7, 0x14, 0x7d, 0x21, 0xc1, 0xd8, 0x2d, 0xec, 0xc6, + 0x8e, 0xb1, 0xb9, 0xe4, 0xfe, 0x15, 0x31, 0x95, 0x97, 0x32, 0x9b, 0x06, 0x7c, 0xa7, 0x29, 0xdf, + 0x0c, 0x9a, 0xee, 0x68, 0x7a, 0xcc, 0x56, 0xf3, 0x8e, 0x49, 0xcd, 0x25, 0x1a, 0x76, 0xb7, 0xd1, + 0x53, 0x18, 0x0e, 0xa4, 0x27, 0x9a, 0x4d, 0x4c, 0x13, 0xd1, 0xbb, 0xf2, 0x5c, 0x06, 0x4b, 0x0e, + 0x32, 0x49, 0x41, 0xc6, 0xd1, 0x58, 0xe4, 0xbf, 0xd5, 0xb6, 0xbc, 0x8c, 0xcf, 0x25, 0x18, 0x8d, + 0x89, 0x41, 0x94, 0x5c, 0x6e, 0x92, 0xb2, 0x94, 0xcb, 0xbd, 0xb8, 0x24, 0x7f, 0xc3, 0x94, 0x4c, + 0x25, 0xdc, 0xc5, 0x7d, 0x8c, 0xbe, 0x95, 0x60, 0x3a, 0x55, 0x37, 0xa3, 0xab, 0x59, 0xf6, 0x77, + 0xa2, 0x6c, 0x97, 0x97, 0xf7, 0xeb, 0xce, 0x8b, 0x98, 0xa2, 0x45, 0x1c, 0x43, 0xb9, 0x68, 0x11, + 0xf4, 0xe3, 0xf8, 0x5c, 0x82, 0x31, 0x81, 0x4e, 0x45, 0xe7, 0xd3, 0xdf, 0x9f, 0x50, 0x39, 0xcb, + 0x17, 0x7a, 0x73, 0xe2, 0x80, 0xc7, 0x29, 0xe0, 0x28, 0x3a, 0x1a, 0x01, 0xa4, 0xc7, 0x4b, 0x48, + 0x86, 0xa6, 0x1c, 0x2f, 0x22, 0x31, 0x9c, 0x72, 0xbc, 0x08, 0xd5, 0xad, 0xe8, 0x78, 0x61, 0x4b, + 0xe5, 0x77, 0x6e, 0xf4, 0xa5, 0x04, 0x7f, 0xed, 0x54, 0x78, 0x68, 0x3e, 0x31, 0x85, 0x40, 0x3a, + 0xca, 0x0b, 0x19, 0xad, 0x39, 0x4f, 0x99, 0xf2, 0xcc, 0xa3, 0xb3, 0x9d, 0x67, 0x48, 0x44, 0x9e, + 0xa9, 0x54, 0xb9, 0x79, 0x5f, 0x2b, 0x13, 0x95, 0x1e, 0x61, 0xa7, 0xe2, 0x4b, 0x21, 0x14, 0x48, + 0xc9, 0x14, 0x42, 0x91, 0x8c, 0xcc, 0x46, 0x48, 0xc1, 0x68, 0x3f, 0xa1, 0x22, 0xf3, 0x07, 0x09, + 0x26, 0x6e, 0x61, 0xb7, 0x43, 0x35, 0x74, 0x08, 0x3c, 0x74, 0x39, 0x05, 0x20, 0x4d, 0x12, 0xa6, + 0x1c, 0x23, 0xd9, 0xb4, 0xa4, 0xa8, 0x16, 0xfa, 0x9b, 0x85, 0x56, 0xe7, 0xfe, 0xda, 0x7b, 0xb8, + 0xe5, 0x68, 0xd5, 0x96, 0x16, 0x48, 0x15, 0xf4, 0x0d, 0x6b, 0xdd, 0xa1, 0x5a, 0xbc, 0xd6, 0xbd, + 0x94, 0x11, 0xa6, 0x2d, 0x09, 0xe5, 0x2b, 0x3d, 0xbb, 0x04, 0xe4, 0xf3, 0x94, 0xfc, 0x0c, 0x3a, + 0xd5, 0x95, 0xdc, 0xeb, 0xe8, 0x3f, 0x4b, 0x30, 0x15, 0x65, 0xee, 0x14, 0x6d, 0xe8, 0x1f, 0x19, + 0x49, 0x04, 0x4a, 0x4f, 0x5e, 0xd9, 0xbf, 0x6f, 0x50, 0xce, 0x45, 0x5a, 0x8e, 0x8a, 0x16, 0xba, + 0x96, 0xd3, 0xa9, 0x4a, 0xd1, 0xa7, 0x12, 0x8c, 0x6c, 0x78, 0x0e, 0x1d, 0xfa, 0x06, 0x9d, 0x4b, + 0xe4, 0x89, 0x0b, 0x24, 0x79, 0x3e, 0x9b, 0x31, 0xc7, 0x2c, 0x50, 0xcc, 0x3c, 0x3a, 0xd6, 0xf1, + 0x63, 0x12, 0x35, 0xd3, 0xa8, 0x34, 0x42, 0x9f, 0x48, 0x80, 0xb8, 0x06, 0xf2, 0xb0, 0x08, 0x13, + 0x42, 0xe2, 0x33, 0x54, 0xa4, 0xa1, 0xc4, 0x67, 0xa8, 0x50, 0x55, 0x89, 0x3a, 0xd7, 0x0e, 0x33, + 0xd4, 0xe8, 0x5d, 0xd3, 0x59, 0xc1, 0x2f, 0x5e, 0x15, 0xa4, 0x97, 0xaf, 0x0a, 0xd2, 0x6f, 0xaf, + 0x0a, 0xd2, 0xb3, 0xd7, 0x85, 0xbe, 0x97, 0xaf, 0x0b, 0x7d, 0xbf, 0xbc, 0x2e, 0xf4, 0xfd, 0xff, + 0x8e, 0x61, 0xba, 0xdb, 0xbb, 0xd5, 0x52, 0x8d, 0xec, 0xa8, 0xb7, 0xfd, 0x84, 0x77, 0xf5, 0xaa, + 0xa3, 0x06, 0xe9, 0x17, 0x6a, 0xc4, 0xc6, 0x9d, 0x8f, 0xdb, 0xba, 0x69, 0xf1, 0x6a, 0x1d, 0x9e, + 0x92, 0xfe, 0xd0, 0x56, 0x1d, 0xa4, 0xbf, 0x6b, 0x9d, 0xff, 0x23, 0x00, 0x00, 0xff, 0xff, 0x32, + 0x01, 0x57, 0x21, 0x02, 0x1c, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2033,6 +2121,7 @@ type QueryClient interface { GetDelegateKeyByOrchestrator(ctx context.Context, in *QueryDelegateKeysByOrchestratorAddress, opts ...grpc.CallOption) (*QueryDelegateKeysByOrchestratorAddressResponse, error) // Retrieves the entire peggy module's state PeggyModuleState(ctx context.Context, in *QueryModuleStateRequest, opts ...grpc.CallOption) (*QueryModuleStateResponse, error) + MissingPeggoNonces(ctx context.Context, in *MissingNoncesRequest, opts ...grpc.CallOption) (*MissingNoncesResponse, error) } type queryClient struct { @@ -2223,6 +2312,15 @@ func (c *queryClient) PeggyModuleState(ctx context.Context, in *QueryModuleState return out, nil } +func (c *queryClient) MissingPeggoNonces(ctx context.Context, in *MissingNoncesRequest, opts ...grpc.CallOption) (*MissingNoncesResponse, error) { + out := new(MissingNoncesResponse) + err := c.cc.Invoke(ctx, "/injective.peggy.v1.Query/MissingPeggoNonces", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. type QueryServer interface { // Deployments queries deployments @@ -2250,6 +2348,7 @@ type QueryServer interface { GetDelegateKeyByOrchestrator(context.Context, *QueryDelegateKeysByOrchestratorAddress) (*QueryDelegateKeysByOrchestratorAddressResponse, error) // Retrieves the entire peggy module's state PeggyModuleState(context.Context, *QueryModuleStateRequest) (*QueryModuleStateResponse, error) + MissingPeggoNonces(context.Context, *MissingNoncesRequest) (*MissingNoncesResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -2316,6 +2415,9 @@ func (*UnimplementedQueryServer) GetDelegateKeyByOrchestrator(ctx context.Contex func (*UnimplementedQueryServer) PeggyModuleState(ctx context.Context, req *QueryModuleStateRequest) (*QueryModuleStateResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method PeggyModuleState not implemented") } +func (*UnimplementedQueryServer) MissingPeggoNonces(ctx context.Context, req *MissingNoncesRequest) (*MissingNoncesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MissingPeggoNonces not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -2681,6 +2783,24 @@ func _Query_PeggyModuleState_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } +func _Query_MissingPeggoNonces_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MissingNoncesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).MissingPeggoNonces(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.peggy.v1.Query/MissingPeggoNonces", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).MissingPeggoNonces(ctx, req.(*MissingNoncesRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "injective.peggy.v1.Query", HandlerType: (*QueryServer)(nil), @@ -2765,6 +2885,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "PeggyModuleState", Handler: _Query_PeggyModuleState_Handler, }, + { + MethodName: "MissingPeggoNonces", + Handler: _Query_MissingPeggoNonces_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "injective/peggy/v1/query.proto", @@ -4081,6 +4205,61 @@ func (m *QueryModuleStateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } +func (m *MissingNoncesRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MissingNoncesRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MissingNoncesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MissingNoncesResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MissingNoncesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MissingNoncesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.OperatorAddresses) > 0 { + for iNdEx := len(m.OperatorAddresses) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.OperatorAddresses[iNdEx]) + copy(dAtA[i:], m.OperatorAddresses[iNdEx]) + i = encodeVarintQuery(dAtA, i, uint64(len(m.OperatorAddresses[iNdEx]))) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { offset -= sovQuery(v) base := offset @@ -4631,6 +4810,30 @@ func (m *QueryModuleStateResponse) Size() (n int) { return n } +func (m *MissingNoncesRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MissingNoncesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.OperatorAddresses) > 0 { + for _, s := range m.OperatorAddresses { + l = len(s) + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -7969,6 +8172,138 @@ func (m *QueryModuleStateResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MissingNoncesRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MissingNoncesRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MissingNoncesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MissingNoncesResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MissingNoncesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MissingNoncesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OperatorAddresses", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.OperatorAddresses = append(m.OperatorAddresses, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/peggy/types/types.go b/chain/peggy/types/types.go index e6fb13cc..92c9e203 100644 --- a/chain/peggy/types/types.go +++ b/chain/peggy/types/types.go @@ -9,8 +9,9 @@ import ( "strconv" "strings" + "cosmossdk.io/errors" + sdkmath "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/ethereum/go-ethereum/accounts/abi" gethcommon "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/crypto" @@ -38,13 +39,13 @@ func UInt64FromString(s string) (uint64, error) { // ValidateBasic performs stateless checks on validity func (b *BridgeValidator) ValidateBasic() error { if b.Power == 0 { - return sdkerrors.Wrap(ErrEmpty, "power") + return errors.Wrap(ErrEmpty, "power") } if err := ValidateEthAddress(b.EthereumAddress); err != nil { - return sdkerrors.Wrap(err, "ethereum address") + return errors.Wrap(err, "ethereum address") } if b.EthereumAddress == "" { - return sdkerrors.Wrap(ErrEmpty, "address") + return errors.Wrap(ErrEmpty, "address") } return nil } @@ -136,17 +137,17 @@ func (b BridgeValidators) ValidateBasic() error { } for i := range b { if err := b[i].ValidateBasic(); err != nil { - return sdkerrors.Wrapf(err, "member %d", i) + return errors.Wrapf(err, "member %d", i) } } if b.HasDuplicates() { - return sdkerrors.Wrap(ErrDuplicate, "addresses") + return errors.Wrap(ErrDuplicate, "addresses") } return nil } // NewValset returns a new valset -func NewValset(nonce, height uint64, members BridgeValidators, rewardAmount sdk.Int, rewardToken gethcommon.Address) *Valset { +func NewValset(nonce, height uint64, members BridgeValidators, rewardAmount sdkmath.Int, rewardToken gethcommon.Address) *Valset { members.Sort() mem := make([]*BridgeValidator, 0) for _, val := range members { @@ -248,7 +249,7 @@ func (v Valsets) Swap(i, j int) { } // GetFees returns the total fees contained within a given batch -func (b OutgoingTxBatch) GetFees() sdk.Int { +func (b OutgoingTxBatch) GetFees() sdkmath.Int { sum := sdk.ZeroInt() for _, t := range b.Transactions { sum.Add(t.Erc20Fee.Amount) diff --git a/chain/peggy/types/types.pb.go b/chain/peggy/types/types.pb.go index e42ff8aa..66673a3c 100644 --- a/chain/peggy/types/types.pb.go +++ b/chain/peggy/types/types.pb.go @@ -6,8 +6,8 @@ package types import ( fmt "fmt" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" diff --git a/chain/tokenfactory/types/authorityMetadata.pb.go b/chain/tokenfactory/types/authorityMetadata.pb.go index a3fbfa3b..51337590 100644 --- a/chain/tokenfactory/types/authorityMetadata.pb.go +++ b/chain/tokenfactory/types/authorityMetadata.pb.go @@ -6,8 +6,8 @@ package types import ( fmt "fmt" _ "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" diff --git a/chain/tokenfactory/types/codec.go b/chain/tokenfactory/types/codec.go index d38cb4f0..f76715fa 100644 --- a/chain/tokenfactory/types/codec.go +++ b/chain/tokenfactory/types/codec.go @@ -17,16 +17,17 @@ func RegisterCodec(cdc *codec.LegacyAmino) { // nolint:all // cdc.RegisterConcrete(&MsgForceTransfer{}, "injective/tokenfactory/force-transfer", nil) cdc.RegisterConcrete(&MsgChangeAdmin{}, "injective/tokenfactory/change-admin", nil) + cdc.RegisterConcrete(&MsgUpdateParams{}, "injective/tokenfactory/update-params", nil) } func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { - registry.RegisterImplementations( - (*sdk.Msg)(nil), + registry.RegisterImplementations((*sdk.Msg)(nil), &MsgCreateDenom{}, &MsgMint{}, &MsgBurn{}, // &MsgForceTransfer{}, &MsgChangeAdmin{}, + &MsgUpdateParams{}, ) msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) diff --git a/chain/tokenfactory/types/denoms.go b/chain/tokenfactory/types/denoms.go index 1a7161c3..1a3d83a9 100644 --- a/chain/tokenfactory/types/denoms.go +++ b/chain/tokenfactory/types/denoms.go @@ -4,8 +4,8 @@ import ( "fmt" "strings" + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" ) @@ -68,27 +68,27 @@ func DeconstructDenom(denom string) (creator, subdenom string, err error) { strParts := strings.Split(denom, "/") if len(strParts) < 3 { - return "", "", sdkerrors.Wrapf(ErrInvalidDenom, "not enough parts of denom %s", denom) + return "", "", errors.Wrapf(ErrInvalidDenom, "not enough parts of denom %s", denom) } if strParts[0] != ModuleDenomPrefix { - return "", "", sdkerrors.Wrapf(ErrInvalidDenom, "denom prefix is incorrect. Is: %s. Should be: %s", strParts[0], ModuleDenomPrefix) + return "", "", errors.Wrapf(ErrInvalidDenom, "denom prefix is incorrect. Is: %s. Should be: %s", strParts[0], ModuleDenomPrefix) } creator = strParts[1] creatorAddr, err := sdk.AccAddressFromBech32(creator) if err != nil { - return "", "", sdkerrors.Wrapf(ErrInvalidDenom, "Invalid creator address (%s)", err) + return "", "", errors.Wrapf(ErrInvalidDenom, "Invalid creator address (%s)", err) } if len(strParts[2]) < MinSubdenomLength { - return "", "", sdkerrors.Wrapf(ErrSubdenomTooShort, "subdenom too short. Has length of: %d. Should have length at least of: %d", len(strParts[2]), MinSubdenomLength) + return "", "", errors.Wrapf(ErrSubdenomTooShort, "subdenom too short. Has length of: %d. Should have length at least of: %d", len(strParts[2]), MinSubdenomLength) } if len(strParts) > 3 { for i := 2; i <= len(strParts)-1; i++ { if len(strParts[i]) < MinSubdenomLength { - return "", "", sdkerrors.Wrapf(ErrSubdenomNestedTooShort, "nested subdenom too short. Has length of: %d. Should have length at least of: %d", len(strParts[i]), MinSubdenomLength) + return "", "", errors.Wrapf(ErrSubdenomNestedTooShort, "nested subdenom too short. Has length of: %d. Should have length at least of: %d", len(strParts[i]), MinSubdenomLength) } } } diff --git a/chain/tokenfactory/types/errors.go b/chain/tokenfactory/types/errors.go index 1bd6fccb..48ebec3a 100644 --- a/chain/tokenfactory/types/errors.go +++ b/chain/tokenfactory/types/errors.go @@ -5,21 +5,21 @@ package types import ( "fmt" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "cosmossdk.io/errors" ) // x/tokenfactory module sentinel errors var ( - ErrDenomExists = sdkerrors.Register(ModuleName, 2, "attempting to create a denom that already exists (has bank metadata)") - ErrUnauthorized = sdkerrors.Register(ModuleName, 3, "unauthorized account") - ErrInvalidDenom = sdkerrors.Register(ModuleName, 4, "invalid denom") - ErrInvalidCreator = sdkerrors.Register(ModuleName, 5, "invalid creator") - ErrInvalidAuthorityMetadata = sdkerrors.Register(ModuleName, 6, "invalid authority metadata") - ErrInvalidGenesis = sdkerrors.Register(ModuleName, 7, "invalid genesis") - ErrSubdenomTooLong = sdkerrors.Register(ModuleName, 8, fmt.Sprintf("subdenom too long, max length is %d bytes", MaxSubdenomLength)) - ErrSubdenomTooShort = sdkerrors.Register(ModuleName, 9, fmt.Sprintf("subdenom too short, min length is %d bytes", MinSubdenomLength)) - ErrSubdenomNestedTooShort = sdkerrors.Register(ModuleName, 10, fmt.Sprintf("nested subdenom too short, each one should have at least %d bytes", MinSubdenomLength)) - ErrCreatorTooLong = sdkerrors.Register(ModuleName, 11, fmt.Sprintf("creator too long, max length is %d bytes", MaxCreatorLength)) - ErrDenomDoesNotExist = sdkerrors.Register(ModuleName, 12, "denom does not exist") - ErrAmountNotPositive = sdkerrors.Register(ModuleName, 13, "amount has to be positive") + ErrDenomExists = errors.Register(ModuleName, 2, "attempting to create a denom that already exists (has bank metadata)") + ErrUnauthorized = errors.Register(ModuleName, 3, "unauthorized account") + ErrInvalidDenom = errors.Register(ModuleName, 4, "invalid denom") + ErrInvalidCreator = errors.Register(ModuleName, 5, "invalid creator") + ErrInvalidAuthorityMetadata = errors.Register(ModuleName, 6, "invalid authority metadata") + ErrInvalidGenesis = errors.Register(ModuleName, 7, "invalid genesis") + ErrSubdenomTooLong = errors.Register(ModuleName, 8, fmt.Sprintf("subdenom too long, max length is %d bytes", MaxSubdenomLength)) + ErrSubdenomTooShort = errors.Register(ModuleName, 9, fmt.Sprintf("subdenom too short, min length is %d bytes", MinSubdenomLength)) + ErrSubdenomNestedTooShort = errors.Register(ModuleName, 10, fmt.Sprintf("nested subdenom too short, each one should have at least %d bytes", MinSubdenomLength)) + ErrCreatorTooLong = errors.Register(ModuleName, 11, fmt.Sprintf("creator too long, max length is %d bytes", MaxCreatorLength)) + ErrDenomDoesNotExist = errors.Register(ModuleName, 12, "denom does not exist") + ErrAmountNotPositive = errors.Register(ModuleName, 13, "amount has to be positive") ) diff --git a/chain/tokenfactory/types/events.pb.go b/chain/tokenfactory/types/events.pb.go index 9fae9f61..96598dc0 100644 --- a/chain/tokenfactory/types/events.pb.go +++ b/chain/tokenfactory/types/events.pb.go @@ -7,8 +7,8 @@ import ( fmt "fmt" types "github.com/cosmos/cosmos-sdk/types" types1 "github.com/cosmos/cosmos-sdk/x/bank/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" diff --git a/chain/tokenfactory/types/genesis.go b/chain/tokenfactory/types/genesis.go index b1ba181f..3c4bdb6d 100644 --- a/chain/tokenfactory/types/genesis.go +++ b/chain/tokenfactory/types/genesis.go @@ -1,8 +1,8 @@ package types import ( + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) // this line is used by starport scaffolding # genesis/types/import @@ -30,7 +30,7 @@ func (gs GenesisState) Validate() error { for _, denom := range gs.GetFactoryDenoms() { if seenDenoms[denom.GetDenom()] { - return sdkerrors.Wrapf(ErrInvalidGenesis, "duplicate denom: %s", denom.GetDenom()) + return errors.Wrapf(ErrInvalidGenesis, "duplicate denom: %s", denom.GetDenom()) } seenDenoms[denom.GetDenom()] = true @@ -42,7 +42,7 @@ func (gs GenesisState) Validate() error { if denom.AuthorityMetadata.Admin != "" { _, err = sdk.AccAddressFromBech32(denom.AuthorityMetadata.Admin) if err != nil { - return sdkerrors.Wrapf(ErrInvalidAuthorityMetadata, "Invalid admin address (%s)", err) + return errors.Wrapf(ErrInvalidAuthorityMetadata, "Invalid admin address (%s)", err) } } } diff --git a/chain/tokenfactory/types/genesis.pb.go b/chain/tokenfactory/types/genesis.pb.go index c7d3e381..32175e59 100644 --- a/chain/tokenfactory/types/genesis.pb.go +++ b/chain/tokenfactory/types/genesis.pb.go @@ -5,8 +5,8 @@ package types import ( fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" diff --git a/chain/tokenfactory/types/keys.go b/chain/tokenfactory/types/keys.go index 2dfc1c7e..6d8aed08 100644 --- a/chain/tokenfactory/types/keys.go +++ b/chain/tokenfactory/types/keys.go @@ -29,6 +29,7 @@ var ( DenomsPrefixKey = []byte{0x02} CreatorPrefixKey = []byte{0x03} AdminPrefixKey = []byte{0x04} + ParamsKey = []byte{0x05} ) // GetDenomPrefixStore returns the store prefix where all the data associated with a specific denom diff --git a/chain/tokenfactory/types/msgs.go b/chain/tokenfactory/types/msgs.go index 02ad7d51..71d1c67e 100644 --- a/chain/tokenfactory/types/msgs.go +++ b/chain/tokenfactory/types/msgs.go @@ -1,6 +1,7 @@ package types import ( + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" @@ -14,6 +15,7 @@ const ( TypeMsgChangeAdmin = "change_admin" TypeMsgSetDenomMetadata = "set_denom_metadata" TypeMsgForceTransfer = "force_transfer" + TypeMsgUpdateParams = "update_params" ) var _ sdk.Msg = &MsgCreateDenom{} @@ -21,6 +23,32 @@ var _ sdk.Msg = &MsgMint{} var _ sdk.Msg = &MsgBurn{} var _ sdk.Msg = &MsgSetDenomMetadata{} var _ sdk.Msg = &MsgChangeAdmin{} +var _ sdk.Msg = &MsgUpdateParams{} + +func (m MsgUpdateParams) Route() string { return RouterKey } + +func (m MsgUpdateParams) Type() string { return TypeMsgUpdateParams } + +func (m MsgUpdateParams) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(m.Authority); err != nil { + return errors.Wrap(err, "invalid authority address") + } + + if err := m.Params.Validate(); err != nil { + return err + } + + return nil +} + +func (m *MsgUpdateParams) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgUpdateParams) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Authority) + return []sdk.AccAddress{addr} +} // NewMsgCreateDenom creates a msg to create a new denom func NewMsgCreateDenom(sender, subdenom string) *MsgCreateDenom { @@ -35,12 +63,12 @@ func (m MsgCreateDenom) Type() string { return TypeMsgCreateDenom } func (m MsgCreateDenom) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(m.Sender) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid sender address (%s)", err) + return errors.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid sender address (%s)", err) } _, err = GetTokenDenom(m.Sender, m.Subdenom) if err != nil { - return sdkerrors.Wrap(ErrInvalidDenom, err.Error()) + return errors.Wrap(ErrInvalidDenom, err.Error()) } return nil @@ -68,11 +96,11 @@ func (m MsgMint) Type() string { return TypeMsgMint } func (m MsgMint) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(m.Sender) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid sender address (%s)", err) + return errors.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid sender address (%s)", err) } if !m.Amount.IsValid() || m.Amount.Amount.Equal(sdk.ZeroInt()) { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, m.Amount.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, m.Amount.String()) } return nil @@ -100,11 +128,11 @@ func (m MsgBurn) Type() string { return TypeMsgBurn } func (m MsgBurn) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(m.Sender) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid sender address (%s)", err) + return errors.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid sender address (%s)", err) } if !m.Amount.IsValid() || !m.Amount.IsPositive() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, m.Amount.String()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, m.Amount.String()) } return nil @@ -133,12 +161,12 @@ func (m MsgChangeAdmin) Type() string { return TypeMsgChangeAdmin } func (m MsgChangeAdmin) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(m.Sender) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid sender address (%s)", err) + return errors.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid sender address (%s)", err) } _, err = sdk.AccAddressFromBech32(m.NewAdmin) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid address (%s)", err) + return errors.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid address (%s)", err) } _, _, err = DeconstructDenom(m.Denom) @@ -171,7 +199,7 @@ func (m MsgSetDenomMetadata) Type() string { return TypeMsgSetDenomMetadata } func (m MsgSetDenomMetadata) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(m.Sender) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid sender address (%s)", err) + return errors.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid sender address (%s)", err) } err = m.Metadata.Validate() @@ -213,20 +241,20 @@ func (m MsgSetDenomMetadata) GetSigners() []sdk.AccAddress { // func (m MsgForceTransfer) ValidateBasic() error { // _, err := sdk.AccAddressFromBech32(m.Sender) // if err != nil { -// return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid sender address (%s)", err) +// return errors.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid sender address (%s)", err) // } // _, err = sdk.AccAddressFromBech32(m.TransferFromAddress) // if err != nil { -// return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid address (%s)", err) +// return errors.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid address (%s)", err) // } // _, err = sdk.AccAddressFromBech32(m.TransferToAddress) // if err != nil { -// return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid address (%s)", err) +// return errors.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid address (%s)", err) // } // if !m.Amount.IsValid() { -// return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, m.Amount.String()) +// return errors.Wrap(sdkerrors.ErrInvalidCoins, m.Amount.String()) // } // return nil diff --git a/chain/tokenfactory/types/params.go b/chain/tokenfactory/types/params.go index 5bd228b1..f1d52477 100644 --- a/chain/tokenfactory/types/params.go +++ b/chain/tokenfactory/types/params.go @@ -3,6 +3,7 @@ package types import ( "fmt" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" @@ -28,7 +29,7 @@ func NewParams(denomCreationFee sdk.Coins) Params { // default gamm module parameters. func DefaultParams() Params { return Params{ - DenomCreationFee: sdk.NewCoins(sdk.NewCoin(chaintypes.InjectiveCoin, sdk.NewIntWithDecimal(10, 18))), // 10 INJ + DenomCreationFee: sdk.NewCoins(sdk.NewCoin(chaintypes.InjectiveCoin, math.NewIntWithDecimal(10, 18))), // 10 INJ } } diff --git a/chain/tokenfactory/types/params.pb.go b/chain/tokenfactory/types/params.pb.go index d6f04370..9d705d9c 100644 --- a/chain/tokenfactory/types/params.pb.go +++ b/chain/tokenfactory/types/params.pb.go @@ -5,11 +5,11 @@ package types import ( fmt "fmt" + _ "github.com/cosmos/cosmos-proto" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" - _ "github.com/regen-network/cosmos-proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" diff --git a/chain/tokenfactory/types/query.pb.go b/chain/tokenfactory/types/query.pb.go index 91682f00..9d7f5742 100644 --- a/chain/tokenfactory/types/query.pb.go +++ b/chain/tokenfactory/types/query.pb.go @@ -7,9 +7,9 @@ import ( context "context" fmt "fmt" _ "github.com/cosmos/cosmos-sdk/types/query" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" @@ -305,7 +305,8 @@ func (m *QueryDenomsFromCreatorResponse) GetDenoms() []string { return nil } -// QueryModuleStateRequest is the request type for the Query/TokenfactoryModuleState RPC method. +// QueryModuleStateRequest is the request type for the +// Query/TokenfactoryModuleState RPC method. type QueryModuleStateRequest struct { } @@ -342,7 +343,8 @@ func (m *QueryModuleStateRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryModuleStateRequest proto.InternalMessageInfo -// QueryModuleStateResponse is the response type for the Query/TokenfactoryModuleState RPC method. +// QueryModuleStateResponse is the response type for the +// Query/TokenfactoryModuleState RPC method. type QueryModuleStateResponse struct { State *GenesisState `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` } diff --git a/chain/tokenfactory/types/tx.pb.go b/chain/tokenfactory/types/tx.pb.go index c3fbae6e..87b29d97 100644 --- a/chain/tokenfactory/types/tx.pb.go +++ b/chain/tokenfactory/types/tx.pb.go @@ -6,11 +6,13 @@ package types import ( context "context" fmt "fmt" + _ "github.com/cosmos/cosmos-proto" types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/cosmos-sdk/types/msgservice" types1 "github.com/cosmos/cosmos-sdk/x/bank/types" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -510,6 +512,98 @@ func (m *MsgSetDenomMetadataResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgSetDenomMetadataResponse proto.InternalMessageInfo +type MsgUpdateParams struct { + // authority is the address of the governance account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // params defines the tokenfactory parameters to update. + // + // NOTE: All parameters must be supplied. + Params Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params"` +} + +func (m *MsgUpdateParams) Reset() { *m = MsgUpdateParams{} } +func (m *MsgUpdateParams) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParams) ProtoMessage() {} +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return fileDescriptor_b0b26fd7f19ce3c4, []int{10} +} +func (m *MsgUpdateParams) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParams.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParams) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParams.Merge(m, src) +} +func (m *MsgUpdateParams) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParams) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParams.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParams proto.InternalMessageInfo + +func (m *MsgUpdateParams) GetAuthority() string { + if m != nil { + return m.Authority + } + return "" +} + +func (m *MsgUpdateParams) GetParams() Params { + if m != nil { + return m.Params + } + return Params{} +} + +type MsgUpdateParamsResponse struct { +} + +func (m *MsgUpdateParamsResponse) Reset() { *m = MsgUpdateParamsResponse{} } +func (m *MsgUpdateParamsResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParamsResponse) ProtoMessage() {} +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_b0b26fd7f19ce3c4, []int{11} +} +func (m *MsgUpdateParamsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParamsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParamsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParamsResponse.Merge(m, src) +} +func (m *MsgUpdateParamsResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParamsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgCreateDenom)(nil), "injective.tokenfactory.v1beta1.MsgCreateDenom") proto.RegisterType((*MsgCreateDenomResponse)(nil), "injective.tokenfactory.v1beta1.MsgCreateDenomResponse") @@ -521,6 +615,8 @@ func init() { proto.RegisterType((*MsgChangeAdminResponse)(nil), "injective.tokenfactory.v1beta1.MsgChangeAdminResponse") proto.RegisterType((*MsgSetDenomMetadata)(nil), "injective.tokenfactory.v1beta1.MsgSetDenomMetadata") proto.RegisterType((*MsgSetDenomMetadataResponse)(nil), "injective.tokenfactory.v1beta1.MsgSetDenomMetadataResponse") + proto.RegisterType((*MsgUpdateParams)(nil), "injective.tokenfactory.v1beta1.MsgUpdateParams") + proto.RegisterType((*MsgUpdateParamsResponse)(nil), "injective.tokenfactory.v1beta1.MsgUpdateParamsResponse") } func init() { @@ -528,45 +624,54 @@ func init() { } var fileDescriptor_b0b26fd7f19ce3c4 = []byte{ - // 608 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x55, 0x31, 0x6f, 0xd3, 0x4c, - 0x18, 0x8e, 0xbf, 0xf6, 0x2b, 0xed, 0x95, 0xd2, 0xd6, 0x2d, 0x25, 0x18, 0xd5, 0x46, 0x37, 0x50, - 0x18, 0xb0, 0xd5, 0x56, 0x62, 0x80, 0x09, 0x97, 0x01, 0x24, 0xbc, 0x18, 0x26, 0x84, 0x54, 0xce, - 0xce, 0xe1, 0x9a, 0xc4, 0x77, 0x91, 0xef, 0xdc, 0x90, 0x85, 0x89, 0x1f, 0xc0, 0x80, 0xf8, 0x39, - 0xcc, 0x1d, 0x3b, 0x32, 0x59, 0x28, 0xf9, 0x07, 0xf9, 0x05, 0xc8, 0x77, 0x67, 0xc7, 0x69, 0x10, - 0x72, 0x58, 0xd8, 0x6c, 0xbf, 0xcf, 0xfb, 0x3c, 0xcf, 0x3d, 0xef, 0x7b, 0x32, 0x38, 0x88, 0xc9, - 0x07, 0x1c, 0xf2, 0xf8, 0x1c, 0x3b, 0x9c, 0x76, 0x31, 0x79, 0x8f, 0x42, 0x4e, 0xd3, 0xa1, 0x73, - 0x7e, 0x18, 0x60, 0x8e, 0x0e, 0x1d, 0xfe, 0xd1, 0xee, 0xa7, 0x94, 0x53, 0xdd, 0xac, 0x80, 0x76, - 0x1d, 0x68, 0x2b, 0xa0, 0xb1, 0x1b, 0xd1, 0x88, 0x0a, 0xa8, 0x53, 0x3c, 0xc9, 0x2e, 0xc3, 0x0c, - 0x29, 0x4b, 0x28, 0x73, 0x02, 0xc4, 0x70, 0xc5, 0x19, 0xd2, 0x98, 0xcc, 0xd5, 0x49, 0xb7, 0xaa, - 0x17, 0x2f, 0xb2, 0x0e, 0x7b, 0xe0, 0x86, 0xc7, 0xa2, 0x93, 0x14, 0x23, 0x8e, 0x9f, 0x61, 0x42, - 0x13, 0xfd, 0x01, 0x58, 0x61, 0x98, 0x74, 0x70, 0xda, 0xd6, 0xee, 0x6a, 0xf7, 0xd7, 0xdc, 0xed, - 0x49, 0x6e, 0x6d, 0x0c, 0x51, 0xd2, 0x7b, 0x0c, 0xe5, 0x77, 0xe8, 0x2b, 0x80, 0xee, 0x80, 0x55, - 0x96, 0x05, 0x9d, 0xa2, 0xad, 0xfd, 0x9f, 0x00, 0xef, 0x4c, 0x72, 0x6b, 0x53, 0x81, 0x55, 0x05, - 0xfa, 0x15, 0x08, 0xbe, 0x05, 0x7b, 0xb3, 0x6a, 0x3e, 0x66, 0x7d, 0x4a, 0x18, 0xd6, 0x5d, 0xb0, - 0x49, 0xf0, 0xe0, 0x54, 0x9c, 0xfc, 0x54, 0x32, 0x4a, 0x79, 0x63, 0x92, 0x5b, 0x7b, 0x92, 0xf1, - 0x0a, 0x00, 0xfa, 0x1b, 0x04, 0x0f, 0x5e, 0x17, 0x1f, 0x04, 0x17, 0xfc, 0x04, 0xae, 0x79, 0x2c, - 0xf2, 0x62, 0xc2, 0x17, 0x39, 0xc4, 0x73, 0xb0, 0x82, 0x12, 0x9a, 0x11, 0x2e, 0x8e, 0xb0, 0x7e, - 0x74, 0xdb, 0x96, 0x91, 0xd9, 0x45, 0xa4, 0x65, 0xfa, 0xf6, 0x09, 0x8d, 0x89, 0x7b, 0xf3, 0x22, - 0xb7, 0x5a, 0x53, 0x26, 0xd9, 0x06, 0x7d, 0xd5, 0x0f, 0xb7, 0xc1, 0xa6, 0xd2, 0x2f, 0x8f, 0xa5, - 0x2c, 0xb9, 0x59, 0x4a, 0xfe, 0xa5, 0xa5, 0x42, 0xbf, 0xb2, 0xf4, 0x4d, 0x93, 0x23, 0x3f, 0x43, - 0x24, 0xc2, 0x4f, 0x3b, 0x49, 0xbc, 0x90, 0xb5, 0x7b, 0xe0, 0xff, 0xfa, 0xbc, 0xb7, 0x26, 0xb9, - 0x75, 0x5d, 0x22, 0xd5, 0x4c, 0x64, 0x59, 0x3f, 0x04, 0x6b, 0xc5, 0xb8, 0x50, 0xc1, 0xdf, 0x5e, - 0x12, 0xd8, 0xdd, 0x49, 0x6e, 0x6d, 0x4d, 0x27, 0x29, 0x4a, 0xd0, 0x5f, 0x25, 0x78, 0x20, 0x5c, - 0xc0, 0xb6, 0x5c, 0x8e, 0xa9, 0xaf, 0xca, 0xf2, 0x57, 0x0d, 0xec, 0x78, 0x2c, 0x7a, 0x85, 0xb9, - 0x18, 0xb4, 0x87, 0x39, 0xea, 0x20, 0x8e, 0x16, 0xf1, 0xed, 0x83, 0xd5, 0x44, 0xb5, 0xa9, 0x50, - 0xf7, 0xa7, 0xa1, 0x92, 0x6e, 0x15, 0x6a, 0xc9, 0xed, 0xde, 0x52, 0xc1, 0xaa, 0x6d, 0x2e, 0x9b, - 0xa1, 0x5f, 0xf1, 0xc0, 0x7d, 0x70, 0xe7, 0x37, 0xae, 0x4a, 0xd7, 0x47, 0xdf, 0x97, 0xc1, 0x92, - 0xc7, 0x22, 0x3d, 0x03, 0xeb, 0xf5, 0xfb, 0x65, 0xdb, 0x7f, 0xbe, 0xe8, 0xf6, 0xec, 0x0d, 0x31, - 0x1e, 0x2d, 0x86, 0xaf, 0x6e, 0xd4, 0x3b, 0xb0, 0x2c, 0xae, 0xc2, 0x41, 0x83, 0xfe, 0x02, 0x68, - 0x38, 0x0d, 0x81, 0x75, 0x05, 0xb1, 0xd9, 0x4d, 0x14, 0x0a, 0x60, 0x23, 0x85, 0xfa, 0xae, 0x8a, - 0xe8, 0x6a, 0x7b, 0xda, 0x28, 0xba, 0x29, 0xbe, 0x59, 0x74, 0xf3, 0xfb, 0xa6, 0x7f, 0xd6, 0xc0, - 0xd6, 0xdc, 0xb2, 0x1d, 0x37, 0x20, 0xbb, 0xda, 0x64, 0x3c, 0xf9, 0x8b, 0xa6, 0xd2, 0x86, 0xdb, - 0xbb, 0x18, 0x99, 0xda, 0xe5, 0xc8, 0xd4, 0x7e, 0x8e, 0x4c, 0xed, 0xcb, 0xd8, 0x6c, 0x5d, 0x8e, - 0xcd, 0xd6, 0x8f, 0xb1, 0xd9, 0x7a, 0xe3, 0x47, 0x31, 0x3f, 0xcb, 0x02, 0x3b, 0xa4, 0x89, 0xf3, - 0xa2, 0x14, 0x78, 0x89, 0x02, 0xe6, 0x54, 0x72, 0x0f, 0x43, 0x9a, 0xe2, 0xfa, 0xeb, 0x19, 0x8a, - 0x89, 0x93, 0xd0, 0x4e, 0xd6, 0xc3, 0x6c, 0xf6, 0x57, 0xc4, 0x87, 0x7d, 0xcc, 0x82, 0x15, 0xf1, - 0x43, 0x38, 0xfe, 0x15, 0x00, 0x00, 0xff, 0xff, 0x1f, 0x68, 0x76, 0xed, 0xb1, 0x06, 0x00, 0x00, + // 751 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x55, 0x4f, 0x4f, 0xd4, 0x4e, + 0x18, 0xde, 0xfe, 0x80, 0xfd, 0xc1, 0xf0, 0xbf, 0x20, 0x2c, 0x6b, 0xe8, 0x9a, 0x1e, 0xc0, 0x3f, + 0xa1, 0xcd, 0x42, 0x82, 0x09, 0x9e, 0x28, 0x1c, 0x34, 0x71, 0x13, 0x53, 0xf4, 0x62, 0x4c, 0x70, + 0x76, 0x3b, 0x76, 0x2b, 0x74, 0x66, 0xd3, 0x99, 0x02, 0x7b, 0x35, 0xde, 0xbc, 0xf8, 0x0d, 0x8c, + 0xf1, 0x0b, 0x78, 0xf0, 0xe0, 0x47, 0xe0, 0x48, 0x3c, 0x79, 0xda, 0x18, 0x38, 0x78, 0xdf, 0x4f, + 0x60, 0x3a, 0x33, 0xfd, 0x07, 0x46, 0xba, 0x9e, 0x3c, 0xed, 0xb6, 0xef, 0xf3, 0x3c, 0xef, 0xf3, + 0xbe, 0xef, 0xbc, 0x53, 0xb0, 0xea, 0xe1, 0xd7, 0xa8, 0xc5, 0xbc, 0x23, 0x64, 0x32, 0x72, 0x80, + 0xf0, 0x2b, 0xd8, 0x62, 0x24, 0xe8, 0x9a, 0x47, 0xf5, 0x26, 0x62, 0xb0, 0x6e, 0xb2, 0x13, 0xa3, + 0x13, 0x10, 0x46, 0x54, 0x2d, 0x01, 0x1a, 0x59, 0xa0, 0x21, 0x81, 0xd5, 0x79, 0x97, 0xb8, 0x84, + 0x43, 0xcd, 0xe8, 0x9f, 0x60, 0x55, 0xb5, 0x16, 0xa1, 0x3e, 0xa1, 0x66, 0x13, 0x52, 0x94, 0x68, + 0xb6, 0x88, 0x87, 0xaf, 0xc4, 0xf1, 0x41, 0x12, 0x8f, 0x1e, 0x64, 0x7c, 0x51, 0xc6, 0x7d, 0xea, + 0x9a, 0x47, 0xf5, 0xe8, 0x47, 0x06, 0x96, 0x44, 0x60, 0x5f, 0x64, 0x14, 0x0f, 0x32, 0x74, 0xef, + 0x9a, 0x92, 0x3a, 0x30, 0x80, 0xbe, 0x04, 0xeb, 0x5d, 0x30, 0xd5, 0xa0, 0xee, 0x4e, 0x80, 0x20, + 0x43, 0xbb, 0x08, 0x13, 0x5f, 0xbd, 0x03, 0xca, 0x14, 0x61, 0x07, 0x05, 0x15, 0xe5, 0x96, 0x72, + 0x7b, 0xcc, 0x9a, 0xed, 0xf7, 0x6a, 0x93, 0x5d, 0xe8, 0x1f, 0x6e, 0xe9, 0xe2, 0xbd, 0x6e, 0x4b, + 0x80, 0x6a, 0x82, 0x51, 0x1a, 0x36, 0x9d, 0x88, 0x56, 0xf9, 0x8f, 0x83, 0xe7, 0xfa, 0xbd, 0xda, + 0xb4, 0x04, 0xcb, 0x88, 0x6e, 0x27, 0xa0, 0xad, 0xf1, 0x37, 0x3f, 0x3f, 0xdf, 0x95, 0x6c, 0xfd, + 0x05, 0x58, 0xc8, 0xa7, 0xb6, 0x11, 0xed, 0x10, 0x4c, 0x91, 0x6a, 0x81, 0x69, 0x8c, 0x8e, 0xf7, + 0xb9, 0xfb, 0x7d, 0x21, 0x2f, 0xbc, 0x54, 0xfb, 0xbd, 0xda, 0x82, 0x90, 0xbf, 0x04, 0xd0, 0xed, + 0x49, 0x8c, 0x8e, 0x9f, 0x46, 0x2f, 0xb8, 0x96, 0xfe, 0x4e, 0x01, 0xff, 0x37, 0xa8, 0xdb, 0xf0, + 0x30, 0x1b, 0xa4, 0xa4, 0x87, 0xa0, 0x0c, 0x7d, 0x12, 0x62, 0xc6, 0x0b, 0x1a, 0x5f, 0x5f, 0x32, + 0x64, 0x6f, 0xa3, 0x09, 0xc6, 0xc3, 0x36, 0x76, 0x88, 0x87, 0xad, 0x1b, 0xa7, 0xbd, 0x5a, 0x29, + 0x55, 0x12, 0x34, 0xdd, 0x96, 0xfc, 0x7c, 0xad, 0xb3, 0x60, 0x5a, 0x9a, 0x89, 0x8b, 0x8c, 0x0d, + 0x5a, 0x61, 0x80, 0xff, 0x19, 0x83, 0x91, 0x99, 0xc4, 0xe0, 0x27, 0x45, 0x9c, 0x8d, 0x36, 0xc4, + 0x2e, 0xda, 0x76, 0x7c, 0x6f, 0x20, 0x9f, 0x2b, 0x60, 0x24, 0x7b, 0x30, 0x66, 0xfa, 0xbd, 0xda, + 0x84, 0x40, 0xca, 0x79, 0x89, 0xb0, 0x5a, 0x07, 0x63, 0xd1, 0x28, 0x61, 0xa4, 0x5f, 0x19, 0xe2, + 0xd8, 0xf9, 0x7e, 0xaf, 0x36, 0x93, 0x4e, 0x99, 0x87, 0x74, 0x7b, 0x14, 0xa3, 0x63, 0xee, 0x22, + 0x6f, 0xbc, 0x22, 0x4e, 0x51, 0x6a, 0x32, 0xf1, 0xff, 0x51, 0x01, 0x73, 0x0d, 0xea, 0xee, 0x21, + 0xc6, 0x4f, 0x44, 0x03, 0x31, 0xe8, 0x40, 0x06, 0x07, 0x29, 0xc2, 0x06, 0xa3, 0xbe, 0xa4, 0xc9, + 0x76, 0x2f, 0xa7, 0xed, 0xc6, 0x07, 0x49, 0xbb, 0x63, 0x6d, 0x6b, 0x51, 0xb6, 0x5c, 0xee, 0x40, + 0x4c, 0xd6, 0xed, 0x44, 0x27, 0xef, 0x7e, 0x19, 0xdc, 0xfc, 0x8d, 0xc5, 0xa4, 0x84, 0x0f, 0x0a, + 0x1f, 0xcb, 0xb3, 0x8e, 0x03, 0x19, 0x7a, 0xc2, 0xf7, 0x56, 0xdd, 0x04, 0x63, 0x30, 0x64, 0x6d, + 0x12, 0x78, 0xac, 0x2b, 0x2b, 0xa8, 0x7c, 0xfb, 0xb2, 0x36, 0x2f, 0x7d, 0x6d, 0x3b, 0x4e, 0x80, + 0x28, 0xdd, 0x63, 0x81, 0x87, 0x5d, 0x3b, 0x85, 0xaa, 0xbb, 0xa0, 0x2c, 0x36, 0x5f, 0x56, 0xb2, + 0x62, 0xfc, 0xf9, 0x46, 0x33, 0x44, 0x3e, 0x6b, 0x38, 0x2a, 0xc9, 0x96, 0xdc, 0xad, 0xa9, 0xc8, + 0x7d, 0xaa, 0xaa, 0x2f, 0x81, 0xc5, 0x4b, 0x06, 0x63, 0xf3, 0xeb, 0x5f, 0x47, 0xc0, 0x50, 0x83, + 0xba, 0x6a, 0x08, 0xc6, 0xb3, 0xf7, 0x8b, 0x71, 0x5d, 0xde, 0xfc, 0xa5, 0x50, 0xdd, 0x1c, 0x0c, + 0x9f, 0x5c, 0x22, 0x2f, 0xc1, 0x30, 0x5f, 0xfe, 0xd5, 0x02, 0xfc, 0x08, 0x58, 0x35, 0x0b, 0x02, + 0xb3, 0x19, 0xf8, 0xf6, 0x16, 0xc9, 0x10, 0x01, 0x0b, 0x65, 0xc8, 0xae, 0x20, 0x6f, 0x5d, 0x66, + 0xfd, 0x0a, 0xb5, 0x2e, 0xc5, 0x17, 0x6b, 0xdd, 0xd5, 0xcd, 0x51, 0xdf, 0x2a, 0x60, 0xe6, 0xca, + 0xda, 0x6c, 0x14, 0x10, 0xbb, 0x4c, 0xaa, 0x3e, 0xf8, 0x0b, 0x52, 0x62, 0xe3, 0x04, 0x4c, 0xe4, + 0x4e, 0x7e, 0x91, 0xf6, 0x65, 0x09, 0xd5, 0xfb, 0x03, 0x12, 0xe2, 0xcc, 0xd6, 0xe1, 0xe9, 0xb9, + 0xa6, 0x9c, 0x9d, 0x6b, 0xca, 0x8f, 0x73, 0x4d, 0x79, 0x7f, 0xa1, 0x95, 0xce, 0x2e, 0xb4, 0xd2, + 0xf7, 0x0b, 0xad, 0xf4, 0xdc, 0x76, 0x3d, 0xd6, 0x0e, 0x9b, 0x46, 0x8b, 0xf8, 0xe6, 0xa3, 0x58, + 0xfc, 0x31, 0x6c, 0x52, 0x33, 0x49, 0xb5, 0xd6, 0x22, 0x01, 0xca, 0x3e, 0xb6, 0xa1, 0x87, 0x4d, + 0x9f, 0x38, 0xe1, 0x21, 0xa2, 0xf9, 0x4f, 0x32, 0xeb, 0x76, 0x10, 0x6d, 0x96, 0xf9, 0xa7, 0x78, + 0xe3, 0x57, 0x00, 0x00, 0x00, 0xff, 0xff, 0x73, 0xaa, 0x72, 0xaf, 0x8c, 0x08, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -586,6 +691,7 @@ type MsgClient interface { Burn(ctx context.Context, in *MsgBurn, opts ...grpc.CallOption) (*MsgBurnResponse, error) ChangeAdmin(ctx context.Context, in *MsgChangeAdmin, opts ...grpc.CallOption) (*MsgChangeAdminResponse, error) SetDenomMetadata(ctx context.Context, in *MsgSetDenomMetadata, opts ...grpc.CallOption) (*MsgSetDenomMetadataResponse, error) + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) } type msgClient struct { @@ -641,6 +747,15 @@ func (c *msgClient) SetDenomMetadata(ctx context.Context, in *MsgSetDenomMetadat return out, nil } +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, "/injective.tokenfactory.v1beta1.Msg/UpdateParams", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { CreateDenom(context.Context, *MsgCreateDenom) (*MsgCreateDenomResponse, error) @@ -648,6 +763,7 @@ type MsgServer interface { Burn(context.Context, *MsgBurn) (*MsgBurnResponse, error) ChangeAdmin(context.Context, *MsgChangeAdmin) (*MsgChangeAdminResponse, error) SetDenomMetadata(context.Context, *MsgSetDenomMetadata) (*MsgSetDenomMetadataResponse, error) + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -669,6 +785,9 @@ func (*UnimplementedMsgServer) ChangeAdmin(ctx context.Context, req *MsgChangeAd func (*UnimplementedMsgServer) SetDenomMetadata(ctx context.Context, req *MsgSetDenomMetadata) (*MsgSetDenomMetadataResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SetDenomMetadata not implemented") } +func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -764,6 +883,24 @@ func _Msg_SetDenomMetadata_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.tokenfactory.v1beta1.Msg/UpdateParams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "injective.tokenfactory.v1beta1.Msg", HandlerType: (*MsgServer)(nil), @@ -788,6 +925,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "SetDenomMetadata", Handler: _Msg_SetDenomMetadata_Handler, }, + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "injective/tokenfactory/v1beta1/tx.proto", @@ -1116,6 +1257,69 @@ func (m *MsgSetDenomMetadataResponse) MarshalToSizedBuffer(dAtA []byte) (int, er return len(dAtA) - i, nil } +func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -1259,6 +1463,30 @@ func (m *MsgSetDenomMetadataResponse) Size() (n int) { return n } +func (m *MsgUpdateParams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Params.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -2152,6 +2380,171 @@ func (m *MsgSetDenomMetadataResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/types/account.go b/chain/types/account.go index 71228c5b..9c9ef989 100644 --- a/chain/types/account.go +++ b/chain/types/account.go @@ -4,11 +4,11 @@ import ( "bytes" "encoding/json" "fmt" - "github.com/pkg/errors" "strings" "gopkg.in/yaml.v2" + "cosmossdk.io/errors" codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" @@ -24,6 +24,8 @@ var ( _ codectypes.UnpackInterfacesMessage = (*EthAccount)(nil) ) +var EmptyCodeHash = ethcrypto.Keccak256(nil) + // ---------------------------------------------------------------------------- // Main Ethermint account // ---------------------------------------------------------------------------- @@ -117,7 +119,7 @@ func (acc *EthAccount) UnmarshalJSON(bz []byte) error { ethAddressFromAccAddress := ethcmn.BytesToAddress(address.Bytes()) if !bytes.Equal(ethAddress.Bytes(), address.Bytes()) { - err = sdkerrors.Wrapf( + err = errors.Wrapf( sdkerrors.ErrInvalidAddress, "expected %s, got %s", ethAddressFromAccAddress.String(), ethAddress.String(), @@ -131,7 +133,7 @@ func (acc *EthAccount) UnmarshalJSON(bz []byte) error { ethAddress := ethcmn.HexToAddress(alias.EthAddress) alias.Address = sdk.AccAddress(ethAddress.Bytes()).String() case alias.Address == "" && alias.EthAddress == "": - err = sdkerrors.Wrapf( + err = errors.Wrapf( sdkerrors.ErrInvalidAddress, "account must contain address in Ethereum Hex or Cosmos Bech32 format", ) diff --git a/chain/types/account.pb.go b/chain/types/account.pb.go index 231a767d..cb352b87 100644 --- a/chain/types/account.pb.go +++ b/chain/types/account.pb.go @@ -5,10 +5,10 @@ package types import ( fmt "fmt" + _ "github.com/cosmos/cosmos-proto" types "github.com/cosmos/cosmos-sdk/x/auth/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" - _ "github.com/regen-network/cosmos-proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" @@ -87,14 +87,14 @@ var fileDescriptor_e25f61138fdc8ede = []byte{ 0x63, 0xa5, 0x84, 0x6c, 0x86, 0x52, 0x10, 0x77, 0x12, 0x42, 0xa5, 0x90, 0x21, 0x17, 0x67, 0x72, 0x7e, 0x4a, 0x6a, 0x7c, 0x46, 0x62, 0x71, 0x86, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x8f, 0x93, 0xc8, 0xa7, 0x7b, 0xf2, 0x02, 0x10, 0x8d, 0x70, 0x29, 0xa5, 0x20, 0x0e, 0x10, 0xdb, 0x23, 0xb1, 0x38, - 0xc3, 0xca, 0xa9, 0x63, 0x81, 0x3c, 0xc3, 0x8c, 0x05, 0xf2, 0x0c, 0x2f, 0x16, 0xc8, 0x33, 0x5c, + 0xc3, 0xca, 0xa9, 0x63, 0x81, 0x3c, 0xc3, 0x8c, 0x05, 0xf2, 0x0c, 0x2f, 0x16, 0xc8, 0x33, 0x9c, 0xda, 0xa2, 0x6b, 0x94, 0x9e, 0x59, 0x92, 0x51, 0x9a, 0xa4, 0x97, 0x9c, 0x9f, 0x0b, 0xf5, 0x22, 0x94, 0xd2, 0x2d, 0x4e, 0xc9, 0xd6, 0xaf, 0x80, 0x04, 0x0e, 0x24, 0xdc, 0xa0, 0xb6, 0x7a, 0x3a, 0x85, 0x9f, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x13, 0x1e, 0xcb, 0x31, 0x5c, 0x78, 0x2c, 0xc7, 0x70, 0xe3, 0xb1, 0x1c, 0x43, 0x94, 0x2d, 0x92, 0x69, 0x9e, 0xb0, 0x60, 0xf7, 0x49, 0x4c, 0x2a, 0xd6, 0x87, 0x47, 0x82, 0x6e, 0x72, 0x7e, 0x51, 0x2a, 0x32, 0x37, 0x23, 0x31, 0x33, 0x0f, 0x62, 0x43, 0x12, 0x1b, 0x38, 0x1c, 0x8d, 0x01, 0x01, 0x00, 0x00, - 0xff, 0xff, 0x94, 0xe4, 0x9d, 0xb8, 0xda, 0x01, 0x00, 0x00, + 0xff, 0xff, 0x96, 0xda, 0x34, 0x87, 0xda, 0x01, 0x00, 0x00, } func (m *EthAccount) Marshal() (dAtA []byte, err error) { diff --git a/chain/types/chain_id.go b/chain/types/chain_id.go index b97f7ce5..6882db48 100644 --- a/chain/types/chain_id.go +++ b/chain/types/chain_id.go @@ -1,27 +1,54 @@ package types import ( + "fmt" "math/big" + "regexp" "strings" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "cosmossdk.io/errors" + tmrand "github.com/cometbft/cometbft/libs/rand" +) + +var ( + regexChainID = `[a-z]*` + regexSeparator = `-{1}` + regexEpoch = `[1-9][0-9]*` + injectiveChainID = regexp.MustCompile(fmt.Sprintf(`^(%s)%s(%s)$`, regexChainID, regexSeparator, regexEpoch)) ) // IsValidChainID returns false if the given chain identifier is incorrectly formatted. func IsValidChainID(chainID string) bool { - return chainID == "888" + if len(chainID) > 48 { + return false + } + + return injectiveChainID.MatchString(chainID) } // ParseChainID parses a string chain identifier's epoch to an Ethereum-compatible // chain-id in *big.Int format. The function returns an error if the chain-id has an invalid format func ParseChainID(chainID string) (*big.Int, error) { chainID = strings.TrimSpace(chainID) + if len(chainID) > 48 { + return nil, errors.Wrapf(ErrInvalidChainID, "chain-id '%s' cannot exceed 48 chars", chainID) + } + + matches := injectiveChainID.FindStringSubmatch(chainID) + if matches == nil || len(matches) != 3 || matches[1] == "" { + return nil, errors.Wrap(ErrInvalidChainID, chainID) + } // verify that the chain-id entered is a base 10 integer - chainIDInt, ok := new(big.Int).SetString(chainID, 10) + chainIDInt, ok := new(big.Int).SetString(matches[2], 10) if !ok { - return nil, sdkerrors.Wrapf(ErrInvalidChainID, "epoch %s must be base-10 integer format", chainID) + return nil, errors.Wrapf(ErrInvalidChainID, "epoch %s must be base-10 integer format", matches[2]) } return chainIDInt, nil } + +// GenerateRandomChainID returns a random chain-id in the valid format. +func GenerateRandomChainID() string { + return fmt.Sprintf("injective-%d", 10+tmrand.Intn(10000)) +} diff --git a/chain/types/codec.go b/chain/types/codec.go index 63ae6808..f54fee74 100644 --- a/chain/types/codec.go +++ b/chain/types/codec.go @@ -2,6 +2,7 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/cosmos-sdk/types/tx" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" ) @@ -29,4 +30,10 @@ func RegisterInterfaces(registry codectypes.InterfaceRegistry) { (*ExtensionOptionsWeb3TxI)(nil), &ExtensionOptionsWeb3Tx{}, ) + + registry.RegisterInterface("injective.types.v1beta1.ExtensionOptionI", (*tx.ExtensionOptionI)(nil)) + registry.RegisterImplementations( + (*tx.ExtensionOptionI)(nil), + &ExtensionOptionsWeb3Tx{}, + ) } diff --git a/chain/types/coin.go b/chain/types/coin.go index 9e4a7784..824041f2 100644 --- a/chain/types/coin.go +++ b/chain/types/coin.go @@ -1,6 +1,7 @@ package types import ( + sdkmath "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -19,15 +20,15 @@ const ( BaseDenomUnit = 18 ) -// NewInjectiveCoin is a utility function that returns an "inj" coin with the given sdk.Int amount. +// NewInjectiveCoin is a utility function that returns an "inj" coin with the given sdkmath.Int amount. // The function will panic if the provided amount is negative. -func NewInjectiveCoin(amount sdk.Int) sdk.Coin { +func NewInjectiveCoin(amount sdkmath.Int) sdk.Coin { return sdk.NewCoin(InjectiveCoin, amount) } -// NewInjectiveDecCoin is a utility function that returns an "inj" decimal coin with the given sdk.Int amount. +// NewInjectiveDecCoin is a utility function that returns an "inj" decimal coin with the given sdkmath.Int amount. // The function will panic if the provided amount is negative. -func NewInjectiveDecCoin(amount sdk.Int) sdk.DecCoin { +func NewInjectiveDecCoin(amount sdkmath.Int) sdk.DecCoin { return sdk.NewDecCoin(InjectiveCoin, amount) } diff --git a/chain/types/config.go b/chain/types/config.go index 0df90326..38eb2515 100644 --- a/chain/types/config.go +++ b/chain/types/config.go @@ -6,21 +6,21 @@ import ( ) const ( - // InjectiveEvmBech32Prefix defines the Bech32 prefix used for EthAccounts on the Injective Chain - InjectiveEvmBech32Prefix = "inj" + // InjectiveBech32Prefix defines the Bech32 prefix used for EthAccounts on the Injective Chain + InjectiveBech32Prefix = "inj" // Bech32PrefixAccAddr defines the Bech32 prefix of an account's address - Bech32PrefixAccAddr = InjectiveEvmBech32Prefix + Bech32PrefixAccAddr = InjectiveBech32Prefix // Bech32PrefixAccPub defines the Bech32 prefix of an account's public key - Bech32PrefixAccPub = InjectiveEvmBech32Prefix + sdk.PrefixPublic + Bech32PrefixAccPub = InjectiveBech32Prefix + sdk.PrefixPublic // Bech32PrefixValAddr defines the Bech32 prefix of a validator's operator address - Bech32PrefixValAddr = InjectiveEvmBech32Prefix + sdk.PrefixValidator + sdk.PrefixOperator + Bech32PrefixValAddr = InjectiveBech32Prefix + sdk.PrefixValidator + sdk.PrefixOperator // Bech32PrefixValPub defines the Bech32 prefix of a validator's operator public key - Bech32PrefixValPub = InjectiveEvmBech32Prefix + sdk.PrefixValidator + sdk.PrefixOperator + sdk.PrefixPublic + Bech32PrefixValPub = InjectiveBech32Prefix + sdk.PrefixValidator + sdk.PrefixOperator + sdk.PrefixPublic // Bech32PrefixConsAddr defines the Bech32 prefix of a consensus node address - Bech32PrefixConsAddr = InjectiveEvmBech32Prefix + sdk.PrefixValidator + sdk.PrefixConsensus + Bech32PrefixConsAddr = InjectiveBech32Prefix + sdk.PrefixValidator + sdk.PrefixConsensus // Bech32PrefixConsPub defines the Bech32 prefix of a consensus node public key - Bech32PrefixConsPub = InjectiveEvmBech32Prefix + sdk.PrefixValidator + sdk.PrefixConsensus + sdk.PrefixPublic + Bech32PrefixConsPub = InjectiveBech32Prefix + sdk.PrefixValidator + sdk.PrefixConsensus + sdk.PrefixPublic // Bip44CoinType satisfies EIP84. See https://github.com/ethereum/EIPs/issues/84 for more info. Bip44CoinType = 60 @@ -41,5 +41,5 @@ func SetBech32Prefixes(config *sdk.Config) { // SetBip44CoinType sets the global coin type to be used in hierarchical deterministic wallets. func SetBip44CoinType(config *sdk.Config) { config.SetCoinType(Bip44CoinType) - config.SetFullFundraiserPath(BIP44HDPath) + config.SetFullFundraiserPath(BIP44HDPath) // nolint:staticcheck //no idea how to fix it properly } diff --git a/chain/types/errors.go b/chain/types/errors.go index 34da40b9..2408fad5 100644 --- a/chain/types/errors.go +++ b/chain/types/errors.go @@ -1,8 +1,6 @@ package types -import ( - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) +import "cosmossdk.io/errors" const ( // RootCodespace is the codespace for all errors defined in this package @@ -12,12 +10,6 @@ const ( // NOTE: We can't use 1 since that error code is reserved for internal errors. var ( - // ErrInvalidValue returns an error resulting from an invalid value. - ErrInvalidValue = sdkerrors.Register(RootCodespace, 2, "invalid value") - // ErrInvalidChainID returns an error resulting from an invalid chain ID. - ErrInvalidChainID = sdkerrors.Register(RootCodespace, 3, "invalid chain ID") - - // ErrVMExecution returns an error resulting from an error in EVM execution. - ErrVMExecution = sdkerrors.Register(RootCodespace, 4, "error while executing evm transaction") + ErrInvalidChainID = errors.Register(RootCodespace, 3, "invalid chain ID") ) diff --git a/chain/types/gas.go b/chain/types/gas.go new file mode 100644 index 00000000..1c15357a --- /dev/null +++ b/chain/types/gas.go @@ -0,0 +1,97 @@ +package types + +import ( + "fmt" + "math" + "sync" + + storetypes "github.com/cosmos/cosmos-sdk/store/types" +) + +type infiniteGasMeter struct { + consumed storetypes.Gas + mux sync.RWMutex +} + +// NewThreadsafeInfiniteGasMeter returns a reference to a new thread-safe infiniteGasMeter. +func NewThreadsafeInfiniteGasMeter() storetypes.GasMeter { + return &infiniteGasMeter{ + consumed: 0, + } +} + +func (g *infiniteGasMeter) GasRemaining() storetypes.Gas { + return math.MaxUint64 +} + +func (g *infiniteGasMeter) GasConsumed() storetypes.Gas { + g.mux.RLock() + defer g.mux.RUnlock() + + return g.consumed +} + +func (g *infiniteGasMeter) GasConsumedToLimit() storetypes.Gas { + g.mux.RLock() + defer g.mux.RUnlock() + + return g.consumed +} + +func (g *infiniteGasMeter) Limit() storetypes.Gas { + return 0 +} + +func (g *infiniteGasMeter) ConsumeGas(amount storetypes.Gas, descriptor string) { + g.mux.Lock() + defer g.mux.Unlock() + + var overflow bool + // TODO: Should we set the consumed field after overflow checking? + g.consumed, overflow = addUint64Overflow(g.consumed, amount) + if overflow { + panic(storetypes.ErrorGasOverflow{Descriptor: descriptor}) + } +} + +// RefundGas will deduct the given amount from the gas consumed. If the amount is greater than the +// gas consumed, the function will panic. +// +// Use case: This functionality enables refunding gas to the trasaction or block gas pools so that +// EVM-compatible chains can fully support the go-ethereum StateDb interface. +// See https://github.com/cosmos/cosmos-sdk/pull/9403 for reference. +func (g *infiniteGasMeter) RefundGas(amount storetypes.Gas, descriptor string) { + g.mux.Lock() + defer g.mux.Unlock() + + if g.consumed < amount { + panic(storetypes.ErrorNegativeGasConsumed{Descriptor: descriptor}) + } + + g.consumed -= amount +} + +func (g *infiniteGasMeter) IsPastLimit() bool { + return false +} + +func (g *infiniteGasMeter) IsOutOfGas() bool { + return false +} + +func (g *infiniteGasMeter) String() string { + g.mux.RLock() + defer g.mux.RUnlock() + + return fmt.Sprintf("InfiniteGasMeter:\n consumed: %d", g.consumed) +} + +// addUint64Overflow performs the addition operation on two uint64 integers and +// returns a boolean on whether or not the result overflows. +func addUint64Overflow(a, b uint64) (uint64, bool) { + if math.MaxUint64-a < b { + return 0, true + } + + return a + b, false +} diff --git a/chain/types/tx_ext.pb.go b/chain/types/tx_ext.pb.go index c305e029..3b5e02ae 100644 --- a/chain/types/tx_ext.pb.go +++ b/chain/types/tx_ext.pb.go @@ -5,8 +5,8 @@ package types import ( fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" diff --git a/chain/types/tx_response.pb.go b/chain/types/tx_response.pb.go index 314359a1..e4d2327b 100644 --- a/chain/types/tx_response.pb.go +++ b/chain/types/tx_response.pb.go @@ -5,7 +5,7 @@ package types import ( fmt "fmt" - proto "github.com/gogo/protobuf/proto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" @@ -22,7 +22,8 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -// base header ak message type, we can cast the bytes into corresponding message response type +// base header ak message type, we can cast the bytes into corresponding message +// response type type TxResponseGenericMessage struct { Header string `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` diff --git a/chain/wasmx/types/codec.go b/chain/wasmx/types/codec.go index 0c15e0a0..8b78b8db 100644 --- a/chain/wasmx/types/codec.go +++ b/chain/wasmx/types/codec.go @@ -6,20 +6,25 @@ import ( cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + authzcdc "github.com/cosmos/cosmos-sdk/x/authz/codec" + govcdc "github.com/cosmos/cosmos-sdk/x/gov/codec" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + groupcdc "github.com/cosmos/cosmos-sdk/x/group/codec" ) // RegisterLegacyAminoCodec registers the necessary x/wasmx interfaces and concrete types // on the provided LegacyAmino codec. These types are used for Amino JSON serialization. func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { - cdc.RegisterConcrete(&ContractRegistrationRequestProposal{}, "wasmx/ContractRegistrationRequestProposal", nil) - cdc.RegisterConcrete(&BatchContractRegistrationRequestProposal{}, "wasmx/BatchContractRegistrationRequestProposal", nil) - cdc.RegisterConcrete(&BatchContractDeregistrationProposal{}, "wasmx/BatchContractDeregistrationProposal", nil) - cdc.RegisterConcrete(&BatchStoreCodeProposal{}, "wasmx/BatchStoreCodeProposal", nil) cdc.RegisterConcrete(&MsgUpdateContract{}, "wasmx/MsgUpdateContract", nil) cdc.RegisterConcrete(&MsgActivateContract{}, "wasmx/MsgActivateContract", nil) cdc.RegisterConcrete(&MsgDeactivateContract{}, "wasmx/MsgDeactivateContract", nil) cdc.RegisterConcrete(&MsgExecuteContractCompat{}, "wasmx/MsgExecuteContractCompat", nil) + cdc.RegisterConcrete(&MsgUpdateParams{}, "wasmx/MsgUpdateParams", nil) + + cdc.RegisterConcrete(&ContractRegistrationRequestProposal{}, "wasmx/ContractRegistrationRequestProposal", nil) + cdc.RegisterConcrete(&BatchContractRegistrationRequestProposal{}, "wasmx/BatchContractRegistrationRequestProposal", nil) + cdc.RegisterConcrete(&BatchContractDeregistrationProposal{}, "wasmx/BatchContractDeregistrationProposal", nil) + cdc.RegisterConcrete(&BatchStoreCodeProposal{}, "wasmx/BatchStoreCodeProposal", nil) } func RegisterInterfaces(registry types.InterfaceRegistry) { @@ -36,6 +41,7 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { &MsgActivateContract{}, &MsgActivateContract{}, &MsgDeactivateContract{}, + &MsgUpdateParams{}, ) msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) @@ -57,4 +63,8 @@ func init() { RegisterLegacyAminoCodec(amino) cryptocodec.RegisterCrypto(amino) amino.Seal() + + RegisterLegacyAminoCodec(authzcdc.Amino) + RegisterLegacyAminoCodec(govcdc.Amino) + RegisterLegacyAminoCodec(groupcdc.Amino) } diff --git a/chain/wasmx/types/custom_execution.go b/chain/wasmx/types/custom_execution.go index 45934a07..f5d9d3ed 100644 --- a/chain/wasmx/types/custom_execution.go +++ b/chain/wasmx/types/custom_execution.go @@ -3,6 +3,7 @@ package types import ( "encoding/json" + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) @@ -20,11 +21,11 @@ type ExecutionData struct { func NewInjectiveExecMsg(origin sdk.AccAddress, data string) (*InjectiveExecMsg, error) { var e ExecutionData if err := json.Unmarshal([]byte(data), &e); err != nil { - return nil, sdkerrors.Wrap(err, data) + return nil, errors.Wrap(err, data) } if e.Origin == "" && origin.Empty() { - return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, "origin address is empty") + return nil, errors.Wrap(sdkerrors.ErrInvalidAddress, "origin address is empty") } // override e.Origin for safety diff --git a/chain/wasmx/types/errors.go b/chain/wasmx/types/errors.go index bdb28ded..a7268370 100644 --- a/chain/wasmx/types/errors.go +++ b/chain/wasmx/types/errors.go @@ -1,14 +1,17 @@ package types -import sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +import "cosmossdk.io/errors" var ( - ErrInvalidGasLimit = sdkerrors.Register(ModuleName, 1, "invalid gas limit") - ErrInvalidGasPrice = sdkerrors.Register(ModuleName, 2, "invalid gas price") - ErrInvalidContractAddress = sdkerrors.Register(ModuleName, 3, "invalid contract address") - ErrAlreadyRegistered = sdkerrors.Register(ModuleName, 4, "contract already registered") - ErrDuplicateContract = sdkerrors.Register(ModuleName, 5, "duplicate contract") - ErrNoContractAddresses = sdkerrors.Register(ModuleName, 6, "no contract addresses found") - ErrInvalidCodeId = sdkerrors.Register(ModuleName, 7, "invalid code id") - ErrDeductingGasFees = sdkerrors.Register(ModuleName, 8, "not possible to deduct gas fees") + ErrInvalidGasLimit = errors.Register(ModuleName, 1, "invalid gas limit") + ErrInvalidGasPrice = errors.Register(ModuleName, 2, "invalid gas price") + ErrInvalidContractAddress = errors.Register(ModuleName, 3, "invalid contract address") + ErrAlreadyRegistered = errors.Register(ModuleName, 4, "contract already registered") + ErrDuplicateContract = errors.Register(ModuleName, 5, "duplicate contract") + ErrNoContractAddresses = errors.Register(ModuleName, 6, "no contract addresses found") + ErrInvalidCodeId = errors.Register(ModuleName, 7, "invalid code id") + ErrDeductingGasFees = errors.Register(ModuleName, 8, "not possible to deduct gas fees") + ErrMissingGranterAddress = errors.Register(ModuleName, 9, "missing granter address") + ErrNoGranterAccount = errors.Register(ModuleName, 10, "granter address does not exist") + ErrInvalidFundingMode = errors.Register(ModuleName, 11, "invalid funding mode") ) diff --git a/chain/wasmx/types/events.pb.go b/chain/wasmx/types/events.pb.go new file mode 100644 index 00000000..386f1e3a --- /dev/null +++ b/chain/wasmx/types/events.pb.go @@ -0,0 +1,425 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: injective/wasmx/v1/events.proto + +package types + +import ( + fmt "fmt" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +type EventContractExecution struct { + ContractAddress string `protobuf:"bytes,1,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"` + Response []byte `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"` + Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (m *EventContractExecution) Reset() { *m = EventContractExecution{} } +func (m *EventContractExecution) String() string { return proto.CompactTextString(m) } +func (*EventContractExecution) ProtoMessage() {} +func (*EventContractExecution) Descriptor() ([]byte, []int) { + return fileDescriptor_f2ba06c5f04cb490, []int{0} +} +func (m *EventContractExecution) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventContractExecution) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventContractExecution.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EventContractExecution) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventContractExecution.Merge(m, src) +} +func (m *EventContractExecution) XXX_Size() int { + return m.Size() +} +func (m *EventContractExecution) XXX_DiscardUnknown() { + xxx_messageInfo_EventContractExecution.DiscardUnknown(m) +} + +var xxx_messageInfo_EventContractExecution proto.InternalMessageInfo + +func (m *EventContractExecution) GetContractAddress() string { + if m != nil { + return m.ContractAddress + } + return "" +} + +func (m *EventContractExecution) GetResponse() []byte { + if m != nil { + return m.Response + } + return nil +} + +func (m *EventContractExecution) GetError() string { + if m != nil { + return m.Error + } + return "" +} + +func init() { + proto.RegisterType((*EventContractExecution)(nil), "injective.wasmx.v1.EventContractExecution") +} + +func init() { proto.RegisterFile("injective/wasmx/v1/events.proto", fileDescriptor_f2ba06c5f04cb490) } + +var fileDescriptor_f2ba06c5f04cb490 = []byte{ + // 256 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x8f, 0x31, 0x4b, 0xc4, 0x30, + 0x18, 0x86, 0x1b, 0x45, 0xd1, 0x20, 0x28, 0xe1, 0x90, 0xd2, 0x21, 0x1e, 0x4e, 0xe7, 0x60, 0xc3, + 0xe1, 0x2f, 0x50, 0xb9, 0x41, 0x74, 0xba, 0xd1, 0x45, 0xd2, 0xf4, 0xa3, 0x17, 0xb1, 0xf9, 0x4a, + 0x92, 0xd6, 0xf3, 0x5f, 0xf8, 0xb3, 0x1c, 0x6f, 0x74, 0x94, 0xf6, 0x8f, 0xc8, 0xa5, 0xd7, 0xe2, + 0xe0, 0xf6, 0xbd, 0x4f, 0xde, 0x37, 0xf0, 0xd0, 0x0b, 0x6d, 0x5e, 0x41, 0x79, 0xdd, 0x80, 0x78, + 0x97, 0xae, 0x5c, 0x8b, 0x66, 0x2e, 0xa0, 0x01, 0xe3, 0x5d, 0x5a, 0x59, 0xf4, 0xc8, 0xd8, 0x58, + 0x48, 0x43, 0x21, 0x6d, 0xe6, 0x09, 0xff, 0x67, 0xd4, 0x3f, 0x86, 0x4d, 0x32, 0x29, 0xb0, 0xc0, + 0x70, 0x8a, 0xed, 0xd5, 0xd3, 0xcb, 0x9a, 0x9e, 0x2f, 0xb6, 0x3f, 0xdf, 0xa3, 0xf1, 0x56, 0x2a, + 0xbf, 0x58, 0x83, 0xaa, 0xbd, 0x46, 0xc3, 0xae, 0xe8, 0x99, 0xda, 0xc1, 0x17, 0x99, 0xe7, 0x16, + 0x9c, 0x8b, 0xc9, 0x94, 0xcc, 0x8e, 0x97, 0xa7, 0x03, 0xbf, 0xed, 0x31, 0x4b, 0xe8, 0x91, 0x05, + 0x57, 0xa1, 0x71, 0x10, 0xef, 0x4d, 0xc9, 0xec, 0x64, 0x39, 0x66, 0x36, 0xa1, 0x07, 0x60, 0x2d, + 0xda, 0x78, 0x3f, 0x6c, 0xfb, 0x70, 0x07, 0x5f, 0x2d, 0x27, 0x9b, 0x96, 0x93, 0x9f, 0x96, 0x93, + 0xcf, 0x8e, 0x47, 0x9b, 0x8e, 0x47, 0xdf, 0x1d, 0x8f, 0x9e, 0x1f, 0x0b, 0xed, 0x57, 0x75, 0x96, + 0x2a, 0x2c, 0xc5, 0xc3, 0x60, 0xf4, 0x24, 0x33, 0x27, 0x46, 0xbf, 0x6b, 0x85, 0x16, 0xfe, 0xc6, + 0x95, 0xd4, 0x46, 0x94, 0x98, 0xd7, 0x6f, 0xe0, 0x76, 0xf2, 0xfe, 0xa3, 0x02, 0x97, 0x1d, 0x06, + 0xc9, 0x9b, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd0, 0xa3, 0x7b, 0x5f, 0x51, 0x01, 0x00, 0x00, +} + +func (m *EventContractExecution) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EventContractExecution) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventContractExecution) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Error) > 0 { + i -= len(m.Error) + copy(dAtA[i:], m.Error) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Error))) + i-- + dAtA[i] = 0x1a + } + if len(m.Response) > 0 { + i -= len(m.Response) + copy(dAtA[i:], m.Response) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Response))) + i-- + dAtA[i] = 0x12 + } + if len(m.ContractAddress) > 0 { + i -= len(m.ContractAddress) + copy(dAtA[i:], m.ContractAddress) + i = encodeVarintEvents(dAtA, i, uint64(len(m.ContractAddress))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintEvents(dAtA []byte, offset int, v uint64) int { + offset -= sovEvents(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *EventContractExecution) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ContractAddress) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.Response) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.Error) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + return n +} + +func sovEvents(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozEvents(x uint64) (n int) { + return sovEvents(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *EventContractExecution) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: EventContractExecution: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventContractExecution: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ContractAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ContractAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Response", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Response = append(m.Response[:0], dAtA[iNdEx:postIndex]...) + if m.Response == nil { + m.Response = []byte{} + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Error", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Error = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipEvents(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowEvents + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowEvents + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowEvents + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthEvents + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupEvents + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthEvents + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthEvents = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowEvents = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupEvents = fmt.Errorf("proto: unexpected end of group") +) diff --git a/chain/wasmx/types/expected_keepers.go b/chain/wasmx/types/expected_keepers.go index ef73837b..81859f92 100644 --- a/chain/wasmx/types/expected_keepers.go +++ b/chain/wasmx/types/expected_keepers.go @@ -13,6 +13,8 @@ type BankKeeper interface { SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error BurnCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error + IsSendEnabledCoins(ctx sdk.Context, coins ...sdk.Coin) error + SendCoins(ctx sdk.Context, from, to sdk.AccAddress, amt sdk.Coins) error } type WasmViewKeeper interface { diff --git a/chain/wasmx/types/genesis.pb.go b/chain/wasmx/types/genesis.pb.go index 5bb2c095..fe9147ae 100644 --- a/chain/wasmx/types/genesis.pb.go +++ b/chain/wasmx/types/genesis.pb.go @@ -5,8 +5,8 @@ package types import ( fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" @@ -79,7 +79,8 @@ func (m *RegisteredContractWithAddress) GetRegisteredContract() *RegisteredContr type GenesisState struct { // params defines all the parameters of related to wasmx. Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` - // registered_contracts is an array containing the genesis registered contracts + // registered_contracts is an array containing the genesis registered + // contracts RegisteredContracts []RegisteredContractWithAddress `protobuf:"bytes,2,rep,name=registered_contracts,json=registeredContracts,proto3" json:"registered_contracts"` } diff --git a/chain/wasmx/types/key.go b/chain/wasmx/types/key.go index 70585caf..0ac5788e 100644 --- a/chain/wasmx/types/key.go +++ b/chain/wasmx/types/key.go @@ -15,6 +15,7 @@ const ( var ( ContractsByGasPricePrefix = []byte{0x01} // key to the smart contract execution request ID ContractsIndexPrefix = []byte{0x02} + ParamsKey = []byte{0x10} ) func GetContractsByGasPriceKey(gasPrice uint64, address sdk.AccAddress) []byte { diff --git a/chain/wasmx/types/msgs.go b/chain/wasmx/types/msgs.go index 50093458..2a60406f 100644 --- a/chain/wasmx/types/msgs.go +++ b/chain/wasmx/types/msgs.go @@ -1,6 +1,7 @@ package types import ( + "cosmossdk.io/errors" wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" @@ -13,8 +14,40 @@ const ( TypeMsgActivate = "msgActivate" TypeMsgDeactivate = "msgDeactivate" TypeMsgExecuteContractCompat = "executeContractCompat" + TypeMsgUpdateParams = "updateParams" + TypeMsgRegisterContract = "registerContract" ) +// Route implements the sdk.Msg interface. It should return the name of the module +func (msg MsgUpdateParams) Route() string { return RouterKey } + +// Type implements the sdk.Msg interface. It should return the action. +func (msg MsgUpdateParams) Type() string { return TypeMsgUpdateParams } + +// ValidateBasic implements the sdk.Msg interface. It runs stateless checks on the message +func (msg MsgUpdateParams) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Authority); err != nil { + return errors.Wrap(err, "invalid authority address") + } + + if err := msg.Params.Validate(); err != nil { + return err + } + + return nil +} + +// GetSignBytes implements the sdk.Msg interface. It encodes the message for signing +func (msg *MsgUpdateParams) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) +} + +// GetSigners implements the sdk.Msg interface. It defines whose signature is required +func (msg MsgUpdateParams) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(msg.Authority) + return []sdk.AccAddress{addr} +} + // Route implements the sdk.Msg interface. It should return the name of the module func (msg MsgUpdateContract) Route() string { return RouterKey } @@ -24,25 +57,25 @@ func (msg MsgUpdateContract) Type() string { return TypeMsgUpdate } // ValidateBasic implements the sdk.Msg interface. It runs stateless checks on the message func (msg MsgUpdateContract) ValidateBasic() error { if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if _, err := sdk.AccAddressFromBech32(msg.ContractAddress); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.ContractAddress) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.ContractAddress) } if msg.AdminAddress != "" { if _, err := sdk.AccAddressFromBech32(msg.AdminAddress); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.AdminAddress) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.AdminAddress) } } if msg.GasLimit == 0 { - return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "GasLimit must be > 0") + return errors.Wrap(sdkerrors.ErrInvalidRequest, "GasLimit must be > 0") } if msg.GasPrice == 0 { - return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "GasPrice must be > 0") + return errors.Wrap(sdkerrors.ErrInvalidRequest, "GasPrice must be > 0") } return nil @@ -71,10 +104,10 @@ func (msg MsgActivateContract) Type() string { return TypeMsgActivate } // ValidateBasic implements the sdk.Msg interface. It runs stateless checks on the message func (msg MsgActivateContract) ValidateBasic() error { if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if _, err := sdk.AccAddressFromBech32(msg.ContractAddress); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.ContractAddress) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.ContractAddress) } return nil } @@ -102,10 +135,10 @@ func (msg MsgDeactivateContract) Type() string { return TypeMsgDeactivate } // ValidateBasic implements the sdk.Msg interface. It runs stateless checks on the message func (msg MsgDeactivateContract) ValidateBasic() error { if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if _, err := sdk.AccAddressFromBech32(msg.ContractAddress); err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.ContractAddress) + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.ContractAddress) } return nil } @@ -166,3 +199,28 @@ func (msg MsgExecuteContractCompat) GetSigners() []sdk.AccAddress { } return []sdk.AccAddress{senderAddr} } + +// Route implements the sdk.Msg interface. It should return the name of the module +func (msg MsgRegisterContract) Route() string { return RouterKey } + +// Type implements the sdk.Msg interface. It should return the action. +func (msg MsgRegisterContract) Type() string { return TypeMsgRegisterContract } + +// ValidateBasic implements the sdk.Msg interface. It runs stateless checks on the message +func (msg MsgRegisterContract) ValidateBasic() error { + if err := msg.ContractRegistrationRequest.Validate(); err != nil { + return err + } + return nil +} + +// GetSignBytes implements the sdk.Msg interface. It encodes the message for signing +func (msg *MsgRegisterContract) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) +} + +// GetSigners implements the sdk.Msg interface. It defines whose signature is required +func (msg MsgRegisterContract) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(msg.Sender) + return []sdk.AccAddress{addr} +} diff --git a/chain/wasmx/types/proposal.go b/chain/wasmx/types/proposal.go index db2bba4c..803eeeb8 100644 --- a/chain/wasmx/types/proposal.go +++ b/chain/wasmx/types/proposal.go @@ -1,10 +1,9 @@ package types import ( - wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - gov "github.com/cosmos/cosmos-sdk/x/gov/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" ) // constants @@ -16,21 +15,17 @@ const ( ) func init() { - gov.RegisterProposalType(ProposalContractRegistrationRequest) - gov.RegisterProposalTypeCodec(&ContractRegistrationRequestProposal{}, "injective/ContractRegistrationRequestProposal") - gov.RegisterProposalType(ProposalBatchContractRegistrationRequest) - gov.RegisterProposalTypeCodec(&BatchContractRegistrationRequestProposal{}, "injective/BatchContractRegistrationRequestProposal") - gov.RegisterProposalType(ProposalBatchContractDeregistration) - gov.RegisterProposalTypeCodec(&BatchContractDeregistrationProposal{}, "injective/BatchContractDeregistrationProposal") - gov.RegisterProposalType(ProposalBatchStoreCode) - gov.RegisterProposalTypeCodec(&BatchStoreCodeProposal{}, "injective/BatchStoreCodeProposal") + govtypes.RegisterProposalType(ProposalContractRegistrationRequest) + govtypes.RegisterProposalType(ProposalBatchContractRegistrationRequest) + govtypes.RegisterProposalType(ProposalBatchContractDeregistration) + govtypes.RegisterProposalType(ProposalBatchStoreCode) } // Implements Proposal Interface -var _ gov.Content = &ContractRegistrationRequestProposal{} -var _ gov.Content = &BatchContractRegistrationRequestProposal{} -var _ gov.Content = &BatchContractDeregistrationProposal{} -var _ gov.Content = &BatchStoreCodeProposal{} +var _ govtypes.Content = &ContractRegistrationRequestProposal{} +var _ govtypes.Content = &BatchContractRegistrationRequestProposal{} +var _ govtypes.Content = &BatchContractDeregistrationProposal{} +var _ govtypes.Content = &BatchStoreCodeProposal{} // NewContractRegistrationRequestProposal returns new instance of ContractRegistrationRequestProposal func NewContractRegistrationRequestProposal(title, description string, contractRegistrationRequest ContractRegistrationRequest) *ContractRegistrationRequestProposal { @@ -61,12 +56,38 @@ func (p *ContractRegistrationRequestProposal) ProposalType() string { // ValidateBasic returns ValidateBasic result of this proposal. func (p *ContractRegistrationRequestProposal) ValidateBasic() error { + if err := p.ContractRegistrationRequest.Validate(); err != nil { + return err + } + + return govtypes.ValidateAbstract(p) +} + +func (req *ContractRegistrationRequest) Validate() error { // Check if contract address is valid - if _, err := sdk.AccAddressFromBech32(p.ContractRegistrationRequest.ContractAddress); err != nil { - return sdkerrors.Wrapf(ErrInvalidContractAddress, "ContractRegistrationRequestProposal: Error parsing registry contract address %s", err.Error()) + if _, err := sdk.AccAddressFromBech32(req.ContractAddress); err != nil { + return errors.Wrapf(ErrInvalidContractAddress, "ContractRegistrationRequestProposal: Error parsing registry contract address %s", err.Error()) + } + + if req.GranterAddress != "" { + if _, err := sdk.AccAddressFromBech32(req.GranterAddress); err != nil { + return errors.Wrapf(ErrInvalidContractAddress, "ContractRegistrationRequestProposal: Error parsing granter address %s", err.Error()) + } + } + + if req.FundingMode == FundingMode_Unspecified { + return errors.Wrapf(ErrInvalidFundingMode, "ContractRegistrationRequestProposal: FundingMode must be specified") } - return gov.ValidateAbstract(p) + if (req.FundingMode == FundingMode_GrantOnly || req.FundingMode == FundingMode_Dual) && req.GranterAddress == "" { + return errors.Wrapf(ErrInvalidFundingMode, "GranterAddress must be specified") + } + + if req.FundingMode == FundingMode_SelfFunded && req.GranterAddress != "" { + return errors.Wrapf(ErrInvalidFundingMode, "GranterAddress must be empty for self-funded contracts") + } + + return nil } // GetTitle returns the title of this proposal. @@ -90,17 +111,16 @@ func (p *BatchContractRegistrationRequestProposal) ProposalType() string { // ValidateBasic returns ValidateBasic result of this proposal. func (p *BatchContractRegistrationRequestProposal) ValidateBasic() error { for _, req := range p.ContractRegistrationRequests { - // Check if contract address is valid - if _, err := sdk.AccAddressFromBech32(req.ContractAddress); err != nil { - return sdkerrors.Wrapf(ErrInvalidContractAddress, "BatchContractRegistrationRequestProposal: Error parsing registry contract address %s", err.Error()) + if err := req.Validate(); err != nil { + return err } } if hasDuplicatesContractRegistrationRequest(p.ContractRegistrationRequests) { - return sdkerrors.Wrapf(ErrDuplicateContract, "BatchContractRegistrationRequestProposal: Duplicate contract registration requests") + return errors.Wrapf(ErrDuplicateContract, "BatchContractRegistrationRequestProposal: Duplicate contract registration requests") } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } // GetTitle returns the title of this proposal. @@ -124,7 +144,7 @@ func (p *BatchContractDeregistrationProposal) ProposalType() string { // ValidateBasic returns ValidateBasic result of this proposal. func (p *BatchContractDeregistrationProposal) ValidateBasic() error { if len(p.Contracts) == 0 { - return sdkerrors.Wrapf(ErrNoContractAddresses, "BatchContractDeregistrationProposal: Contract list was empty") + return errors.Wrapf(ErrNoContractAddresses, "BatchContractDeregistrationProposal: Contract list was empty") } found := make(map[string]struct{}) @@ -133,27 +153,18 @@ func (p *BatchContractDeregistrationProposal) ValidateBasic() error { // Check if contract address is valid addr, err := sdk.AccAddressFromBech32(contract) if err != nil { - return sdkerrors.Wrapf(ErrInvalidContractAddress, "BatchContractDeregistrationProposal: Error parsing contract address %s", err.Error()) + return errors.Wrapf(ErrInvalidContractAddress, "BatchContractDeregistrationProposal: Error parsing contract address %s", err.Error()) } // Check that there are no duplicate contract addresses if _, ok := found[addr.String()]; ok { - return sdkerrors.Wrapf(ErrDuplicateContract, "BatchContractDeregistrationProposal: Duplicate contract in contracts to deregister") + return errors.Wrapf(ErrDuplicateContract, "BatchContractDeregistrationProposal: Duplicate contract in contracts to deregister") } else { found[addr.String()] = struct{}{} } } - return gov.ValidateAbstract(p) -} - -// NewBatchStoreCodeProposal returns new instance of BatchStoreCodeProposal -func NewBatchStoreCodeProposal(title, description string, proposals []wasmtypes.StoreCodeProposal) *BatchStoreCodeProposal { - return &BatchStoreCodeProposal{ - Title: title, - Description: description, - Proposals: proposals, - } + return govtypes.ValidateAbstract(p) } // GetTitle returns the title of this proposal. @@ -182,7 +193,7 @@ func (p *BatchStoreCodeProposal) ValidateBasic() error { } } - return gov.ValidateAbstract(p) + return govtypes.ValidateAbstract(p) } func HasDuplicates(slice []string) bool { diff --git a/chain/wasmx/types/proposal.pb.go b/chain/wasmx/types/proposal.pb.go index 72da51c0..128ae2cc 100644 --- a/chain/wasmx/types/proposal.pb.go +++ b/chain/wasmx/types/proposal.pb.go @@ -6,8 +6,9 @@ package types import ( fmt "fmt" types "github.com/CosmWasm/wasmd/x/wasm/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/cosmos-proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" @@ -24,6 +25,37 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package +type FundingMode int32 + +const ( + FundingMode_Unspecified FundingMode = 0 + FundingMode_SelfFunded FundingMode = 1 + FundingMode_GrantOnly FundingMode = 2 + FundingMode_Dual FundingMode = 3 +) + +var FundingMode_name = map[int32]string{ + 0: "Unspecified", + 1: "SelfFunded", + 2: "GrantOnly", + 3: "Dual", +} + +var FundingMode_value = map[string]int32{ + "Unspecified": 0, + "SelfFunded": 1, + "GrantOnly": 2, + "Dual": 3, +} + +func (x FundingMode) String() string { + return proto.EnumName(FundingMode_name, int32(x)) +} + +func (FundingMode) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_ba51f3e994cc61a5, []int{0} +} + type ContractRegistrationRequestProposal struct { Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` @@ -151,12 +183,20 @@ type ContractRegistrationRequest struct { // gas price to be used for the smart contract execution. GasPrice uint64 `protobuf:"varint,3,opt,name=gas_price,json=gasPrice,proto3" json:"gas_price,omitempty"` ShouldPinContract bool `protobuf:"varint,4,opt,name=should_pin_contract,json=shouldPinContract,proto3" json:"should_pin_contract,omitempty"` - // if true contract owner can update it, if false only current code_id will be allowed to be executed + // if true contract owner can update it, if false only current code_id will be + // allowed to be executed IsMigrationAllowed bool `protobuf:"varint,5,opt,name=is_migration_allowed,json=isMigrationAllowed,proto3" json:"is_migration_allowed,omitempty"` - // code_id of the contract being registered - will be verified upon every execution but only if is_migration_allowed is false + // code_id of the contract being registered - will be verified upon every + // execution but only if is_migration_allowed is false CodeId uint64 `protobuf:"varint,6,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` - // Optional address of admin account (that will be allowed to pause or update contract params) + // Optional address of admin account (that will be allowed to pause or update + // contract params) AdminAddress string `protobuf:"bytes,7,opt,name=admin_address,json=adminAddress,proto3" json:"admin_address,omitempty"` + // Optional address of the contract that grants fees. Must be set if + // funding_mode is other than SelfFunded + GranterAddress string `protobuf:"bytes,8,opt,name=granter_address,json=granterAddress,proto3" json:"granter_address,omitempty"` + // Specifies how the contract will fund its execution + FundingMode FundingMode `protobuf:"varint,9,opt,name=funding_mode,json=fundingMode,proto3,enum=injective.wasmx.v1.FundingMode" json:"funding_mode,omitempty"` } func (m *ContractRegistrationRequest) Reset() { *m = ContractRegistrationRequest{} } @@ -241,6 +281,20 @@ func (m *ContractRegistrationRequest) GetAdminAddress() string { return "" } +func (m *ContractRegistrationRequest) GetGranterAddress() string { + if m != nil { + return m.GranterAddress + } + return "" +} + +func (m *ContractRegistrationRequest) GetFundingMode() FundingMode { + if m != nil { + return m.FundingMode + } + return FundingMode_Unspecified +} + type BatchStoreCodeProposal struct { Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` @@ -281,6 +335,7 @@ func (m *BatchStoreCodeProposal) XXX_DiscardUnknown() { var xxx_messageInfo_BatchStoreCodeProposal proto.InternalMessageInfo func init() { + proto.RegisterEnum("injective.wasmx.v1.FundingMode", FundingMode_name, FundingMode_value) proto.RegisterType((*ContractRegistrationRequestProposal)(nil), "injective.wasmx.v1.ContractRegistrationRequestProposal") proto.RegisterType((*BatchContractRegistrationRequestProposal)(nil), "injective.wasmx.v1.BatchContractRegistrationRequestProposal") proto.RegisterType((*BatchContractDeregistrationProposal)(nil), "injective.wasmx.v1.BatchContractDeregistrationProposal") @@ -291,42 +346,51 @@ func init() { func init() { proto.RegisterFile("injective/wasmx/v1/proposal.proto", fileDescriptor_ba51f3e994cc61a5) } var fileDescriptor_ba51f3e994cc61a5 = []byte{ - // 548 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x94, 0x41, 0x6f, 0xd3, 0x30, - 0x14, 0xc7, 0x93, 0xb5, 0xeb, 0x5a, 0x0f, 0x04, 0x98, 0x0a, 0xa2, 0x15, 0xd2, 0xd2, 0x5e, 0xca, - 0x81, 0x84, 0xc1, 0x8d, 0xdb, 0x3a, 0x24, 0x34, 0x31, 0xa4, 0x2a, 0xdc, 0xb8, 0x44, 0xae, 0x6d, - 0xa5, 0x46, 0x49, 0x1c, 0x6c, 0xb7, 0x63, 0xe2, 0x0b, 0x20, 0x71, 0xe1, 0x23, 0x4c, 0xf0, 0x65, - 0x76, 0xdc, 0x91, 0x13, 0x42, 0xed, 0x05, 0xbe, 0x05, 0x8a, 0x13, 0x77, 0x41, 0x15, 0x3d, 0x30, - 0x71, 0xeb, 0x7b, 0xff, 0xe7, 0xe7, 0xff, 0xaf, 0xef, 0xc5, 0xe0, 0x01, 0x4b, 0xdf, 0x52, 0xac, - 0xd8, 0x9c, 0xfa, 0x27, 0x48, 0x26, 0xef, 0xfd, 0xf9, 0xbe, 0x9f, 0x09, 0x9e, 0x71, 0x89, 0x62, - 0x2f, 0x13, 0x5c, 0x71, 0x08, 0x57, 0x25, 0x9e, 0x2e, 0xf1, 0xe6, 0xfb, 0x7b, 0xed, 0x88, 0x47, - 0x5c, 0xcb, 0x7e, 0xfe, 0xab, 0xa8, 0xdc, 0xeb, 0x62, 0x2e, 0x93, 0xbc, 0x46, 0xf7, 0x5a, 0x6f, - 0xd5, 0x5f, 0xd8, 0x60, 0x70, 0xc8, 0x53, 0x25, 0x10, 0x56, 0x01, 0x8d, 0x98, 0x54, 0x02, 0x29, - 0xc6, 0xd3, 0x80, 0xbe, 0x9b, 0x51, 0xa9, 0xc6, 0x65, 0x35, 0x6c, 0x83, 0x6d, 0xc5, 0x54, 0x4c, - 0x1d, 0xbb, 0x67, 0x0f, 0x5b, 0x41, 0x11, 0xc0, 0x1e, 0xd8, 0x25, 0x54, 0x62, 0xc1, 0xb2, 0xfc, - 0x8c, 0xb3, 0xa5, 0xb5, 0x6a, 0x0a, 0x9e, 0x82, 0xfb, 0xb8, 0x6c, 0x1f, 0x8a, 0x4a, 0xff, 0x50, - 0x14, 0x17, 0x38, 0xb5, 0x9e, 0x3d, 0xdc, 0x7d, 0xe2, 0x7b, 0xeb, 0x48, 0xde, 0x06, 0x5f, 0xa3, - 0xfa, 0xf9, 0xf7, 0xae, 0x15, 0x74, 0xf0, 0xdf, 0x4b, 0x9e, 0x35, 0x3f, 0x9e, 0x75, 0xad, 0x9f, - 0x67, 0x5d, 0xab, 0xff, 0xcb, 0x06, 0xc3, 0x11, 0x52, 0x78, 0xfa, 0x3f, 0x49, 0x3f, 0x00, 0x77, - 0x23, 0xa9, 0x74, 0x6a, 0xbd, 0xda, 0xbf, 0xa3, 0xde, 0xdb, 0x80, 0x2a, 0x2b, 0xac, 0x9f, 0x6c, - 0x30, 0xf8, 0x83, 0xf5, 0x39, 0xad, 0xba, 0xb9, 0x32, 0x66, 0x1f, 0xb4, 0x8c, 0x93, 0x82, 0xa8, - 0x55, 0x1a, 0xbc, 0x4c, 0x57, 0xdc, 0x7c, 0xd9, 0x02, 0x9d, 0x0d, 0x6c, 0xf0, 0x21, 0xb8, 0xb9, - 0xfa, 0xd3, 0x10, 0x21, 0x82, 0x4a, 0x59, 0x1a, 0xba, 0x61, 0xf2, 0x07, 0x45, 0x1a, 0x76, 0x40, - 0x2b, 0x42, 0x32, 0x8c, 0x59, 0xc2, 0x94, 0x36, 0x56, 0x0f, 0x9a, 0x11, 0x92, 0xc7, 0x79, 0x6c, - 0xc4, 0x4c, 0x30, 0x4c, 0xf5, 0x4a, 0x15, 0xe2, 0x38, 0x8f, 0xa1, 0x07, 0x6e, 0xcb, 0x29, 0x9f, - 0xc5, 0x24, 0xcc, 0x58, 0x1a, 0x9a, 0xbe, 0x4e, 0xbd, 0x67, 0x0f, 0x9b, 0xc1, 0xad, 0x42, 0x1a, - 0xb3, 0xd4, 0xf8, 0x84, 0x8f, 0x41, 0x9b, 0xc9, 0x30, 0x61, 0x51, 0x39, 0x40, 0x14, 0xc7, 0xfc, - 0x84, 0x12, 0x67, 0x5b, 0x1f, 0x80, 0x4c, 0xbe, 0x32, 0xd2, 0x41, 0xa1, 0xc0, 0xbb, 0x60, 0x07, - 0x73, 0x42, 0x43, 0x46, 0x9c, 0x86, 0xbe, 0xbc, 0x91, 0x87, 0x47, 0x04, 0x0e, 0xc0, 0x75, 0x44, - 0x12, 0x96, 0xae, 0xe0, 0x76, 0x34, 0xdc, 0x35, 0x9d, 0x2c, 0xc9, 0xfa, 0x5f, 0x6d, 0x70, 0x47, - 0x8f, 0xec, 0xb5, 0xe2, 0x82, 0x1e, 0x72, 0x42, 0xaf, 0x3c, 0xa5, 0x17, 0xa0, 0x65, 0x3e, 0x74, - 0xb3, 0x77, 0x03, 0xcf, 0xbc, 0x05, 0x7a, 0xed, 0xf2, 0xad, 0x5b, 0xbb, 0xcf, 0x8c, 0x72, 0x75, - 0xf6, 0x72, 0x94, 0x23, 0x7a, 0xbe, 0x70, 0xed, 0x8b, 0x85, 0x6b, 0xff, 0x58, 0xb8, 0xf6, 0xe7, - 0xa5, 0x6b, 0x5d, 0x2c, 0x5d, 0xeb, 0xdb, 0xd2, 0xb5, 0xde, 0xbc, 0x8c, 0x98, 0x9a, 0xce, 0x26, - 0x1e, 0xe6, 0x89, 0x7f, 0x64, 0x76, 0xfb, 0x18, 0x4d, 0xa4, 0xbf, 0xda, 0xf4, 0x47, 0x98, 0x0b, - 0x5a, 0x0d, 0xa7, 0x88, 0xa5, 0x7e, 0xc2, 0xc9, 0x2c, 0xa6, 0xb2, 0x7c, 0xe7, 0xd4, 0x69, 0x46, - 0xe5, 0xa4, 0xa1, 0xdf, 0xa5, 0xa7, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0xc3, 0x45, 0xa1, 0x03, - 0x07, 0x05, 0x00, 0x00, + // 689 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0xcd, 0x6e, 0xd3, 0x40, + 0x10, 0xb6, 0x93, 0xb4, 0x8d, 0x37, 0xfd, 0x09, 0x4b, 0x05, 0x26, 0x2d, 0x4e, 0x68, 0x24, 0x08, + 0x48, 0xb5, 0x69, 0xb9, 0xf5, 0xd6, 0xb4, 0xa2, 0xaa, 0x68, 0x45, 0xe5, 0x8a, 0x0b, 0x17, 0x6b, + 0xe3, 0xdd, 0x38, 0x8b, 0x6c, 0xaf, 0xf1, 0x6e, 0x52, 0x2a, 0x2e, 0xdc, 0xe0, 0xc8, 0x23, 0x54, + 0xe2, 0x01, 0xb8, 0xf0, 0x02, 0xdc, 0x2a, 0x4e, 0x3d, 0x72, 0x42, 0xa8, 0xbd, 0xf0, 0x18, 0xc8, + 0x6b, 0x3b, 0x0d, 0x2a, 0x84, 0x8a, 0x8a, 0x5b, 0xbe, 0x99, 0x6f, 0x66, 0xbf, 0xf9, 0x76, 0xbc, + 0x01, 0x77, 0x68, 0xf8, 0x82, 0xb8, 0x82, 0x0e, 0x88, 0x75, 0x80, 0x78, 0xf0, 0xca, 0x1a, 0xac, + 0x58, 0x51, 0xcc, 0x22, 0xc6, 0x91, 0x6f, 0x46, 0x31, 0x13, 0x0c, 0xc2, 0x21, 0xc5, 0x94, 0x14, + 0x73, 0xb0, 0x52, 0xbb, 0xe5, 0x32, 0x1e, 0x30, 0xee, 0x48, 0x86, 0x95, 0x82, 0x94, 0x5e, 0xab, + 0x27, 0x28, 0x21, 0xca, 0x86, 0x17, 0xfb, 0xd5, 0xe6, 0x3d, 0xe6, 0xb1, 0xb4, 0x30, 0xf9, 0x95, + 0x46, 0x97, 0xde, 0x14, 0x40, 0x73, 0x83, 0x85, 0x22, 0x46, 0xae, 0xb0, 0x89, 0x47, 0xb9, 0x88, + 0x91, 0xa0, 0x2c, 0xb4, 0xc9, 0xcb, 0x3e, 0xe1, 0x62, 0x2f, 0xeb, 0x01, 0xe7, 0xc1, 0x84, 0xa0, + 0xc2, 0x27, 0xba, 0xda, 0x50, 0x5b, 0x9a, 0x9d, 0x02, 0xd8, 0x00, 0x15, 0x4c, 0xb8, 0x1b, 0xd3, + 0x28, 0xa9, 0xd1, 0x0b, 0x32, 0x37, 0x1a, 0x82, 0x87, 0xe0, 0xb6, 0x9b, 0xb5, 0x77, 0xe2, 0x91, + 0xfe, 0x4e, 0x9c, 0x1e, 0xa0, 0x17, 0x1b, 0x6a, 0xab, 0xb2, 0x6a, 0x99, 0x17, 0xa7, 0x35, 0xc7, + 0xe8, 0x6a, 0x97, 0x8e, 0xbf, 0xd5, 0x15, 0x7b, 0xc1, 0xfd, 0x33, 0x65, 0xed, 0xee, 0xbb, 0xa3, + 0xba, 0xf2, 0xe3, 0xa8, 0xae, 0x7c, 0xf9, 0xb4, 0x5c, 0xcb, 0xbc, 0xf2, 0xd8, 0xc0, 0x1c, 0xac, + 0x74, 0x88, 0x40, 0x69, 0x7b, 0x12, 0x8a, 0xa5, 0xb7, 0x05, 0xd0, 0x6a, 0x23, 0xe1, 0xf6, 0xfe, + 0xa7, 0x0f, 0xaf, 0x81, 0x31, 0xd6, 0x07, 0xae, 0x17, 0x1b, 0xc5, 0x7f, 0x37, 0x62, 0x71, 0x8c, + 0x11, 0xfc, 0xd2, 0x4e, 0x7c, 0x50, 0x41, 0xf3, 0x17, 0x27, 0x36, 0xc9, 0xa8, 0xd6, 0x2b, 0x9b, + 0xb0, 0x08, 0xb4, 0x5c, 0x67, 0x3a, 0xaf, 0x66, 0x9f, 0x07, 0x2e, 0xad, 0xf2, 0x63, 0x11, 0x2c, + 0x8c, 0x71, 0x04, 0xde, 0x07, 0xd5, 0xa1, 0xd5, 0x08, 0xe3, 0x98, 0x70, 0x9e, 0x09, 0x9d, 0xcb, + 0xe3, 0xeb, 0x69, 0x18, 0x2e, 0x00, 0xcd, 0x43, 0xdc, 0xf1, 0x69, 0x40, 0x85, 0x14, 0x5c, 0xb2, + 0xcb, 0x1e, 0xe2, 0x3b, 0x09, 0xce, 0x93, 0x51, 0x4c, 0x5d, 0x22, 0xd7, 0x34, 0x4d, 0xee, 0x25, + 0x18, 0x9a, 0xe0, 0x3a, 0xef, 0xb1, 0xbe, 0x8f, 0x9d, 0x88, 0x86, 0x4e, 0xde, 0x57, 0x2f, 0x35, + 0xd4, 0x56, 0xd9, 0xbe, 0x96, 0xa6, 0xf6, 0x68, 0x98, 0xeb, 0x84, 0x0f, 0xc1, 0x3c, 0xe5, 0x4e, + 0x40, 0xbd, 0xec, 0xda, 0x91, 0xef, 0xb3, 0x03, 0x82, 0xf5, 0x09, 0x59, 0x00, 0x29, 0xdf, 0xcd, + 0x53, 0xeb, 0x69, 0x06, 0xde, 0x04, 0x53, 0x2e, 0xc3, 0xc4, 0xa1, 0x58, 0x9f, 0x94, 0x87, 0x4f, + 0x26, 0x70, 0x1b, 0xc3, 0x26, 0x98, 0x41, 0x38, 0xa0, 0xe1, 0x70, 0xb8, 0x29, 0x39, 0xdc, 0xb4, + 0x0c, 0xe6, 0x93, 0xdd, 0x03, 0x73, 0x5e, 0x8c, 0x42, 0x41, 0xe2, 0x21, 0xad, 0x2c, 0x69, 0xb3, + 0x59, 0x38, 0x27, 0xb6, 0xc1, 0x74, 0xb7, 0x1f, 0x62, 0x1a, 0x7a, 0x4e, 0xc0, 0x30, 0xd1, 0xb5, + 0x86, 0xda, 0x9a, 0x5d, 0xad, 0xff, 0x6e, 0x0d, 0x1f, 0xa7, 0xbc, 0x5d, 0x86, 0x89, 0x5d, 0xe9, + 0x9e, 0x83, 0x35, 0xe3, 0x2f, 0x37, 0xf6, 0x59, 0x05, 0x37, 0xe4, 0x5e, 0xed, 0x0b, 0x16, 0x93, + 0x0d, 0x86, 0xc9, 0x95, 0x57, 0x69, 0x0b, 0x68, 0xf9, 0xfb, 0x96, 0x7f, 0x3a, 0x4d, 0x33, 0x7f, + 0x02, 0xa5, 0xe4, 0x44, 0xf1, 0x85, 0xf3, 0xb2, 0xcf, 0xe5, 0xbc, 0xf6, 0xb2, 0x5b, 0xf7, 0x60, + 0x0b, 0x54, 0x46, 0xe6, 0x87, 0x73, 0xa0, 0xf2, 0x2c, 0xe4, 0x11, 0x71, 0x69, 0x97, 0x12, 0x5c, + 0x55, 0xe0, 0x2c, 0x00, 0xfb, 0xc4, 0xef, 0x26, 0x1c, 0x82, 0xab, 0x2a, 0x9c, 0x01, 0xda, 0x56, + 0xe2, 0xf4, 0xd3, 0xd0, 0x3f, 0xac, 0x16, 0x60, 0x19, 0x94, 0x36, 0xfb, 0xc8, 0xaf, 0x16, 0xdb, + 0xe4, 0xf8, 0xd4, 0x50, 0x4f, 0x4e, 0x0d, 0xf5, 0xfb, 0xa9, 0xa1, 0xbe, 0x3f, 0x33, 0x94, 0x93, + 0x33, 0x43, 0xf9, 0x7a, 0x66, 0x28, 0xcf, 0x9f, 0x78, 0x54, 0xf4, 0xfa, 0x1d, 0xd3, 0x65, 0x81, + 0xb5, 0x9d, 0xdb, 0xbf, 0x83, 0x3a, 0xdc, 0x1a, 0x5e, 0xc6, 0xb2, 0xcb, 0x62, 0x32, 0x0a, 0x7b, + 0x88, 0x86, 0x56, 0xc0, 0x70, 0xdf, 0x27, 0x3c, 0xfb, 0x2b, 0x11, 0x87, 0x11, 0xe1, 0x9d, 0x49, + 0xf9, 0xbe, 0x3f, 0xfa, 0x19, 0x00, 0x00, 0xff, 0xff, 0x78, 0xce, 0x77, 0x78, 0x6a, 0x06, 0x00, + 0x00, } func (m *ContractRegistrationRequestProposal) Marshal() (dAtA []byte, err error) { @@ -493,6 +557,18 @@ func (m *ContractRegistrationRequest) MarshalToSizedBuffer(dAtA []byte) (int, er _ = i var l int _ = l + if m.FundingMode != 0 { + i = encodeVarintProposal(dAtA, i, uint64(m.FundingMode)) + i-- + dAtA[i] = 0x48 + } + if len(m.GranterAddress) > 0 { + i -= len(m.GranterAddress) + copy(dAtA[i:], m.GranterAddress) + i = encodeVarintProposal(dAtA, i, uint64(len(m.GranterAddress))) + i-- + dAtA[i] = 0x42 + } if len(m.AdminAddress) > 0 { i -= len(m.AdminAddress) copy(dAtA[i:], m.AdminAddress) @@ -701,6 +777,13 @@ func (m *ContractRegistrationRequest) Size() (n int) { if l > 0 { n += 1 + l + sovProposal(uint64(l)) } + l = len(m.GranterAddress) + if l > 0 { + n += 1 + l + sovProposal(uint64(l)) + } + if m.FundingMode != 0 { + n += 1 + sovProposal(uint64(m.FundingMode)) + } return n } @@ -1364,6 +1447,57 @@ func (m *ContractRegistrationRequest) Unmarshal(dAtA []byte) error { } m.AdminAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GranterAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProposal + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthProposal + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProposal + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.GranterAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FundingMode", wireType) + } + m.FundingMode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProposal + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.FundingMode |= FundingMode(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipProposal(dAtA[iNdEx:]) diff --git a/chain/wasmx/types/query.pb.go b/chain/wasmx/types/query.pb.go index 977efbc1..a94efce7 100644 --- a/chain/wasmx/types/query.pb.go +++ b/chain/wasmx/types/query.pb.go @@ -6,9 +6,9 @@ package types import ( context "context" fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" @@ -29,7 +29,8 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -// QueryWasmxParamsRequest is the request type for the Query/WasmxParams RPC method. +// QueryWasmxParamsRequest is the request type for the Query/WasmxParams RPC +// method. type QueryWasmxParamsRequest struct { } @@ -66,7 +67,8 @@ func (m *QueryWasmxParamsRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryWasmxParamsRequest proto.InternalMessageInfo -// QueryWasmxParamsRequest is the response type for the Query/WasmxParams RPC method. +// QueryWasmxParamsRequest is the response type for the Query/WasmxParams RPC +// method. type QueryWasmxParamsResponse struct { Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` } @@ -111,7 +113,8 @@ func (m *QueryWasmxParamsResponse) GetParams() Params { return Params{} } -// QueryModuleStateRequest is the request type for the Query/WasmxModuleState RPC method. +// QueryModuleStateRequest is the request type for the Query/WasmxModuleState +// RPC method. type QueryModuleStateRequest struct { } @@ -148,7 +151,8 @@ func (m *QueryModuleStateRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryModuleStateRequest proto.InternalMessageInfo -// QueryModuleStateResponse is the response type for the Query/WasmxModuleState RPC method. +// QueryModuleStateResponse is the response type for the Query/WasmxModuleState +// RPC method. type QueryModuleStateResponse struct { State *GenesisState `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` } @@ -294,36 +298,39 @@ func init() { func init() { proto.RegisterFile("injective/wasmx/v1/query.proto", fileDescriptor_660c5209971a3cd4) } var fileDescriptor_660c5209971a3cd4 = []byte{ - // 457 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0x4d, 0x6b, 0x14, 0x31, - 0x18, 0xde, 0x29, 0xb6, 0x68, 0x7a, 0xb0, 0x04, 0xc1, 0x3a, 0x94, 0x71, 0x09, 0x2a, 0x15, 0x75, - 0x42, 0x2b, 0x88, 0x57, 0xd7, 0x83, 0x14, 0x15, 0xec, 0x28, 0x08, 0x5e, 0x4a, 0x76, 0xe6, 0x75, - 0x1a, 0xed, 0x24, 0xd3, 0x24, 0xb3, 0xda, 0xab, 0x67, 0x0f, 0x82, 0x07, 0xff, 0x86, 0x3f, 0xa3, - 0xc7, 0x82, 0x17, 0x4f, 0x22, 0xbb, 0xfe, 0x10, 0x99, 0x24, 0x33, 0xae, 0x6c, 0xac, 0xbd, 0x65, - 0xdf, 0xe7, 0x7d, 0x3e, 0xb2, 0x4f, 0x06, 0x25, 0x5c, 0xbc, 0x81, 0xdc, 0xf0, 0x09, 0xd0, 0x77, - 0x4c, 0x57, 0xef, 0xe9, 0x64, 0x8b, 0x1e, 0x36, 0xa0, 0x8e, 0xd2, 0x5a, 0x49, 0x23, 0x31, 0xee, - 0xf1, 0xd4, 0xe2, 0xe9, 0x64, 0x2b, 0xde, 0x28, 0xa5, 0x2c, 0x0f, 0x80, 0xb2, 0x9a, 0x53, 0x26, - 0x84, 0x34, 0xcc, 0x70, 0x29, 0xb4, 0x63, 0xc4, 0x21, 0x45, 0x47, 0x75, 0xf8, 0x30, 0x80, 0x97, - 0x20, 0x40, 0xf3, 0x4e, 0xe1, 0x52, 0x29, 0x4b, 0x69, 0x8f, 0xb4, 0x3d, 0xb9, 0x29, 0xb9, 0x82, - 0x2e, 0xef, 0xb6, 0xc1, 0x5e, 0xb6, 0xa4, 0x67, 0x4c, 0xb1, 0x4a, 0x67, 0x70, 0xd8, 0x80, 0x36, - 0xe4, 0x05, 0x5a, 0x5f, 0x84, 0x74, 0x2d, 0x85, 0x06, 0x7c, 0x1f, 0xad, 0xd4, 0x76, 0xb2, 0x1e, - 0x0d, 0xa3, 0xcd, 0xd5, 0xed, 0x38, 0x5d, 0xbc, 0x51, 0xea, 0x38, 0xa3, 0x73, 0xc7, 0x3f, 0xae, - 0x0e, 0x32, 0xbf, 0xdf, 0x1b, 0x3e, 0x95, 0x45, 0x73, 0x00, 0xcf, 0x0d, 0x33, 0xd0, 0x19, 0x66, - 0xde, 0xf0, 0x2f, 0xc8, 0x1b, 0xde, 0x43, 0xcb, 0xba, 0x1d, 0x78, 0xbf, 0x61, 0xc8, 0xef, 0x91, - 0xbb, 0xaf, 0x23, 0xba, 0x75, 0xb2, 0x8b, 0xae, 0x59, 0xcd, 0x87, 0x52, 0x18, 0xc5, 0x72, 0x93, - 0x41, 0xc9, 0xb5, 0x51, 0xf6, 0xbf, 0xdd, 0x11, 0xaf, 0xa5, 0xf7, 0xc6, 0x37, 0xd1, 0x5a, 0xee, - 0x57, 0xf6, 0x58, 0x51, 0x28, 0xd0, 0xee, 0x6a, 0x17, 0xb2, 0x8b, 0xdd, 0xfc, 0x81, 0x1b, 0x93, - 0xb7, 0xe8, 0xfa, 0x7f, 0x24, 0x7d, 0xe6, 0x11, 0x3a, 0xdf, 0x71, 0x7d, 0xec, 0x1b, 0xa1, 0xd8, - 0x8e, 0x0f, 0x0a, 0x8a, 0x5e, 0xb1, 0xe7, 0x6d, 0x7f, 0x5d, 0x42, 0xcb, 0xd6, 0x0d, 0x7f, 0x8c, - 0xd0, 0xea, 0x5c, 0x15, 0xf8, 0x56, 0x48, 0xeb, 0x1f, 0x5d, 0xc6, 0xb7, 0xcf, 0xb6, 0xec, 0x82, - 0x13, 0xf2, 0xe1, 0xdb, 0xaf, 0xcf, 0x4b, 0x1b, 0x38, 0xa6, 0x81, 0x57, 0xe5, 0x7a, 0xc4, 0x5f, - 0x22, 0xb4, 0x66, 0xb9, 0x73, 0x6d, 0x9d, 0x92, 0x69, 0xb1, 0xee, 0x53, 0x32, 0x05, 0x1e, 0x00, - 0xd9, 0xb4, 0x99, 0x08, 0x1e, 0x86, 0x32, 0x55, 0x96, 0xb0, 0x67, 0x2b, 0x1f, 0xc1, 0xf1, 0x34, - 0x89, 0x4e, 0xa6, 0x49, 0xf4, 0x73, 0x9a, 0x44, 0x9f, 0x66, 0xc9, 0xe0, 0x64, 0x96, 0x0c, 0xbe, - 0xcf, 0x92, 0xc1, 0xab, 0xc7, 0x25, 0x37, 0xfb, 0xcd, 0x38, 0xcd, 0x65, 0x45, 0x77, 0x3a, 0x95, - 0x27, 0x6c, 0xac, 0xff, 0x68, 0xde, 0xc9, 0xa5, 0x82, 0xf9, 0x9f, 0xfb, 0x8c, 0x0b, 0xaf, 0xaf, - 0xbd, 0xa1, 0x39, 0xaa, 0x41, 0x8f, 0x57, 0xec, 0x07, 0x74, 0xf7, 0x77, 0x00, 0x00, 0x00, 0xff, - 0xff, 0xa0, 0x00, 0x03, 0xa8, 0xec, 0x03, 0x00, 0x00, + // 499 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0x4f, 0x6b, 0x13, 0x41, + 0x14, 0xcf, 0x4a, 0x5b, 0x74, 0x7a, 0xb0, 0x0c, 0x82, 0x71, 0x29, 0x6b, 0x18, 0x54, 0x2a, 0xea, + 0x0e, 0xad, 0x20, 0xd1, 0x93, 0xc6, 0x83, 0x14, 0x15, 0xec, 0x2a, 0x08, 0x5e, 0xc2, 0x64, 0xf3, + 0xba, 0x1d, 0x6d, 0x66, 0xb6, 0x33, 0x93, 0x68, 0x11, 0x2f, 0xe2, 0xd1, 0x83, 0xe0, 0xc1, 0xaf, + 0xd4, 0x63, 0xc5, 0x8b, 0x27, 0x91, 0xc4, 0x0f, 0x22, 0x99, 0x99, 0x8d, 0xd1, 0x4c, 0x5a, 0xe9, + 0x6d, 0xf6, 0xbd, 0xf7, 0xfb, 0xf3, 0xfe, 0xb0, 0x28, 0xe1, 0xe2, 0x25, 0xe4, 0x86, 0x0f, 0x80, + 0xbe, 0x66, 0xba, 0xf7, 0x86, 0x0e, 0xd6, 0xe9, 0x5e, 0x1f, 0xd4, 0x7e, 0x5a, 0x2a, 0x69, 0x24, + 0xc6, 0x93, 0x7c, 0x6a, 0xf3, 0xe9, 0x60, 0x3d, 0x5e, 0x2d, 0xa4, 0x2c, 0x76, 0x81, 0xb2, 0x92, + 0x53, 0x26, 0x84, 0x34, 0xcc, 0x70, 0x29, 0xb4, 0x43, 0xc4, 0x21, 0x46, 0x07, 0x75, 0xf9, 0x46, + 0x20, 0x5f, 0x80, 0x00, 0xcd, 0x2b, 0x86, 0x73, 0x85, 0x2c, 0xa4, 0x7d, 0xd2, 0xf1, 0xcb, 0x45, + 0xc9, 0x05, 0x74, 0x7e, 0x6b, 0x6c, 0xec, 0xf9, 0x18, 0xf4, 0x84, 0x29, 0xd6, 0xd3, 0x19, 0xec, + 0xf5, 0x41, 0x1b, 0xf2, 0x0c, 0xd5, 0x67, 0x53, 0xba, 0x94, 0x42, 0x03, 0x6e, 0xa2, 0xa5, 0xd2, + 0x46, 0xea, 0x51, 0x23, 0x5a, 0x5b, 0xde, 0x88, 0xd3, 0xd9, 0x8e, 0x52, 0x87, 0x69, 0x2d, 0x1c, + 0xfc, 0xb8, 0x58, 0xcb, 0x7c, 0xfd, 0x44, 0xf0, 0xb1, 0xec, 0xf6, 0x77, 0xe1, 0xa9, 0x61, 0x06, + 0x2a, 0xc1, 0xcc, 0x0b, 0xfe, 0x95, 0xf2, 0x82, 0xb7, 0xd0, 0xa2, 0x1e, 0x07, 0xbc, 0x5e, 0x23, + 0xa4, 0xf7, 0xc0, 0xf5, 0xeb, 0x80, 0xae, 0x9c, 0x6c, 0xa1, 0x4b, 0x96, 0xf3, 0xbe, 0x14, 0x46, + 0xb1, 0xdc, 0x64, 0x50, 0x70, 0x6d, 0x94, 0x9d, 0xed, 0xa6, 0xd8, 0x96, 0x5e, 0x1b, 0x5f, 0x45, + 0x2b, 0xb9, 0x2f, 0x69, 0xb3, 0x6e, 0x57, 0x81, 0x76, 0xad, 0x9d, 0xc9, 0xce, 0x56, 0xf1, 0x7b, + 0x2e, 0x4c, 0x5e, 0xa1, 0xcb, 0xc7, 0x50, 0x7a, 0xcf, 0x2d, 0x74, 0xba, 0xc2, 0x7a, 0xdb, 0x57, + 0x42, 0xb6, 0x1d, 0x1e, 0x14, 0x74, 0x27, 0x8c, 0x13, 0xdc, 0xc6, 0x87, 0x05, 0xb4, 0x68, 0xd5, + 0xf0, 0xc7, 0x08, 0x2d, 0x4f, 0xad, 0x02, 0x5f, 0x0b, 0x71, 0xcd, 0xd9, 0x65, 0x7c, 0xfd, 0xff, + 0x8a, 0x9d, 0x71, 0x42, 0xde, 0x7f, 0xfb, 0xf5, 0xf9, 0xd4, 0x2a, 0x8e, 0x69, 0xe0, 0xaa, 0xdc, + 0x1e, 0xf1, 0xd7, 0x08, 0xd5, 0xe7, 0x4d, 0x00, 0x37, 0xe7, 0xca, 0x1d, 0xb3, 0x87, 0xf8, 0xf6, + 0x09, 0x90, 0xde, 0xf5, 0x5d, 0xeb, 0xfa, 0x0e, 0x6e, 0x86, 0x5c, 0xab, 0x29, 0x54, 0x9b, 0x8b, + 0x6d, 0x49, 0xdf, 0xfe, 0xbb, 0xef, 0x77, 0xf8, 0x4b, 0x84, 0x56, 0xec, 0x3c, 0xa6, 0x2e, 0xf0, + 0x88, 0x39, 0xcf, 0x9e, 0xf0, 0x11, 0x73, 0x0e, 0x1c, 0x35, 0x59, 0xb3, 0x8e, 0x09, 0x6e, 0x84, + 0x1c, 0xf7, 0x2c, 0xa0, 0x6d, 0xcf, 0xb8, 0x05, 0x07, 0xc3, 0x24, 0x3a, 0x1c, 0x26, 0xd1, 0xcf, + 0x61, 0x12, 0x7d, 0x1a, 0x25, 0xb5, 0xc3, 0x51, 0x52, 0xfb, 0x3e, 0x4a, 0x6a, 0x2f, 0x1e, 0x16, + 0xdc, 0xec, 0xf4, 0x3b, 0x69, 0x2e, 0x7b, 0x74, 0xb3, 0x62, 0x79, 0xc4, 0x3a, 0xfa, 0x0f, 0xe7, + 0x8d, 0x5c, 0x2a, 0x98, 0xfe, 0xdc, 0x61, 0x5c, 0x78, 0x7e, 0xed, 0x05, 0xcd, 0x7e, 0x09, 0xba, + 0xb3, 0x64, 0x7f, 0x0a, 0x37, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0xf3, 0x06, 0x07, 0x17, 0xc0, + 0x04, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -340,6 +347,8 @@ const _ = grpc.SupportPackageIsVersion4 type QueryClient interface { // Retrieves wasmx params WasmxParams(ctx context.Context, in *QueryWasmxParamsRequest, opts ...grpc.CallOption) (*QueryWasmxParamsResponse, error) + // Retrieves contract registration info + ContractRegistrationInfo(ctx context.Context, in *QueryContractRegistrationInfoRequest, opts ...grpc.CallOption) (*QueryContractRegistrationInfoResponse, error) // Retrieves the entire wasmx module's state WasmxModuleState(ctx context.Context, in *QueryModuleStateRequest, opts ...grpc.CallOption) (*QueryModuleStateResponse, error) } @@ -361,6 +370,15 @@ func (c *queryClient) WasmxParams(ctx context.Context, in *QueryWasmxParamsReque return out, nil } +func (c *queryClient) ContractRegistrationInfo(ctx context.Context, in *QueryContractRegistrationInfoRequest, opts ...grpc.CallOption) (*QueryContractRegistrationInfoResponse, error) { + out := new(QueryContractRegistrationInfoResponse) + err := c.cc.Invoke(ctx, "/injective.wasmx.v1.Query/ContractRegistrationInfo", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryClient) WasmxModuleState(ctx context.Context, in *QueryModuleStateRequest, opts ...grpc.CallOption) (*QueryModuleStateResponse, error) { out := new(QueryModuleStateResponse) err := c.cc.Invoke(ctx, "/injective.wasmx.v1.Query/WasmxModuleState", in, out, opts...) @@ -374,6 +392,8 @@ func (c *queryClient) WasmxModuleState(ctx context.Context, in *QueryModuleState type QueryServer interface { // Retrieves wasmx params WasmxParams(context.Context, *QueryWasmxParamsRequest) (*QueryWasmxParamsResponse, error) + // Retrieves contract registration info + ContractRegistrationInfo(context.Context, *QueryContractRegistrationInfoRequest) (*QueryContractRegistrationInfoResponse, error) // Retrieves the entire wasmx module's state WasmxModuleState(context.Context, *QueryModuleStateRequest) (*QueryModuleStateResponse, error) } @@ -385,6 +405,9 @@ type UnimplementedQueryServer struct { func (*UnimplementedQueryServer) WasmxParams(ctx context.Context, req *QueryWasmxParamsRequest) (*QueryWasmxParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method WasmxParams not implemented") } +func (*UnimplementedQueryServer) ContractRegistrationInfo(ctx context.Context, req *QueryContractRegistrationInfoRequest) (*QueryContractRegistrationInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ContractRegistrationInfo not implemented") +} func (*UnimplementedQueryServer) WasmxModuleState(ctx context.Context, req *QueryModuleStateRequest) (*QueryModuleStateResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method WasmxModuleState not implemented") } @@ -411,6 +434,24 @@ func _Query_WasmxParams_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } +func _Query_ContractRegistrationInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryContractRegistrationInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).ContractRegistrationInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.wasmx.v1.Query/ContractRegistrationInfo", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ContractRegistrationInfo(ctx, req.(*QueryContractRegistrationInfoRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Query_WasmxModuleState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(QueryModuleStateRequest) if err := dec(in); err != nil { @@ -437,6 +478,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "WasmxParams", Handler: _Query_WasmxParams_Handler, }, + { + MethodName: "ContractRegistrationInfo", + Handler: _Query_ContractRegistrationInfo_Handler, + }, { MethodName: "WasmxModuleState", Handler: _Query_WasmxModuleState_Handler, diff --git a/chain/wasmx/types/tx.pb.go b/chain/wasmx/types/tx.pb.go index ef412096..02545b39 100644 --- a/chain/wasmx/types/tx.pb.go +++ b/chain/wasmx/types/tx.pb.go @@ -6,11 +6,12 @@ package types import ( context "context" fmt "fmt" + _ "github.com/cosmos/cosmos-proto" _ "github.com/cosmos/cosmos-sdk/codec/types" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" - _ "github.com/regen-network/cosmos-proto" + _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/gogoproto/gogoproto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -30,7 +31,8 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -// MsgExecuteContractCompat submits the given message data to a smart contract, compatible with EIP712 +// MsgExecuteContractCompat submits the given message data to a smart contract, +// compatible with EIP712 type MsgExecuteContractCompat struct { // Sender is the that actor that signed the messages Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` @@ -443,6 +445,186 @@ func (m *MsgDeactivateContractResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgDeactivateContractResponse proto.InternalMessageInfo +type MsgUpdateParams struct { + // authority is the address of the governance account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // params defines the wasmx parameters to update. + // + // NOTE: All parameters must be supplied. + Params Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params"` +} + +func (m *MsgUpdateParams) Reset() { *m = MsgUpdateParams{} } +func (m *MsgUpdateParams) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParams) ProtoMessage() {} +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return fileDescriptor_f7afe23baa925f70, []int{8} +} +func (m *MsgUpdateParams) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParams.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParams) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParams.Merge(m, src) +} +func (m *MsgUpdateParams) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParams) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParams.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParams proto.InternalMessageInfo + +func (m *MsgUpdateParams) GetAuthority() string { + if m != nil { + return m.Authority + } + return "" +} + +func (m *MsgUpdateParams) GetParams() Params { + if m != nil { + return m.Params + } + return Params{} +} + +type MsgUpdateParamsResponse struct { +} + +func (m *MsgUpdateParamsResponse) Reset() { *m = MsgUpdateParamsResponse{} } +func (m *MsgUpdateParamsResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParamsResponse) ProtoMessage() {} +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f7afe23baa925f70, []int{9} +} +func (m *MsgUpdateParamsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParamsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParamsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParamsResponse.Merge(m, src) +} +func (m *MsgUpdateParamsResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParamsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo + +type MsgRegisterContract struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` + ContractRegistrationRequest ContractRegistrationRequest `protobuf:"bytes,2,opt,name=contract_registration_request,json=contractRegistrationRequest,proto3" json:"contract_registration_request"` +} + +func (m *MsgRegisterContract) Reset() { *m = MsgRegisterContract{} } +func (m *MsgRegisterContract) String() string { return proto.CompactTextString(m) } +func (*MsgRegisterContract) ProtoMessage() {} +func (*MsgRegisterContract) Descriptor() ([]byte, []int) { + return fileDescriptor_f7afe23baa925f70, []int{10} +} +func (m *MsgRegisterContract) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRegisterContract) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRegisterContract.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgRegisterContract) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRegisterContract.Merge(m, src) +} +func (m *MsgRegisterContract) XXX_Size() int { + return m.Size() +} +func (m *MsgRegisterContract) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRegisterContract.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRegisterContract proto.InternalMessageInfo + +func (m *MsgRegisterContract) GetSender() string { + if m != nil { + return m.Sender + } + return "" +} + +func (m *MsgRegisterContract) GetContractRegistrationRequest() ContractRegistrationRequest { + if m != nil { + return m.ContractRegistrationRequest + } + return ContractRegistrationRequest{} +} + +type MsgRegisterContractResponse struct { +} + +func (m *MsgRegisterContractResponse) Reset() { *m = MsgRegisterContractResponse{} } +func (m *MsgRegisterContractResponse) String() string { return proto.CompactTextString(m) } +func (*MsgRegisterContractResponse) ProtoMessage() {} +func (*MsgRegisterContractResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f7afe23baa925f70, []int{11} +} +func (m *MsgRegisterContractResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRegisterContractResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRegisterContractResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgRegisterContractResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRegisterContractResponse.Merge(m, src) +} +func (m *MsgRegisterContractResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgRegisterContractResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRegisterContractResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRegisterContractResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgExecuteContractCompat)(nil), "injective.wasmx.v1.MsgExecuteContractCompat") proto.RegisterType((*MsgExecuteContractCompatResponse)(nil), "injective.wasmx.v1.MsgExecuteContractCompatResponse") @@ -452,46 +634,62 @@ func init() { proto.RegisterType((*MsgActivateContractResponse)(nil), "injective.wasmx.v1.MsgActivateContractResponse") proto.RegisterType((*MsgDeactivateContract)(nil), "injective.wasmx.v1.MsgDeactivateContract") proto.RegisterType((*MsgDeactivateContractResponse)(nil), "injective.wasmx.v1.MsgDeactivateContractResponse") + proto.RegisterType((*MsgUpdateParams)(nil), "injective.wasmx.v1.MsgUpdateParams") + proto.RegisterType((*MsgUpdateParamsResponse)(nil), "injective.wasmx.v1.MsgUpdateParamsResponse") + proto.RegisterType((*MsgRegisterContract)(nil), "injective.wasmx.v1.MsgRegisterContract") + proto.RegisterType((*MsgRegisterContractResponse)(nil), "injective.wasmx.v1.MsgRegisterContractResponse") } func init() { proto.RegisterFile("injective/wasmx/v1/tx.proto", fileDescriptor_f7afe23baa925f70) } var fileDescriptor_f7afe23baa925f70 = []byte{ - // 533 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x94, 0xc1, 0x6e, 0xd3, 0x40, - 0x10, 0x86, 0x6b, 0x92, 0x56, 0xed, 0xa8, 0x88, 0xb2, 0xb4, 0xc8, 0x75, 0xa8, 0x5b, 0x59, 0x42, - 0x10, 0x89, 0x7a, 0x15, 0x40, 0xdc, 0xdb, 0xc2, 0x01, 0xd1, 0x48, 0x95, 0x25, 0x24, 0xd4, 0x4b, - 0xb4, 0xb1, 0xb7, 0x5b, 0xa3, 0xd8, 0x6b, 0x79, 0x36, 0x21, 0x81, 0x97, 0xe0, 0x7d, 0x78, 0x81, - 0x1e, 0x7b, 0xe4, 0x84, 0x50, 0x72, 0xe3, 0x29, 0x90, 0xd7, 0x59, 0x17, 0x35, 0x89, 0x14, 0x24, - 0xb8, 0xed, 0x3f, 0xff, 0xef, 0xf9, 0x66, 0x27, 0xb1, 0xa1, 0x11, 0xa7, 0x1f, 0x79, 0xa8, 0xe2, - 0x01, 0xa7, 0x9f, 0x18, 0x26, 0x43, 0x3a, 0x68, 0x51, 0x35, 0xf4, 0xb3, 0x5c, 0x2a, 0x49, 0x48, - 0x65, 0xfa, 0xda, 0xf4, 0x07, 0x2d, 0x67, 0x5b, 0x48, 0x21, 0xb5, 0x4d, 0x8b, 0x53, 0x99, 0x74, - 0x76, 0x85, 0x94, 0xa2, 0xc7, 0xa9, 0x56, 0xdd, 0xfe, 0x05, 0x65, 0xe9, 0xc8, 0x58, 0xa1, 0xc4, - 0x44, 0x62, 0xa7, 0x7c, 0xa6, 0x14, 0xa5, 0xe5, 0x0d, 0xc0, 0x6e, 0xa3, 0x78, 0x33, 0xe4, 0x61, - 0x5f, 0xf1, 0x13, 0x99, 0xaa, 0x9c, 0x85, 0xea, 0x44, 0x26, 0x19, 0x53, 0xe4, 0x21, 0xac, 0x21, - 0x4f, 0x23, 0x9e, 0xdb, 0xd6, 0x81, 0xf5, 0x74, 0x23, 0x98, 0x2a, 0xe2, 0xc0, 0x7a, 0x38, 0x4d, - 0xda, 0x77, 0xb4, 0x53, 0x69, 0xb2, 0x05, 0xb5, 0x04, 0x85, 0x5d, 0xd3, 0xe5, 0xe2, 0x48, 0xb6, - 0x61, 0xf5, 0xa2, 0x9f, 0x46, 0x68, 0xd7, 0x75, 0xad, 0x14, 0xde, 0x2b, 0x38, 0x58, 0xc4, 0x0d, - 0x38, 0x66, 0x32, 0x45, 0x4e, 0x08, 0xd4, 0x23, 0xa6, 0x98, 0xa6, 0x6f, 0x06, 0xfa, 0xec, 0x7d, - 0xb3, 0xe0, 0x7e, 0x1b, 0xc5, 0xfb, 0x2c, 0x62, 0x37, 0xcf, 0x2d, 0x9c, 0xb4, 0x09, 0x5b, 0x66, - 0xb2, 0x0e, 0x8b, 0xa2, 0x9c, 0x23, 0x4e, 0x27, 0xbe, 0x67, 0xea, 0x47, 0x65, 0x99, 0x34, 0x60, - 0x43, 0x30, 0xec, 0xf4, 0xe2, 0x24, 0x56, 0x7a, 0xfc, 0x7a, 0xb0, 0x2e, 0x18, 0x9e, 0x16, 0xda, - 0x98, 0x59, 0x1e, 0x87, 0x5c, 0xdf, 0xa3, 0x34, 0xcf, 0x0a, 0x4d, 0x9a, 0x70, 0x97, 0x45, 0x49, - 0x9c, 0x56, 0x84, 0xd5, 0x82, 0x70, 0x5c, 0xbf, 0xfa, 0xb1, 0x6f, 0x05, 0x9b, 0xda, 0x9a, 0x42, - 0xbc, 0x06, 0xec, 0xce, 0x0c, 0x6f, 0xae, 0xeb, 0x7d, 0x80, 0x07, 0x6d, 0x14, 0x47, 0xc5, 0x8f, - 0xfd, 0x6f, 0xef, 0xe6, 0xed, 0x41, 0x63, 0x4e, 0xe7, 0x0a, 0x7c, 0x0e, 0x3b, 0x6d, 0x14, 0xaf, - 0x39, 0xfb, 0x0f, 0xe8, 0x7d, 0xd8, 0x9b, 0xdb, 0xdb, 0xc0, 0x9f, 0xff, 0xaa, 0x41, 0xad, 0x8d, - 0x82, 0x28, 0x78, 0x54, 0xee, 0x25, 0xe0, 0x22, 0x46, 0x95, 0x8f, 0x4c, 0xf2, 0x8c, 0xe5, 0x2c, - 0x41, 0xf2, 0xd8, 0x9f, 0x7d, 0x13, 0xfc, 0x99, 0x65, 0x3a, 0x87, 0x4b, 0xc5, 0xaa, 0xbf, 0x98, - 0x02, 0xdb, 0xac, 0xe5, 0x36, 0x97, 0x3c, 0x59, 0xd0, 0xea, 0xf6, 0x1e, 0x1d, 0xba, 0x64, 0xb0, - 0xa2, 0x7e, 0x06, 0xe7, 0x66, 0x23, 0x33, 0xdc, 0xe6, 0x82, 0x76, 0xb3, 0x4b, 0x74, 0x5a, 0x4b, - 0x47, 0x2b, 0xf6, 0x17, 0xd8, 0x99, 0xff, 0xb6, 0x3f, 0x5b, 0xd0, 0x6b, 0x6e, 0xda, 0x79, 0xf9, - 0x37, 0x69, 0x03, 0x3f, 0xe6, 0x57, 0x63, 0xd7, 0xba, 0x1e, 0xbb, 0xd6, 0xcf, 0xb1, 0x6b, 0x7d, - 0x9d, 0xb8, 0x2b, 0xd7, 0x13, 0x77, 0xe5, 0xfb, 0xc4, 0x5d, 0x39, 0x7f, 0x27, 0x62, 0x75, 0xd9, - 0xef, 0xfa, 0xa1, 0x4c, 0xe8, 0x5b, 0xd3, 0xf9, 0x94, 0x75, 0x91, 0x56, 0x9c, 0xc3, 0x50, 0xe6, - 0xfc, 0x4f, 0x79, 0xc9, 0xe2, 0x94, 0x26, 0x32, 0xea, 0xf7, 0x38, 0x4e, 0x3f, 0x9d, 0x6a, 0x94, - 0x71, 0xec, 0xae, 0xe9, 0x6f, 0xdb, 0x8b, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xb9, 0x22, 0x03, - 0x8e, 0x5a, 0x05, 0x00, 0x00, + // 736 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0xc1, 0x4e, 0x14, 0x4b, + 0x14, 0x9d, 0x7e, 0x0c, 0x04, 0x2e, 0xbc, 0x07, 0xaf, 0x1f, 0x3c, 0x86, 0x1e, 0x19, 0x70, 0x8c, + 0x51, 0x54, 0xa6, 0x03, 0x1a, 0x62, 0xd8, 0x01, 0xba, 0x30, 0x32, 0x09, 0x69, 0xe3, 0xc6, 0xcd, + 0x58, 0xd3, 0x5d, 0x14, 0x6d, 0xa6, 0xbb, 0xda, 0xae, 0x6a, 0x64, 0x74, 0xa7, 0x3f, 0x60, 0xe2, + 0x8f, 0xb8, 0xd0, 0x8d, 0x5f, 0xc0, 0x92, 0xb8, 0x72, 0x65, 0x0c, 0x2c, 0xfc, 0x0d, 0xd3, 0x55, + 0xd5, 0x35, 0x32, 0xd3, 0xad, 0x63, 0xa2, 0xbb, 0xba, 0x75, 0x4e, 0xdd, 0x73, 0x6e, 0xdd, 0x5b, + 0xdd, 0x50, 0xf5, 0xc3, 0x27, 0xd8, 0xe5, 0xfe, 0x21, 0xb6, 0x9f, 0x21, 0x16, 0x1c, 0xd9, 0x87, + 0x6b, 0x36, 0x3f, 0x6a, 0x44, 0x31, 0xe5, 0xd4, 0x34, 0x35, 0xd8, 0x10, 0x60, 0xe3, 0x70, 0xcd, + 0x9a, 0x25, 0x94, 0x50, 0x01, 0xdb, 0xe9, 0x4a, 0x32, 0xad, 0x05, 0x42, 0x29, 0xe9, 0x60, 0x5b, + 0x44, 0xed, 0x64, 0xdf, 0x46, 0x61, 0x37, 0x83, 0x5c, 0xca, 0x02, 0xca, 0x5a, 0xf2, 0x8c, 0x0c, + 0x14, 0x34, 0x2f, 0x23, 0x3b, 0x60, 0x24, 0xd5, 0x0d, 0x18, 0x51, 0x40, 0x2d, 0xc7, 0x95, 0x74, + 0x20, 0xf1, 0x8b, 0x39, 0x78, 0x14, 0xd3, 0x88, 0x32, 0xd4, 0x91, 0x94, 0xfa, 0x2b, 0x03, 0x2a, + 0x4d, 0x46, 0xee, 0x1e, 0x61, 0x37, 0xe1, 0x78, 0x87, 0x86, 0x3c, 0x46, 0x2e, 0xdf, 0xa1, 0x41, + 0x84, 0xb8, 0xf9, 0x3f, 0x8c, 0x31, 0x1c, 0x7a, 0x38, 0xae, 0x18, 0xcb, 0xc6, 0xd5, 0x09, 0x47, + 0x45, 0xa6, 0x05, 0xe3, 0xae, 0x62, 0x56, 0xfe, 0x12, 0x88, 0x8e, 0xcd, 0x19, 0x18, 0x09, 0x18, + 0xa9, 0x8c, 0x88, 0xed, 0x74, 0x69, 0xce, 0xc2, 0xe8, 0x7e, 0x12, 0x7a, 0xac, 0x52, 0x16, 0x7b, + 0x32, 0xd8, 0x9c, 0x7c, 0xf9, 0xf5, 0xed, 0x35, 0x95, 0xb0, 0xbe, 0x01, 0xcb, 0x45, 0x26, 0x1c, + 0xcc, 0x22, 0x1a, 0x32, 0x6c, 0x9a, 0x50, 0xf6, 0x10, 0x47, 0xc2, 0xca, 0x94, 0x23, 0xd6, 0xf5, + 0x63, 0x03, 0xfe, 0x6d, 0x32, 0xf2, 0x30, 0xf2, 0x50, 0xef, 0x5c, 0xa1, 0xed, 0x15, 0x98, 0xc9, + 0x6c, 0xb6, 0x90, 0xe7, 0xc5, 0x98, 0x31, 0x65, 0x7f, 0x3a, 0xdb, 0xdf, 0x92, 0xdb, 0x66, 0x15, + 0x26, 0x08, 0x62, 0xad, 0x8e, 0x1f, 0xf8, 0x5c, 0xd4, 0x52, 0x76, 0xc6, 0x09, 0x62, 0xbb, 0x69, + 0x9c, 0x81, 0x51, 0xec, 0xbb, 0x58, 0x14, 0x25, 0xc1, 0xbd, 0x34, 0x36, 0x57, 0xe0, 0x6f, 0xe4, + 0x05, 0x7e, 0xa8, 0x15, 0x46, 0x53, 0x85, 0xed, 0xf2, 0xf1, 0xe7, 0x25, 0xc3, 0x99, 0x12, 0x90, + 0x12, 0x39, 0x7f, 0x05, 0x55, 0x58, 0x18, 0xa8, 0x24, 0xab, 0xbd, 0x8e, 0xe1, 0xbf, 0x26, 0x23, + 0x5b, 0x69, 0x2b, 0x7f, 0x6f, 0xa1, 0xe7, 0x3d, 0x2c, 0x42, 0x35, 0x47, 0x46, 0xbb, 0x20, 0x30, + 0xd7, 0x64, 0xe4, 0x0e, 0x46, 0x7f, 0xda, 0xc7, 0x12, 0x2c, 0xe6, 0x0a, 0x69, 0x27, 0x6f, 0x0c, + 0x98, 0xd6, 0xb7, 0xb5, 0x87, 0x62, 0x14, 0x30, 0x73, 0x03, 0x26, 0x50, 0xc2, 0x0f, 0x68, 0xec, + 0xf3, 0xae, 0xf4, 0xb1, 0x5d, 0xf9, 0xf8, 0x6e, 0x75, 0x56, 0x3d, 0x25, 0x25, 0xf4, 0x80, 0xc7, + 0x7e, 0x48, 0x9c, 0x1e, 0xd5, 0xbc, 0x0d, 0x63, 0x91, 0xc8, 0x20, 0xac, 0x4d, 0xae, 0x5b, 0x8d, + 0xc1, 0xe7, 0xdc, 0x90, 0x1a, 0xa2, 0x8b, 0x25, 0x47, 0xf1, 0x37, 0xff, 0x49, 0x3d, 0xf7, 0x32, + 0xd5, 0x17, 0x60, 0xbe, 0xcf, 0x94, 0x36, 0xfc, 0xde, 0x10, 0x1d, 0x74, 0x30, 0xf1, 0x19, 0xc7, + 0xf1, 0x4f, 0x6f, 0xae, 0x0b, 0x8b, 0xfa, 0xe6, 0x62, 0x71, 0x28, 0x46, 0xdc, 0xa7, 0x61, 0x2b, + 0xc6, 0x4f, 0x13, 0xcc, 0xb8, 0xf2, 0x6a, 0xe7, 0x79, 0xed, 0xdd, 0x56, 0xef, 0x9c, 0x23, 0x8f, + 0xa9, 0x02, 0xaa, 0x6e, 0x31, 0x25, 0x6f, 0x22, 0xfa, 0x6d, 0x67, 0x65, 0xad, 0x7f, 0x18, 0x85, + 0x91, 0x26, 0x23, 0x26, 0x87, 0x0b, 0xb2, 0x6c, 0x95, 0xb0, 0x9b, 0x31, 0x55, 0x6f, 0x2e, 0xe7, + 0xf9, 0x1c, 0x18, 0x77, 0x6b, 0x75, 0x28, 0x9a, 0xfe, 0x22, 0x70, 0xa8, 0x64, 0xb3, 0xda, 0xaf, + 0x6b, 0x5e, 0x29, 0x48, 0xd5, 0x3f, 0xdc, 0x96, 0x3d, 0x24, 0x51, 0xab, 0x3e, 0x07, 0xab, 0x37, + 0x99, 0x03, 0xba, 0x2b, 0x05, 0xe9, 0x06, 0x87, 0xd9, 0x5a, 0x1b, 0x9a, 0xaa, 0xb5, 0x5f, 0xc0, + 0x5c, 0xfe, 0x97, 0xfa, 0x46, 0x41, 0xae, 0x5c, 0xb6, 0x75, 0xeb, 0x57, 0xd8, 0x5a, 0xfc, 0x31, + 0x4c, 0x9d, 0x7b, 0x70, 0x97, 0x7e, 0xd8, 0x2d, 0x49, 0xb2, 0xae, 0x0f, 0x41, 0xd2, 0x0a, 0x1d, + 0x98, 0x19, 0x78, 0x21, 0x45, 0x8d, 0xec, 0x27, 0x16, 0x36, 0xb2, 0x68, 0x78, 0xb7, 0xf1, 0xf1, + 0x69, 0xcd, 0x38, 0x39, 0xad, 0x19, 0x5f, 0x4e, 0x6b, 0xc6, 0xeb, 0xb3, 0x5a, 0xe9, 0xe4, 0xac, + 0x56, 0xfa, 0x74, 0x56, 0x2b, 0x3d, 0xba, 0x4f, 0x7c, 0x7e, 0x90, 0xb4, 0x1b, 0x2e, 0x0d, 0xec, + 0x7b, 0x59, 0xd2, 0x5d, 0xd4, 0x66, 0xb6, 0x96, 0x58, 0x75, 0x69, 0x8c, 0xbf, 0x0f, 0x0f, 0x90, + 0x1f, 0xda, 0x01, 0xf5, 0x92, 0x0e, 0x66, 0xea, 0x6f, 0xcb, 0xbb, 0x11, 0x66, 0xed, 0x31, 0xf1, + 0xa3, 0xbd, 0xf9, 0x2d, 0x00, 0x00, 0xff, 0xff, 0xe6, 0xb3, 0xf7, 0xc0, 0x43, 0x08, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -510,6 +708,8 @@ type MsgClient interface { ActivateRegistryContract(ctx context.Context, in *MsgActivateContract, opts ...grpc.CallOption) (*MsgActivateContractResponse, error) DeactivateRegistryContract(ctx context.Context, in *MsgDeactivateContract, opts ...grpc.CallOption) (*MsgDeactivateContractResponse, error) ExecuteContractCompat(ctx context.Context, in *MsgExecuteContractCompat, opts ...grpc.CallOption) (*MsgExecuteContractCompatResponse, error) + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) + RegisterContract(ctx context.Context, in *MsgRegisterContract, opts ...grpc.CallOption) (*MsgRegisterContractResponse, error) } type msgClient struct { @@ -556,12 +756,32 @@ func (c *msgClient) ExecuteContractCompat(ctx context.Context, in *MsgExecuteCon return out, nil } +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, "/injective.wasmx.v1.Msg/UpdateParams", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) RegisterContract(ctx context.Context, in *MsgRegisterContract, opts ...grpc.CallOption) (*MsgRegisterContractResponse, error) { + out := new(MsgRegisterContractResponse) + err := c.cc.Invoke(ctx, "/injective.wasmx.v1.Msg/RegisterContract", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { UpdateRegistryContractParams(context.Context, *MsgUpdateContract) (*MsgUpdateContractResponse, error) ActivateRegistryContract(context.Context, *MsgActivateContract) (*MsgActivateContractResponse, error) DeactivateRegistryContract(context.Context, *MsgDeactivateContract) (*MsgDeactivateContractResponse, error) ExecuteContractCompat(context.Context, *MsgExecuteContractCompat) (*MsgExecuteContractCompatResponse, error) + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + RegisterContract(context.Context, *MsgRegisterContract) (*MsgRegisterContractResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -580,6 +800,12 @@ func (*UnimplementedMsgServer) DeactivateRegistryContract(ctx context.Context, r func (*UnimplementedMsgServer) ExecuteContractCompat(ctx context.Context, req *MsgExecuteContractCompat) (*MsgExecuteContractCompatResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ExecuteContractCompat not implemented") } +func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} +func (*UnimplementedMsgServer) RegisterContract(ctx context.Context, req *MsgRegisterContract) (*MsgRegisterContractResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RegisterContract not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -657,6 +883,42 @@ func _Msg_ExecuteContractCompat_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.wasmx.v1.Msg/UpdateParams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_RegisterContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRegisterContract) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).RegisterContract(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.wasmx.v1.Msg/RegisterContract", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).RegisterContract(ctx, req.(*MsgRegisterContract)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "injective.wasmx.v1.Msg", HandlerType: (*MsgServer)(nil), @@ -677,6 +939,14 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "ExecuteContractCompat", Handler: _Msg_ExecuteContractCompat_Handler, }, + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, + { + MethodName: "RegisterContract", + Handler: _Msg_RegisterContract_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "injective/wasmx/v1/tx.proto", @@ -960,6 +1230,132 @@ func (m *MsgDeactivateContractResponse) MarshalToSizedBuffer(dAtA []byte) (int, return len(dAtA) - i, nil } +func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgRegisterContract) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgRegisterContract) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRegisterContract) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.ContractRegistrationRequest.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Sender) > 0 { + i -= len(m.Sender) + copy(dAtA[i:], m.Sender) + i = encodeVarintTx(dAtA, i, uint64(len(m.Sender))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgRegisterContractResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgRegisterContractResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRegisterContractResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -1097,11 +1493,59 @@ func (m *MsgDeactivateContractResponse) Size() (n int) { return n } -func sovTx(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozTx(x uint64) (n int) { - return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +func (m *MsgUpdateParams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Params.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgRegisterContract) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Sender) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.ContractRegistrationRequest.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgRegisterContractResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func sovTx(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozTx(x uint64) (n int) { + return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } func (m *MsgExecuteContractCompat) Unmarshal(dAtA []byte) error { l := len(dAtA) @@ -1927,6 +2371,336 @@ func (m *MsgDeactivateContractResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgRegisterContract) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgRegisterContract: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRegisterContract: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Sender = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ContractRegistrationRequest", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ContractRegistrationRequest.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgRegisterContractResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgRegisterContractResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRegisterContractResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/wasmx/types/wasmx.pb.go b/chain/wasmx/types/wasmx.pb.go index 67e042f8..053a0a76 100644 --- a/chain/wasmx/types/wasmx.pb.go +++ b/chain/wasmx/types/wasmx.pb.go @@ -5,8 +5,8 @@ package types import ( fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" @@ -24,13 +24,17 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type Params struct { - // Set the status to active to indicate that contracts can be executed in begin blocker. + // Set the status to active to indicate that contracts can be executed in + // begin blocker. IsExecutionEnabled bool `protobuf:"varint,1,opt,name=is_execution_enabled,json=isExecutionEnabled,proto3" json:"is_execution_enabled,omitempty"` - // Maximum aggregate total gas to be used for the contract executions in the BeginBlocker. + // Maximum aggregate total gas to be used for the contract executions in the + // BeginBlocker. MaxBeginBlockTotalGas uint64 `protobuf:"varint,2,opt,name=max_begin_block_total_gas,json=maxBeginBlockTotalGas,proto3" json:"max_begin_block_total_gas,omitempty"` - // the maximum gas limit each individual contract can consume in the BeginBlocker. + // the maximum gas limit each individual contract can consume in the + // BeginBlocker. MaxContractGasLimit uint64 `protobuf:"varint,3,opt,name=max_contract_gas_limit,json=maxContractGasLimit,proto3" json:"max_contract_gas_limit,omitempty"` - // min_gas_price defines the minimum gas price the contracts must pay to be executed in the BeginBlocker. + // min_gas_price defines the minimum gas price the contracts must pay to be + // executed in the BeginBlocker. MinGasPrice uint64 `protobuf:"varint,4,opt,name=min_gas_price,json=minGasPrice,proto3" json:"min_gas_price,omitempty"` } @@ -102,10 +106,16 @@ type RegisteredContract struct { GasPrice uint64 `protobuf:"varint,2,opt,name=gas_price,json=gasPrice,proto3" json:"gas_price,omitempty"` // is contract currently active IsExecutable bool `protobuf:"varint,3,opt,name=is_executable,json=isExecutable,proto3" json:"is_executable,omitempty"` - // code_id that is allowed to be executed (to prevent malicious updates) - if nil/0 any code_id can be executed + // code_id that is allowed to be executed (to prevent malicious updates) - if + // nil/0 any code_id can be executed CodeId uint64 `protobuf:"varint,4,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` // optional - admin addr that is allowed to update contract data AdminAddress string `protobuf:"bytes,5,opt,name=admin_address,json=adminAddress,proto3" json:"admin_address,omitempty"` + // Optional: address of the contract granting fee + // Must be set if fund_mode is GrantOnly + GranterAddress string `protobuf:"bytes,6,opt,name=granter_address,json=granterAddress,proto3" json:"granter_address,omitempty"` + // funding mode + FundMode FundingMode `protobuf:"varint,7,opt,name=fund_mode,json=fundMode,proto3,enum=injective.wasmx.v1.FundingMode" json:"fund_mode,omitempty"` } func (m *RegisteredContract) Reset() { *m = RegisteredContract{} } @@ -176,6 +186,20 @@ func (m *RegisteredContract) GetAdminAddress() string { return "" } +func (m *RegisteredContract) GetGranterAddress() string { + if m != nil { + return m.GranterAddress + } + return "" +} + +func (m *RegisteredContract) GetFundMode() FundingMode { + if m != nil { + return m.FundMode + } + return FundingMode_Unspecified +} + func init() { proto.RegisterType((*Params)(nil), "injective.wasmx.v1.Params") proto.RegisterType((*RegisteredContract)(nil), "injective.wasmx.v1.RegisteredContract") @@ -184,34 +208,38 @@ func init() { func init() { proto.RegisterFile("injective/wasmx/v1/wasmx.proto", fileDescriptor_6818ff331f2cddc4) } var fileDescriptor_6818ff331f2cddc4 = []byte{ - // 420 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x92, 0xb1, 0x8e, 0xd3, 0x30, - 0x1c, 0xc6, 0xeb, 0xa3, 0x94, 0x9e, 0xb9, 0x2e, 0xe6, 0x40, 0x01, 0x44, 0xae, 0x2a, 0x4b, 0x19, - 0x68, 0x38, 0xdd, 0x82, 0xd8, 0x28, 0x3a, 0x55, 0x27, 0x6e, 0x38, 0x45, 0x4c, 0x2c, 0xd1, 0x3f, - 0xf6, 0x5f, 0x39, 0x43, 0x1c, 0x57, 0xb1, 0x5b, 0xc2, 0x5b, 0xf0, 0x08, 0xbc, 0x0b, 0xcb, 0x8d, - 0x95, 0x58, 0x98, 0x10, 0x6a, 0x17, 0x1e, 0x03, 0xd9, 0x6e, 0xc2, 0x6d, 0xce, 0xf7, 0xfb, 0xbe, - 0x2f, 0xfe, 0xdb, 0xa6, 0xb1, 0xac, 0x3e, 0x21, 0xb7, 0x72, 0x8d, 0xc9, 0x17, 0x30, 0xaa, 0x49, - 0xd6, 0xa7, 0x61, 0x31, 0x5b, 0xd6, 0xda, 0x6a, 0xc6, 0x3a, 0x3e, 0x0b, 0xf2, 0xfa, 0xf4, 0xc9, - 0x71, 0xa1, 0x0b, 0xed, 0x71, 0xe2, 0x56, 0xc1, 0x39, 0xf9, 0x49, 0xe8, 0xe0, 0x0a, 0x6a, 0x50, - 0x86, 0xbd, 0xa2, 0xc7, 0xd2, 0x64, 0xd8, 0x20, 0x5f, 0x59, 0xa9, 0xab, 0x0c, 0x2b, 0xc8, 0x4b, - 0x14, 0x11, 0x19, 0x93, 0xe9, 0x30, 0x65, 0xd2, 0x9c, 0xb7, 0xe8, 0x3c, 0x10, 0xf6, 0x9a, 0x3e, - 0x56, 0xd0, 0x64, 0x39, 0x16, 0xb2, 0xca, 0xf2, 0x52, 0xf3, 0xcf, 0x99, 0xd5, 0x16, 0xca, 0xac, - 0x00, 0x13, 0x1d, 0x8c, 0xc9, 0xb4, 0x9f, 0x3e, 0x54, 0xd0, 0xcc, 0x1d, 0x9f, 0x3b, 0xfc, 0xc1, - 0xd1, 0x05, 0x18, 0x76, 0x46, 0x1f, 0xb9, 0x24, 0xd7, 0x95, 0xad, 0x81, 0x5b, 0x17, 0xc8, 0x4a, - 0xa9, 0xa4, 0x8d, 0xee, 0xf8, 0xd8, 0x03, 0x05, 0xcd, 0xbb, 0x3d, 0x5c, 0x80, 0xb9, 0x74, 0x88, - 0x4d, 0xe8, 0x48, 0xc9, 0xca, 0x7b, 0x97, 0xb5, 0xe4, 0x18, 0xf5, 0xbd, 0xf7, 0xbe, 0x92, 0xd5, - 0x02, 0xcc, 0x95, 0x93, 0xde, 0xf4, 0xff, 0x7e, 0x3f, 0x21, 0x93, 0x1f, 0x84, 0xb2, 0x14, 0x0b, - 0x69, 0x2c, 0xd6, 0x28, 0xda, 0x22, 0xf6, 0x94, 0x1e, 0xfe, 0xff, 0x11, 0xf1, 0xe1, 0x61, 0xd1, - 0xb6, 0xef, 0x61, 0x68, 0x3e, 0xe8, 0xa0, 0xaf, 0x65, 0xcf, 0xe9, 0xa8, 0x3b, 0x1b, 0x37, 0xbb, - 0xdf, 0xe6, 0x30, 0x3d, 0x6a, 0x0f, 0xc5, 0x69, 0xec, 0x19, 0xbd, 0xc7, 0xb5, 0xc0, 0x4c, 0x8a, - 0xb0, 0xb3, 0x79, 0xff, 0xe6, 0xf7, 0x09, 0x49, 0x07, 0x4e, 0xbc, 0x10, 0xec, 0x05, 0x1d, 0x81, - 0x70, 0x03, 0x80, 0x10, 0x35, 0x1a, 0x13, 0xdd, 0x1d, 0x93, 0xe9, 0xe1, 0xde, 0x74, 0xe4, 0xd1, - 0xdb, 0x40, 0xc2, 0x14, 0x73, 0xbc, 0xd9, 0xc6, 0x64, 0xb3, 0x8d, 0xc9, 0x9f, 0x6d, 0x4c, 0xbe, - 0xed, 0xe2, 0xde, 0x66, 0x17, 0xf7, 0x7e, 0xed, 0xe2, 0xde, 0xc7, 0xf7, 0x85, 0xb4, 0xd7, 0xab, - 0x7c, 0xc6, 0xb5, 0x4a, 0x2e, 0xda, 0xab, 0xbe, 0x84, 0xdc, 0x24, 0xdd, 0xc5, 0xbf, 0xe4, 0xba, - 0xc6, 0xdb, 0x9f, 0xd7, 0x20, 0xab, 0x44, 0x69, 0xb1, 0x2a, 0xd1, 0xec, 0x5f, 0x8d, 0xfd, 0xba, - 0x44, 0x93, 0x0f, 0xfc, 0x4b, 0x38, 0xfb, 0x17, 0x00, 0x00, 0xff, 0xff, 0x28, 0x53, 0xfd, 0x61, - 0x55, 0x02, 0x00, 0x00, + // 486 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x92, 0x4f, 0x6e, 0x13, 0x31, + 0x14, 0xc6, 0xeb, 0x10, 0xd2, 0xc4, 0x34, 0x45, 0x32, 0x05, 0x0d, 0x45, 0x4c, 0x42, 0xd8, 0x84, + 0x45, 0x33, 0x94, 0x6e, 0x10, 0x62, 0x43, 0x50, 0x89, 0x2a, 0x8a, 0x54, 0x8d, 0x58, 0xb1, 0x19, + 0x79, 0xc6, 0x8f, 0xa9, 0x61, 0x6c, 0x47, 0xb6, 0x27, 0x0c, 0xb7, 0xe0, 0x08, 0x1c, 0x81, 0x63, + 0x74, 0x59, 0x89, 0x0d, 0x2b, 0x84, 0x92, 0x0d, 0xc7, 0x40, 0x9e, 0x7f, 0x54, 0x82, 0xdd, 0xf3, + 0xfb, 0x7d, 0xdf, 0x67, 0xfb, 0xe9, 0x61, 0x9f, 0xcb, 0x0f, 0x90, 0x58, 0xbe, 0x82, 0xe0, 0x13, + 0x35, 0xa2, 0x08, 0x56, 0x87, 0x55, 0x31, 0x5b, 0x6a, 0x65, 0x15, 0x21, 0x2d, 0x9f, 0x55, 0xed, + 0xd5, 0xe1, 0xfe, 0x5e, 0xaa, 0x52, 0x55, 0xe2, 0xc0, 0x55, 0x95, 0x72, 0xff, 0xc1, 0x7f, 0x92, + 0x96, 0x5a, 0x2d, 0x95, 0xa1, 0x59, 0x25, 0x99, 0x7c, 0x47, 0xb8, 0x77, 0x46, 0x35, 0x15, 0x86, + 0x3c, 0xc6, 0x7b, 0xdc, 0x44, 0x50, 0x40, 0x92, 0x5b, 0xae, 0x64, 0x04, 0x92, 0xc6, 0x19, 0x30, + 0x0f, 0x8d, 0xd1, 0xb4, 0x1f, 0x12, 0x6e, 0x8e, 0x1b, 0x74, 0x5c, 0x11, 0xf2, 0x14, 0xdf, 0x15, + 0xb4, 0x88, 0x62, 0x48, 0xb9, 0x8c, 0xe2, 0x4c, 0x25, 0x1f, 0x23, 0xab, 0x2c, 0xcd, 0xa2, 0x94, + 0x1a, 0xaf, 0x33, 0x46, 0xd3, 0x6e, 0x78, 0x5b, 0xd0, 0x62, 0xee, 0xf8, 0xdc, 0xe1, 0xb7, 0x8e, + 0x2e, 0xa8, 0x21, 0x47, 0xf8, 0x8e, 0x73, 0x26, 0x4a, 0x5a, 0x4d, 0x13, 0xeb, 0x0c, 0x51, 0xc6, + 0x05, 0xb7, 0xde, 0xb5, 0xd2, 0x76, 0x4b, 0xd0, 0xe2, 0x65, 0x0d, 0x17, 0xd4, 0x9c, 0x3a, 0x44, + 0x26, 0x78, 0x28, 0xb8, 0x2c, 0xb5, 0x4b, 0xcd, 0x13, 0xf0, 0xba, 0xa5, 0xf6, 0x86, 0xe0, 0x72, + 0x41, 0xcd, 0x99, 0x6b, 0x3d, 0xeb, 0xfe, 0xfe, 0x3a, 0x42, 0x93, 0x6f, 0x1d, 0x4c, 0x42, 0x48, + 0xb9, 0xb1, 0xa0, 0x81, 0x35, 0x41, 0xe4, 0x1e, 0x1e, 0xfc, 0xbd, 0x08, 0x95, 0xe6, 0x7e, 0xda, + 0xa4, 0xd7, 0xb0, 0x4a, 0xee, 0xb4, 0xb0, 0x8c, 0x25, 0x0f, 0xf1, 0xb0, 0x9d, 0x8d, 0xfb, 0x7b, + 0xf9, 0xcc, 0x7e, 0xb8, 0xd3, 0x0c, 0xc5, 0xf5, 0xc8, 0x7d, 0xbc, 0x9d, 0x28, 0x06, 0x11, 0x67, + 0xd5, 0xcb, 0xe6, 0xdd, 0x8b, 0x9f, 0x23, 0x14, 0xf6, 0x5c, 0xf3, 0x84, 0x91, 0x47, 0x78, 0x48, + 0x99, 0xfb, 0x00, 0x65, 0x4c, 0x83, 0x31, 0xde, 0xf5, 0x31, 0x9a, 0x0e, 0x6a, 0xd1, 0x4e, 0x89, + 0x5e, 0x54, 0x84, 0x1c, 0xe0, 0x9b, 0xa9, 0xa6, 0xd2, 0x82, 0x6e, 0xc5, 0xbd, 0x2b, 0xe2, 0xdd, + 0x1a, 0x36, 0xf2, 0xe7, 0x78, 0xf0, 0x3e, 0x97, 0x2c, 0x12, 0x8a, 0x81, 0xb7, 0x3d, 0x46, 0xd3, + 0xdd, 0x27, 0xa3, 0xd9, 0xbf, 0x5b, 0x32, 0x7b, 0x95, 0x4b, 0xc6, 0x65, 0xfa, 0x46, 0x31, 0x08, + 0xfb, 0xce, 0xe1, 0xaa, 0x6a, 0x64, 0x73, 0xb8, 0x58, 0xfb, 0xe8, 0x72, 0xed, 0xa3, 0x5f, 0x6b, + 0x1f, 0x7d, 0xd9, 0xf8, 0x5b, 0x97, 0x1b, 0x7f, 0xeb, 0xc7, 0xc6, 0xdf, 0x7a, 0xf7, 0x3a, 0xe5, + 0xf6, 0x3c, 0x8f, 0x67, 0x89, 0x12, 0xc1, 0x49, 0x13, 0x7a, 0x4a, 0x63, 0x13, 0xb4, 0x57, 0x1c, + 0x24, 0x4a, 0xc3, 0xd5, 0xe3, 0x39, 0xe5, 0x32, 0x10, 0x8a, 0xe5, 0x19, 0x98, 0x7a, 0xf7, 0xec, + 0xe7, 0x25, 0x98, 0xb8, 0x57, 0xae, 0xdd, 0xd1, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2a, 0x6a, + 0x78, 0xe2, 0xe5, 0x02, 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { @@ -281,6 +309,12 @@ func (this *RegisteredContract) Equal(that interface{}) bool { if this.AdminAddress != that1.AdminAddress { return false } + if this.GranterAddress != that1.GranterAddress { + return false + } + if this.FundMode != that1.FundMode { + return false + } return true } func (m *Params) Marshal() (dAtA []byte, err error) { @@ -351,6 +385,18 @@ func (m *RegisteredContract) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.FundMode != 0 { + i = encodeVarintWasmx(dAtA, i, uint64(m.FundMode)) + i-- + dAtA[i] = 0x38 + } + if len(m.GranterAddress) > 0 { + i -= len(m.GranterAddress) + copy(dAtA[i:], m.GranterAddress) + i = encodeVarintWasmx(dAtA, i, uint64(len(m.GranterAddress))) + i-- + dAtA[i] = 0x32 + } if len(m.AdminAddress) > 0 { i -= len(m.AdminAddress) copy(dAtA[i:], m.AdminAddress) @@ -440,6 +486,13 @@ func (m *RegisteredContract) Size() (n int) { if l > 0 { n += 1 + l + sovWasmx(uint64(l)) } + l = len(m.GranterAddress) + if l > 0 { + n += 1 + l + sovWasmx(uint64(l)) + } + if m.FundMode != 0 { + n += 1 + sovWasmx(uint64(m.FundMode)) + } return n } @@ -714,6 +767,57 @@ func (m *RegisteredContract) Unmarshal(dAtA []byte) error { } m.AdminAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GranterAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasmx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthWasmx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthWasmx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.GranterAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FundMode", wireType) + } + m.FundMode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasmx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.FundMode |= FundingMode(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipWasmx(dAtA[iNdEx:]) diff --git a/client/chain/chain.go b/client/chain/chain.go index 289f28a1..d645a8ad 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -16,10 +16,11 @@ import ( "sync/atomic" "time" + sdkmath "cosmossdk.io/math" wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" - exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" - "github.com/InjectiveLabs/sdk-go/client/common" log "github.com/InjectiveLabs/suplog" + rpcclient "github.com/cometbft/cometbft/rpc/client" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/tx" codectypes "github.com/cosmos/cosmos-sdk/codec/types" @@ -29,13 +30,16 @@ import ( authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" authztypes "github.com/cosmos/cosmos-sdk/x/authz" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + "github.com/cosmos/gogoproto/proto" eth "github.com/ethereum/go-ethereum/common" - "github.com/gogo/protobuf/proto" "github.com/pkg/errors" "github.com/shopspring/decimal" "google.golang.org/grpc" "google.golang.org/grpc/metadata" + exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" + "github.com/InjectiveLabs/sdk-go/client/common" + ethcommon "github.com/ethereum/go-ethereum/common" ) @@ -156,6 +160,7 @@ type chainClient struct { sessionCookie string sessionEnabled bool + cometbftClient rpcclient.Client txClient txtypes.ServiceClient authQueryClient authtypes.QueryClient exchangeQueryClient exchangetypes.QueryClient @@ -206,10 +211,18 @@ func NewChainClient( } // init tm websocket - if ctx.Client != nil && !ctx.Client.IsRunning() { - err = ctx.Client.Start() + var cometbftClient *rpchttp.HTTP + if ctx.NodeURI != "" { + cometbftClient, err = rpchttp.New(ctx.NodeURI, "/websocket") if err != nil { - return nil, err + panic(err) + } + + if !cometbftClient.IsRunning() { + err = cometbftClient.Start() + if err != nil { + return nil, err + } } } @@ -235,6 +248,7 @@ func NewChainClient( sessionEnabled: stickySessionEnabled, + cometbftClient: cometbftClient, txClient: txtypes.NewServiceClient(conn), authQueryClient: authtypes.NewQueryClient(conn), exchangeQueryClient: exchangetypes.NewQueryClient(conn), @@ -535,7 +549,7 @@ func (c *chainClient) SimulateMsg(clientCtx client.Context, msgs ...sdk.Msg) (*t return nil, err } - simTxBytes, err := tx.BuildSimTx(txf, msgs...) + simTxBytes, err := txf.BuildSimTx(msgs...) if err != nil { err = errors.Wrap(err, "failed to build sim tx bytes") return nil, err @@ -587,7 +601,7 @@ func (c *chainClient) BuildSignedTx(clientCtx client.Context, accNum, accSeq, in txf := NewTxFactory(clientCtx).WithSequence(accSeq).WithAccountNumber(accNum).WithGas(initialGas) if clientCtx.Simulate { - simTxBytes, err := tx.BuildSimTx(txf, msgs...) + simTxBytes, err := txf.BuildSimTx(msgs...) if err != nil { err = errors.Wrap(err, "failed to build sim tx bytes") return nil, err @@ -611,7 +625,7 @@ func (c *chainClient) BuildSignedTx(clientCtx client.Context, accNum, accSeq, in return nil, errors.Wrap(err, "failed to prepareFactory") } - txn, err := tx.BuildUnsignedTx(txf, msgs...) + txn, err := txf.BuildUnsignedTx(msgs...) if err != nil { err = errors.Wrap(err, "failed to BuildUnsignedTx") return nil, err @@ -706,7 +720,7 @@ func (c *chainClient) broadcastTx( } ctx := context.Background() if clientCtx.Simulate { - simTxBytes, err := tx.BuildSimTx(txf, msgs...) + simTxBytes, err := txf.BuildSimTx(msgs...) if err != nil { err = errors.Wrap(err, "failed to build sim tx bytes") return nil, err @@ -725,7 +739,7 @@ func (c *chainClient) broadcastTx( c.gasWanted = adjustedGas } - txn, err := tx.BuildUnsignedTx(txf, msgs...) + txn, err := txf.BuildUnsignedTx(msgs...) if err != nil { err = errors.Wrap(err, "failed to BuildUnsignedTx") @@ -911,7 +925,7 @@ func (c *chainClient) GetSubAccountNonce(ctx context.Context, subaccountId eth.H return c.exchangeQueryClient.SubaccountTradeNonce(ctx, req) } -func formatPriceToTickSize(value, tickSize cosmtypes.Dec) cosmtypes.Dec { +func formatPriceToTickSize(value, tickSize cosmtypes.Dec) sdkmath.LegacyDec { residue := new(big.Int).Mod(value.BigInt(), tickSize.BigInt()) formattedValue := new(big.Int).Sub(value.BigInt(), residue) p := decimal.NewFromBigInt(formattedValue, -18).StringFixed(18) @@ -1029,7 +1043,7 @@ func (c *chainClient) BuildGenericAuthz(granter string, grantee string, msgtype Grantee: grantee, Grant: authztypes.Grant{ Authorization: authzAny, - Expiration: expireIn, + Expiration: &expireIn, }, } } @@ -1135,7 +1149,7 @@ func (c *chainClient) BuildExchangeAuthz(granter string, grantee string, authzTy Grantee: grantee, Grant: authztypes.Grant{ Authorization: &typedAuthzAny, - Expiration: expireIn, + Expiration: &expireIn, }, } } @@ -1191,14 +1205,14 @@ func (c *chainClient) BuildExchangeBatchUpdateOrdersAuthz( Grantee: grantee, Grant: authztypes.Grant{ Authorization: &typedAuthzAny, - Expiration: expireIn, + Expiration: &expireIn, }, } } func (c *chainClient) StreamEventOrderFail(sender string, failEventCh chan map[string]uint) { filter := fmt.Sprintf("tm.event='Tx' AND message.sender='%s' AND message.action='/injective.exchange.v1beta1.MsgBatchUpdateOrders' AND injective.exchange.v1beta1.EventOrderFail.flags EXISTS", sender) - eventCh, err := c.ctx.Client.Subscribe(context.Background(), "OrderFail", filter, 10000) + eventCh, err := c.cometbftClient.Subscribe(context.Background(), "OrderFail", filter, 10000) if err != nil { panic(err) } @@ -1232,7 +1246,7 @@ func (c *chainClient) StreamEventOrderFail(sender string, failEventCh chan map[s func (c *chainClient) StreamOrderbookUpdateEvents(orderbookType OrderbookType, marketIds []string, orderbookCh chan exchangetypes.Orderbook) { filter := fmt.Sprintf("tm.event='NewBlock' AND %s EXISTS", orderbookType) - eventCh, err := c.ctx.Client.Subscribe(context.Background(), "OrderbookUpdate", filter, 10000) + eventCh, err := c.cometbftClient.Subscribe(context.Background(), "OrderbookUpdate", filter, 10000) if err != nil { panic(err) } diff --git a/client/chain/context.go b/client/chain/context.go index 58f1fbc0..4361381a 100644 --- a/client/chain/context.go +++ b/client/chain/context.go @@ -16,7 +16,6 @@ import ( wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" auction "github.com/InjectiveLabs/sdk-go/chain/auction/types" - evm "github.com/InjectiveLabs/sdk-go/chain/evm/types" exchange "github.com/InjectiveLabs/sdk-go/chain/exchange/types" insurance "github.com/InjectiveLabs/sdk-go/chain/insurance/types" ocr "github.com/InjectiveLabs/sdk-go/chain/ocr/types" @@ -36,15 +35,16 @@ import ( distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" evidencetypes "github.com/cosmos/cosmos-sdk/x/evidence/types" feegranttypes "github.com/cosmos/cosmos-sdk/x/feegrant" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + govv1types "github.com/cosmos/cosmos-sdk/x/gov/types/v1" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" paramproposaltypes "github.com/cosmos/cosmos-sdk/x/params/types/proposal" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types" - ibcfeetypes "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types" - ibcapplicationtypes "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types" - ibccoretypes "github.com/cosmos/ibc-go/v4/modules/core/types" + icatypes "github.com/cosmos/ibc-go/v7/modules/apps/27-interchain-accounts/types" + ibcfeetypes "github.com/cosmos/ibc-go/v7/modules/apps/29-fee/types" + ibcapplicationtypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" + ibccoretypes "github.com/cosmos/ibc-go/v7/modules/core/types" ) // NewTxConfig initializes new Cosmos TxConfig with certain signModes enabled. @@ -56,7 +56,6 @@ func NewTxConfig(signModes []signingtypes.SignMode) client.TxConfig { oracle.RegisterInterfaces(interfaceRegistry) insurance.RegisterInterfaces(interfaceRegistry) auction.RegisterInterfaces(interfaceRegistry) - evm.RegisterInterfaces(interfaceRegistry) peggy.RegisterInterfaces(interfaceRegistry) ocr.RegisterInterfaces(interfaceRegistry) wasmx.RegisterInterfaces(interfaceRegistry) @@ -72,6 +71,7 @@ func NewTxConfig(signModes []signingtypes.SignMode) client.TxConfig { distributiontypes.RegisterInterfaces(interfaceRegistry) evidencetypes.RegisterInterfaces(interfaceRegistry) govtypes.RegisterInterfaces(interfaceRegistry) + govv1types.RegisterInterfaces(interfaceRegistry) paramproposaltypes.RegisterInterfaces(interfaceRegistry) ibcapplicationtypes.RegisterInterfaces(interfaceRegistry) ibccoretypes.RegisterInterfaces(interfaceRegistry) @@ -101,7 +101,6 @@ func NewClientContext( insurance.RegisterInterfaces(interfaceRegistry) auction.RegisterInterfaces(interfaceRegistry) oracle.RegisterInterfaces(interfaceRegistry) - evm.RegisterInterfaces(interfaceRegistry) peggy.RegisterInterfaces(interfaceRegistry) ocr.RegisterInterfaces(interfaceRegistry) wasmx.RegisterInterfaces(interfaceRegistry) @@ -117,6 +116,7 @@ func NewClientContext( distributiontypes.RegisterInterfaces(interfaceRegistry) evidencetypes.RegisterInterfaces(interfaceRegistry) govtypes.RegisterInterfaces(interfaceRegistry) + govv1types.RegisterInterfaces(interfaceRegistry) paramproposaltypes.RegisterInterfaces(interfaceRegistry) ibcapplicationtypes.RegisterInterfaces(interfaceRegistry) ibccoretypes.RegisterInterfaces(interfaceRegistry) @@ -137,23 +137,25 @@ func NewClientContext( }), } - var keyInfo keyring.Info + var keyInfo keyring.Record if kb != nil { addr, err := cosmostypes.AccAddressFromBech32(fromSpec) if err == nil { - keyInfo, err = kb.KeyByAddress(addr) + record, err := kb.KeyByAddress(addr) if err != nil { err = errors.Wrapf(err, "failed to load key info by address %s", addr.String()) return clientCtx, err } + keyInfo = *record } else { // failed to parse Bech32, is it a name? - keyInfo, err = kb.Key(fromSpec) + record, err := kb.Key(fromSpec) if err != nil { err = errors.Wrapf(err, "no key in keyring for name: %s", fromSpec) return clientCtx, err } + keyInfo = *record } } @@ -177,13 +179,12 @@ func newContext( chainId string, encodingConfig EncodingConfig, kb keyring.Keyring, - keyInfo keyring.Info, + keyInfo keyring.Record, ) client.Context { clientCtx := client.Context{ ChainID: chainId, Codec: encodingConfig.Marshaler, - JSONCodec: encodingConfig.Marshaler, InterfaceRegistry: encodingConfig.InterfaceRegistry, Output: os.Stderr, OutputFormat: "json", @@ -197,11 +198,15 @@ func newContext( AccountRetriever: authtypes.AccountRetriever{}, } - if keyInfo != nil { + if keyInfo.PubKey != nil { + address, err := keyInfo.GetAddress() + if err != nil { + panic(err) + } clientCtx = clientCtx.WithKeyring(kb) - clientCtx = clientCtx.WithFromAddress(keyInfo.GetAddress()) - clientCtx = clientCtx.WithFromName(keyInfo.GetName()) - clientCtx = clientCtx.WithFrom(keyInfo.GetName()) + clientCtx = clientCtx.WithFromAddress(address) + clientCtx = clientCtx.WithFromName(keyInfo.Name) + clientCtx = clientCtx.WithFrom(keyInfo.Name) } return clientCtx diff --git a/client/chain/keys.go b/client/chain/keys.go index 7259fef4..f23a380b 100644 --- a/client/chain/keys.go +++ b/client/chain/keys.go @@ -8,12 +8,15 @@ import ( "os" "path/filepath" + "github.com/cosmos/cosmos-sdk/codec" + "github.com/cosmos/cosmos-sdk/codec/types" cosmcrypto "github.com/cosmos/cosmos-sdk/crypto" "github.com/cosmos/cosmos-sdk/crypto/keyring" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" cosmtypes "github.com/cosmos/cosmos-sdk/types" "github.com/pkg/errors" + crypto_cdc "github.com/InjectiveLabs/sdk-go/chain/crypto/codec" "github.com/InjectiveLabs/sdk-go/chain/crypto/ethsecp256k1" "github.com/InjectiveLabs/sdk-go/chain/crypto/hd" "github.com/InjectiveLabs/sdk-go/client/common" @@ -101,6 +104,7 @@ func InitCosmosKeyring( cosmosKeyringBackend, absoluteKeyringDir, passReader, + getCryptoCodec(), hd.EthSecp256k1Option(), ) if err != nil { @@ -108,7 +112,7 @@ func InitCosmosKeyring( return emptyCosmosAddress, nil, err } - var keyInfo keyring.Info + var keyInfo *keyring.Record if fromIsAddress { if keyInfo, err = kb.KeyByAddress(addressFrom); err != nil { err = errors.Wrapf(err, "couldn't find an entry for the key %s in keybase", addressFrom.String()) @@ -124,23 +128,33 @@ func InitCosmosKeyring( switch keyType := keyInfo.GetType(); keyType { case keyring.TypeLocal: // kb has a key and it's totally usable - return keyInfo.GetAddress(), kb, nil + addr, err := keyInfo.GetAddress() + if err != nil { + err = errors.Wrapf(err, "failed to get address for key '%s'", keyInfo.Name) + return emptyCosmosAddress, nil, err + } + return addr, kb, nil case keyring.TypeLedger: // the kb stores references to ledger keys, so we must explicitly // check that. kb doesn't know how to scan HD keys - they must be added manually before if cosmosUseLedger { - return keyInfo.GetAddress(), kb, nil + addr, err := keyInfo.GetAddress() + if err != nil { + err = errors.Wrapf(err, "failed to get address for key '%s'", keyInfo.Name) + return emptyCosmosAddress, nil, err + } + return addr, kb, nil } - err := errors.Errorf("'%s' key is a ledger reference, enable ledger option", keyInfo.GetName()) + err := errors.Errorf("'%s' key is a ledger reference, enable ledger option", keyInfo.Name) return emptyCosmosAddress, nil, err case keyring.TypeOffline: - err := errors.Errorf("'%s' key is an offline key, not supported yet", keyInfo.GetName()) + err := errors.Errorf("'%s' key is an offline key, not supported yet", keyInfo.Name) return emptyCosmosAddress, nil, err case keyring.TypeMulti: - err := errors.Errorf("'%s' key is an multisig key, not supported yet", keyInfo.GetName()) + err := errors.Errorf("'%s' key is an multisig key, not supported yet", keyInfo.Name) return emptyCosmosAddress, nil, err default: - err := errors.Errorf("'%s' key has unsupported type: %s", keyInfo.GetName(), keyType) + err := errors.Errorf("'%s' key has unsupported type: %s", keyInfo.Name, keyType) return emptyCosmosAddress, nil, err } @@ -175,10 +189,16 @@ func (r *passReader) Read(p []byte) (n int, err error) { return } +func getCryptoCodec() *codec.ProtoCodec { + registry := types.NewInterfaceRegistry() + crypto_cdc.RegisterInterfaces(registry) + return codec.NewProtoCodec(registry) +} + // KeyringForPrivKey creates a temporary in-mem keyring for a PrivKey. // Allows to init Context when the key has been provided in plaintext and parsed. func KeyringForPrivKey(name string, privKey cryptotypes.PrivKey) (keyring.Keyring, error) { - kb := keyring.NewInMemory(hd.EthSecp256k1Option()) + kb := keyring.NewInMemory(getCryptoCodec(), hd.EthSecp256k1Option()) tmpPhrase := randPhrase(64) armored := cosmcrypto.EncryptArmorPrivKey(privKey, tmpPhrase, privKey.Type()) err := kb.ImportPrivKey(name, armored, tmpPhrase) diff --git a/client/chain/orderhash.go b/client/chain/orderhash.go index 0a260f7b..3f871e9f 100644 --- a/client/chain/orderhash.go +++ b/client/chain/orderhash.go @@ -7,7 +7,7 @@ import ( exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" "github.com/ethereum/go-ethereum/common" ethmath "github.com/ethereum/go-ethereum/common/math" - gethsigner "github.com/ethereum/go-ethereum/signer/core" + gethsigner "github.com/ethereum/go-ethereum/signer/core/apitypes" "golang.org/x/crypto/sha3" ) diff --git a/client/tm/tmclient.go b/client/tm/tmclient.go index 35bb605e..420567f6 100644 --- a/client/tm/tmclient.go +++ b/client/tm/tmclient.go @@ -6,10 +6,10 @@ import ( log "github.com/InjectiveLabs/suplog" - rpcclient "github.com/tendermint/tendermint/rpc/client" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" - ctypes "github.com/tendermint/tendermint/rpc/core/types" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" + rpcclient "github.com/cometbft/cometbft/rpc/client" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + ctypes "github.com/cometbft/cometbft/rpc/core/types" + tmctypes "github.com/cometbft/cometbft/rpc/core/types" ) type TendermintClient interface { @@ -18,6 +18,7 @@ type TendermintClient interface { GetTxs(ctx context.Context, block *tmctypes.ResultBlock) ([]*ctypes.ResultTx, error) GetBlockResults(ctx context.Context, height int64) (*ctypes.ResultBlockResults, error) GetValidatorSet(ctx context.Context, height int64) (*tmctypes.ResultValidators, error) + GetABCIInfo(ctx context.Context) (*ctypes.ResultABCIInfo, error) } type tmClient struct { @@ -84,3 +85,8 @@ func (c *tmClient) GetTxs(ctx context.Context, block *tmctypes.ResultBlock) ([]* func (c *tmClient) GetValidatorSet(ctx context.Context, height int64) (*tmctypes.ResultValidators, error) { return c.rpcClient.Validators(ctx, &height, nil, nil) } + +// GetABCIInfo returns the node abci version +func (c *tmClient) GetABCIInfo(ctx context.Context) (*tmctypes.ResultABCIInfo, error) { + return c.rpcClient.ABCIInfo(ctx) +} diff --git a/examples/chain/0_LocalOrderHash/example.go b/examples/chain/0_LocalOrderHash/example.go index a3ed536c..9d0d1ec3 100644 --- a/examples/chain/0_LocalOrderHash/example.go +++ b/examples/chain/0_LocalOrderHash/example.go @@ -8,18 +8,17 @@ import ( exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" cosmtypes "github.com/cosmos/cosmos-sdk/types" "github.com/shopspring/decimal" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -31,13 +30,11 @@ func main() { "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided false, ) - if err != nil { panic(err) } // initialize grpc client - clientCtx, err := chainclient.NewClientContext( network.ChainId, senderAddress.String(), @@ -48,7 +45,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) chainClient, err := chainclient.NewChainClient( clientCtx, diff --git a/examples/chain/10_MsgBatchCancelDerivativeOrders/example.go b/examples/chain/10_MsgBatchCancelDerivativeOrders/example.go index a4b2d12f..f69ef79e 100644 --- a/examples/chain/10_MsgBatchCancelDerivativeOrders/example.go +++ b/examples/chain/10_MsgBatchCancelDerivativeOrders/example.go @@ -9,17 +9,16 @@ import ( exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" cosmtypes "github.com/cosmos/cosmos-sdk/types" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -46,7 +45,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) chainClient, err := chainclient.NewChainClient( clientCtx, diff --git a/examples/chain/11_MsgBatchCreateSpotLimitOrders/example.go b/examples/chain/11_MsgBatchCreateSpotLimitOrders/example.go index bac648cd..2ec68045 100644 --- a/examples/chain/11_MsgBatchCreateSpotLimitOrders/example.go +++ b/examples/chain/11_MsgBatchCreateSpotLimitOrders/example.go @@ -10,16 +10,15 @@ import ( exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -46,7 +45,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) chainClient, err := chainclient.NewChainClient( clientCtx, diff --git a/examples/chain/12_MsgBatchCreateDerivativeLimitOrders/example.go b/examples/chain/12_MsgBatchCreateDerivativeLimitOrders/example.go index 2e12dfac..4c5ccbb4 100644 --- a/examples/chain/12_MsgBatchCreateDerivativeLimitOrders/example.go +++ b/examples/chain/12_MsgBatchCreateDerivativeLimitOrders/example.go @@ -10,17 +10,16 @@ import ( exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" cosmtypes "github.com/cosmos/cosmos-sdk/types" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -47,7 +46,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) chainClient, err := chainclient.NewChainClient( clientCtx, diff --git a/examples/chain/13_MsgIncreasePositionMargin/example.go b/examples/chain/13_MsgIncreasePositionMargin/example.go index c4c8ca45..58070026 100644 --- a/examples/chain/13_MsgIncreasePositionMargin/example.go +++ b/examples/chain/13_MsgIncreasePositionMargin/example.go @@ -9,17 +9,16 @@ import ( exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" cosmtypes "github.com/cosmos/cosmos-sdk/types" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -46,7 +45,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) msg := &exchangetypes.MsgIncreasePositionMargin{ Sender: senderAddress.String(), diff --git a/examples/chain/15_MsgWithdraw/example.go b/examples/chain/15_MsgWithdraw/example.go index a5c5fafd..6cb52661 100644 --- a/examples/chain/15_MsgWithdraw/example.go +++ b/examples/chain/15_MsgWithdraw/example.go @@ -9,17 +9,16 @@ import ( exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" sdktypes "github.com/cosmos/cosmos-sdk/types" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -46,7 +45,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) msg := &exchangetypes.MsgWithdraw{ Sender: senderAddress.String(), diff --git a/examples/chain/16_MsgSubaccountTransfer/example.go b/examples/chain/16_MsgSubaccountTransfer/example.go index 925443fa..bdea7ce1 100644 --- a/examples/chain/16_MsgSubaccountTransfer/example.go +++ b/examples/chain/16_MsgSubaccountTransfer/example.go @@ -9,17 +9,16 @@ import ( exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" sdktypes "github.com/cosmos/cosmos-sdk/types" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -46,7 +45,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) msg := &exchangetypes.MsgSubaccountTransfer{ Sender: senderAddress.String(), diff --git a/examples/chain/17_MsgBatchUpdateOrders/example.go b/examples/chain/17_MsgBatchUpdateOrders/example.go index 2c1ef9d0..8abd3406 100644 --- a/examples/chain/17_MsgBatchUpdateOrders/example.go +++ b/examples/chain/17_MsgBatchUpdateOrders/example.go @@ -10,17 +10,16 @@ import ( exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" cosmtypes "github.com/cosmos/cosmos-sdk/types" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -47,7 +46,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) chainClient, err := chainclient.NewChainClient( clientCtx, diff --git a/examples/chain/18_MsgBid/example.go b/examples/chain/18_MsgBid/example.go index 92772db8..8366b863 100644 --- a/examples/chain/18_MsgBid/example.go +++ b/examples/chain/18_MsgBid/example.go @@ -9,17 +9,16 @@ import ( auctiontypes "github.com/InjectiveLabs/sdk-go/chain/auction/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" sdktypes "github.com/cosmos/cosmos-sdk/types" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -46,7 +45,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) round := uint64(9355) bidAmount := sdktypes.Coin{ diff --git a/examples/chain/19_MsgGrant/example.go b/examples/chain/19_MsgGrant/example.go index 5726be10..df5e4d4f 100644 --- a/examples/chain/19_MsgGrant/example.go +++ b/examples/chain/19_MsgGrant/example.go @@ -8,16 +8,15 @@ import ( "github.com/InjectiveLabs/sdk-go/client/common" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -44,7 +43,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) chainClient, err := chainclient.NewChainClient( clientCtx, diff --git a/examples/chain/1_MsgSend/example.go b/examples/chain/1_MsgSend/example.go index 8e217d97..64e3b5f6 100644 --- a/examples/chain/1_MsgSend/example.go +++ b/examples/chain/1_MsgSend/example.go @@ -8,18 +8,17 @@ import ( "github.com/InjectiveLabs/sdk-go/client/common" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" sdktypes "github.com/cosmos/cosmos-sdk/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -37,21 +36,17 @@ func main() { } // initialize grpc client - clientCtx, err := chainclient.NewClientContext( network.ChainId, senderAddress.String(), cosmosKeyring, ) - if err != nil { fmt.Println(err) } - - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) // prepare tx msg - msg := &banktypes.MsgSend{ FromAddress: senderAddress.String(), ToAddress: "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", diff --git a/examples/chain/20_MsgExec/example.go b/examples/chain/20_MsgExec/example.go index 1ec6b24d..ae878ac4 100644 --- a/examples/chain/20_MsgExec/example.go +++ b/examples/chain/20_MsgExec/example.go @@ -10,19 +10,18 @@ import ( exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" authztypes "github.com/cosmos/cosmos-sdk/x/authz" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } granterAddress, _, err := chainclient.InitCosmosKeyring( @@ -63,8 +62,7 @@ func main() { fmt.Println(err) } - clientCtx.WithNodeURI(network.TmEndpoint) - clientCtx = clientCtx.WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) chainClient, err := chainclient.NewChainClient( clientCtx, diff --git a/examples/chain/21_MsgRevoke/example.go b/examples/chain/21_MsgRevoke/example.go index 1b4a9f45..57a0e4e1 100644 --- a/examples/chain/21_MsgRevoke/example.go +++ b/examples/chain/21_MsgRevoke/example.go @@ -8,17 +8,16 @@ import ( "github.com/InjectiveLabs/sdk-go/client/common" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" authztypes "github.com/cosmos/cosmos-sdk/x/authz" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -45,7 +44,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) grantee := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" msgType := "/injective.exchange.v1beta1.MsgCreateSpotLimitOrder" diff --git a/examples/chain/22_MsgSendToEth/example.go b/examples/chain/22_MsgSendToEth/example.go index 731be7c1..f6c53cd9 100644 --- a/examples/chain/22_MsgSendToEth/example.go +++ b/examples/chain/22_MsgSendToEth/example.go @@ -9,17 +9,16 @@ import ( peggytypes "github.com/InjectiveLabs/sdk-go/chain/peggy/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" sdktypes "github.com/cosmos/cosmos-sdk/types" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -46,7 +45,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) ethDest := "0xaf79152ac5df276d9a8e1e2e22822f9713474902" diff --git a/examples/chain/23_MsgRelayPriceFeedPrice/example.go b/examples/chain/23_MsgRelayPriceFeedPrice/example.go index cc0ce7ab..890f5bd6 100644 --- a/examples/chain/23_MsgRelayPriceFeedPrice/example.go +++ b/examples/chain/23_MsgRelayPriceFeedPrice/example.go @@ -9,17 +9,16 @@ import ( oracletypes "github.com/InjectiveLabs/sdk-go/chain/oracle/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" cosmtypes "github.com/cosmos/cosmos-sdk/types" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -46,7 +45,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) price := []cosmtypes.Dec{cosmtypes.MustNewDecFromStr("100")} base := []string{"BAYC"} diff --git a/examples/chain/24_MsgRegisterAsDMM/example.go b/examples/chain/24_MsgRegisterAsDMM/example.go index 72a6bbbe..1fd3b608 100644 --- a/examples/chain/24_MsgRegisterAsDMM/example.go +++ b/examples/chain/24_MsgRegisterAsDMM/example.go @@ -7,19 +7,17 @@ import ( "github.com/InjectiveLabs/sdk-go/client/common" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" - exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -46,7 +44,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) msg := &exchangetypes.MsgRewardsOptOut{ Sender: senderAddress.String(), diff --git a/examples/chain/25_MsgDelegate/example.go b/examples/chain/25_MsgDelegate/example.go index 10920449..46b5cc15 100644 --- a/examples/chain/25_MsgDelegate/example.go +++ b/examples/chain/25_MsgDelegate/example.go @@ -8,18 +8,17 @@ import ( "github.com/InjectiveLabs/sdk-go/client/common" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" sdktypes "github.com/cosmos/cosmos-sdk/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -46,7 +45,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) chainClient, err := chainclient.NewChainClient( clientCtx, diff --git a/examples/chain/26_MsgWithdrawDelegatorReward/example.go b/examples/chain/26_MsgWithdrawDelegatorReward/example.go index ae8a918b..2f469054 100644 --- a/examples/chain/26_MsgWithdrawDelegatorReward/example.go +++ b/examples/chain/26_MsgWithdrawDelegatorReward/example.go @@ -8,17 +8,16 @@ import ( "github.com/InjectiveLabs/sdk-go/client/common" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -45,7 +44,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) chainClient, err := chainclient.NewChainClient( clientCtx, diff --git a/examples/chain/27_QueryAuthzGrants/example.go b/examples/chain/27_QueryAuthzGrants/example.go index 986cad43..e1df9c99 100644 --- a/examples/chain/27_QueryAuthzGrants/example.go +++ b/examples/chain/27_QueryAuthzGrants/example.go @@ -4,19 +4,21 @@ import ( "context" "encoding/json" "fmt" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" authztypes "github.com/cosmos/cosmos-sdk/x/authz" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" + "os" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -43,8 +45,7 @@ func main() { fmt.Println(err) } - clientCtx.WithNodeURI(network.TmEndpoint) - clientCtx = clientCtx.WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) chainClient, err := chainclient.NewChainClient( clientCtx, diff --git a/examples/chain/28_BankBalances/example.go b/examples/chain/28_BankBalances/example.go index 7a94de67..a7f41c97 100644 --- a/examples/chain/28_BankBalances/example.go +++ b/examples/chain/28_BankBalances/example.go @@ -4,18 +4,20 @@ import ( "context" "encoding/json" "fmt" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -42,8 +44,7 @@ func main() { fmt.Println(err) } - clientCtx.WithNodeURI(network.TmEndpoint) - clientCtx = clientCtx.WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) chainClient, err := chainclient.NewChainClient( clientCtx, diff --git a/examples/chain/29_BankBalance/example.go b/examples/chain/29_BankBalance/example.go index b972312a..11aa4f71 100644 --- a/examples/chain/29_BankBalance/example.go +++ b/examples/chain/29_BankBalance/example.go @@ -4,18 +4,20 @@ import ( "context" "encoding/json" "fmt" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -42,8 +44,7 @@ func main() { fmt.Println(err) } - clientCtx.WithNodeURI(network.TmEndpoint) - clientCtx = clientCtx.WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) chainClient, err := chainclient.NewChainClient( clientCtx, diff --git a/examples/chain/2_MsgDeposit/example.go b/examples/chain/2_MsgDeposit/example.go index 3fd3b77b..e904b1b2 100644 --- a/examples/chain/2_MsgDeposit/example.go +++ b/examples/chain/2_MsgDeposit/example.go @@ -8,18 +8,18 @@ import ( "github.com/InjectiveLabs/sdk-go/client/common" sdktypes "github.com/cosmos/cosmos-sdk/types" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -41,12 +41,10 @@ func main() { senderAddress.String(), cosmosKeyring, ) - if err != nil { fmt.Println(err) } - - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) msg := &exchangetypes.MsgDeposit{ Sender: senderAddress.String(), diff --git a/examples/chain/30_MsgExternalTransfer/example.go b/examples/chain/30_MsgExternalTransfer/example.go index d4207c8f..af68506c 100644 --- a/examples/chain/30_MsgExternalTransfer/example.go +++ b/examples/chain/30_MsgExternalTransfer/example.go @@ -9,17 +9,16 @@ import ( exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" sdktypes "github.com/cosmos/cosmos-sdk/types" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -46,7 +45,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) msg := &exchangetypes.MsgExternalTransfer{ Sender: senderAddress.String(), diff --git a/examples/chain/31_MsgMultiSend/example.go b/examples/chain/31_MsgMultiSend/example.go index c0fefcd9..98c5316e 100644 --- a/examples/chain/31_MsgMultiSend/example.go +++ b/examples/chain/31_MsgMultiSend/example.go @@ -8,18 +8,17 @@ import ( "github.com/InjectiveLabs/sdk-go/client/common" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" sdktypes "github.com/cosmos/cosmos-sdk/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -48,7 +47,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) // prepare tx msg diff --git a/examples/chain/32_Account/example.go b/examples/chain/32_Account/example.go index c4ba2d4d..3a120408 100644 --- a/examples/chain/32_Account/example.go +++ b/examples/chain/32_Account/example.go @@ -6,19 +6,19 @@ import ( "os" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" "github.com/InjectiveLabs/sdk-go/chain/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("mainnet", "sentry0") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -45,8 +45,7 @@ func main() { fmt.Println(err) } - clientCtx.WithNodeURI(network.TmEndpoint) - clientCtx = clientCtx.WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) queryClient := authtypes.NewQueryClient(clientCtx) diff --git a/examples/chain/34_OfflineSigning/example.go b/examples/chain/34_OfflineSigning/example.go index d76fca61..2227d0ad 100644 --- a/examples/chain/34_OfflineSigning/example.go +++ b/examples/chain/34_OfflineSigning/example.go @@ -11,7 +11,7 @@ import ( exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" ) func StoreTxToFile(fileName string, txBytes []byte) error { @@ -29,10 +29,9 @@ func LoadTxFromFile(fileName string) ([]byte, error) { func main() { network := common.LoadNetwork("devnet", "") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -59,7 +58,7 @@ func main() { panic(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) chainClient, err := chainclient.NewChainClient( clientCtx, diff --git a/examples/chain/35_StreamEventOrderFail/example.go b/examples/chain/35_StreamEventOrderFail/example.go index fbd5f986..ee04c18c 100644 --- a/examples/chain/35_StreamEventOrderFail/example.go +++ b/examples/chain/35_StreamEventOrderFail/example.go @@ -2,14 +2,18 @@ package main import ( "fmt" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" ) func main() { network := common.LoadNetwork("mainnet", "sentry0") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } clientCtx, err := chainclient.NewClientContext( network.ChainId, @@ -19,7 +23,7 @@ func main() { if err != nil { panic(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) chainClient, err := chainclient.NewChainClient( clientCtx, diff --git a/examples/chain/36_StreamEventOrderbookUpdate/example.go b/examples/chain/36_StreamEventOrderbookUpdate/example.go index 242e2e55..e487c8cf 100644 --- a/examples/chain/36_StreamEventOrderbookUpdate/example.go +++ b/examples/chain/36_StreamEventOrderbookUpdate/example.go @@ -2,15 +2,19 @@ package main import ( "fmt" + exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" ) func main() { network := common.LoadNetwork("devnet", "") - tmRPC, err := rpchttp.New("http://139.178.68.147:26657", "/websocket") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } clientCtx, err := chainclient.NewClientContext( network.ChainId, @@ -20,7 +24,7 @@ func main() { if err != nil { panic(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) chainClient, err := chainclient.NewChainClient( clientCtx, @@ -36,7 +40,7 @@ func main() { //0x74ee114ad750f8429a97e07b5e73e145724e9b21670a7666625ddacc03d6758d //0x26413a70c9b78a495023e5ab8003c9cf963ef963f6755f8b57255feb5744bf31 marketIds := []string{ - "0x74b17b0d6855feba39f1f7ab1e8bad0363bd510ee1dcc74e40c2adfe1502f781", + "0xa508cb32923323679f29a032c70342c147c17d0145625922b0ef22e955c844c0", } orderbookCh := make(chan exchangetypes.Orderbook, 10000) diff --git a/examples/chain/3_MsgCreateSpotLimitOrder/example.go b/examples/chain/3_MsgCreateSpotLimitOrder/example.go index bff0c420..934a431e 100644 --- a/examples/chain/3_MsgCreateSpotLimitOrder/example.go +++ b/examples/chain/3_MsgCreateSpotLimitOrder/example.go @@ -10,16 +10,15 @@ import ( exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -41,12 +40,10 @@ func main() { senderAddress.String(), cosmosKeyring, ) - if err != nil { fmt.Println(err) } - - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) chainClient, err := chainclient.NewChainClient( clientCtx, diff --git a/examples/chain/4_MsgCreateSpotMarketOrder/example.go b/examples/chain/4_MsgCreateSpotMarketOrder/example.go index 66fcc7ec..651d9110 100644 --- a/examples/chain/4_MsgCreateSpotMarketOrder/example.go +++ b/examples/chain/4_MsgCreateSpotMarketOrder/example.go @@ -8,19 +8,17 @@ import ( "github.com/InjectiveLabs/sdk-go/client/common" "github.com/shopspring/decimal" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" - exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -47,8 +45,7 @@ func main() { fmt.Println(err) } - clientCtx.WithNodeURI(network.TmEndpoint) - clientCtx = clientCtx.WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) chainClient, err := chainclient.NewChainClient( clientCtx, diff --git a/examples/chain/5_MsgCancelSpotOrder/example.go b/examples/chain/5_MsgCancelSpotOrder/example.go index 29586ff2..503fd9fa 100644 --- a/examples/chain/5_MsgCancelSpotOrder/example.go +++ b/examples/chain/5_MsgCancelSpotOrder/example.go @@ -9,16 +9,15 @@ import ( exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -45,7 +44,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) msg := &exchangetypes.MsgCancelSpotOrder{ Sender: senderAddress.String(), diff --git a/examples/chain/6_MsgCreateDerivativeLimitOrder/example.go b/examples/chain/6_MsgCreateDerivativeLimitOrder/example.go index 83efe047..40ed6cea 100644 --- a/examples/chain/6_MsgCreateDerivativeLimitOrder/example.go +++ b/examples/chain/6_MsgCreateDerivativeLimitOrder/example.go @@ -10,17 +10,16 @@ import ( exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" cosmtypes "github.com/cosmos/cosmos-sdk/types" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -47,7 +46,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) chainClient, err := chainclient.NewChainClient( clientCtx, diff --git a/examples/chain/7_MsgCreateDerivativeMarketOrder/example.go b/examples/chain/7_MsgCreateDerivativeMarketOrder/example.go index 0c7f6263..560d1b49 100644 --- a/examples/chain/7_MsgCreateDerivativeMarketOrder/example.go +++ b/examples/chain/7_MsgCreateDerivativeMarketOrder/example.go @@ -10,17 +10,16 @@ import ( exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" cosmtypes "github.com/cosmos/cosmos-sdk/types" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -47,7 +46,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) chainClient, err := chainclient.NewChainClient( clientCtx, diff --git a/examples/chain/8_MsgCancelDerivativeOrder/example.go b/examples/chain/8_MsgCancelDerivativeOrder/example.go index 999e9006..a18701c0 100644 --- a/examples/chain/8_MsgCancelDerivativeOrder/example.go +++ b/examples/chain/8_MsgCancelDerivativeOrder/example.go @@ -9,16 +9,15 @@ import ( exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -45,7 +44,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) msg := &exchangetypes.MsgCancelDerivativeOrder{ Sender: senderAddress.String(), diff --git a/examples/chain/9_MsgBatchCancelSpotOrders/example.go b/examples/chain/9_MsgBatchCancelSpotOrders/example.go index e97eff31..29c51709 100644 --- a/examples/chain/9_MsgBatchCancelSpotOrders/example.go +++ b/examples/chain/9_MsgBatchCancelSpotOrders/example.go @@ -9,17 +9,16 @@ import ( exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" cosmtypes "github.com/cosmos/cosmos-sdk/types" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) func main() { // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "k8s") - tmRPC, err := rpchttp.New(network.TmEndpoint, "/websocket") - + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") if err != nil { - fmt.Println(err) + panic(err) } senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( @@ -46,7 +45,7 @@ func main() { fmt.Println(err) } - clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmRPC) + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) chainClient, err := chainclient.NewChainClient( clientCtx, diff --git a/examples/exchange/accounts/2_SubaccountBalance/example.go b/examples/exchange/accounts/2_SubaccountBalance/example.go index 7f5d3d7e..78ebac80 100644 --- a/examples/exchange/accounts/2_SubaccountBalance/example.go +++ b/examples/exchange/accounts/2_SubaccountBalance/example.go @@ -11,7 +11,7 @@ import ( func main() { //network := common.LoadNetwork("mainnet", "k8s") - network := common.LoadNetwork("testnet", "k8s") + network := common.LoadNetwork("mainnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network.ExchangeGrpcEndpoint, common.OptionTLSCert(network.ExchangeTlsCert)) if err != nil { panic(err) diff --git a/examples/exchange/portfolio/2_StreamAccountPortfolioBankBalances/example.go b/examples/exchange/portfolio/2_StreamAccountPortfolioBankBalances/example.go index 78edce1c..5a651dc8 100644 --- a/examples/exchange/portfolio/2_StreamAccountPortfolioBankBalances/example.go +++ b/examples/exchange/portfolio/2_StreamAccountPortfolioBankBalances/example.go @@ -4,8 +4,8 @@ import ( "context" "encoding/json" "fmt" - "github.com/InjectiveLabs/sdk-go/client/common" + exchangeclient "github.com/InjectiveLabs/sdk-go/client/exchange" ) @@ -19,7 +19,7 @@ func main() { ctx := context.Background() - stream, err := exchangeClient.StreamAccountPortfolio(ctx, "inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", "", "") + stream, err := exchangeClient.StreamAccountPortfolio(ctx, "inj1rgxjfea3y2e7n0frz5syly8n5zulagy3fc56jy", "", "") if err != nil { fmt.Println(err) } diff --git a/exchange/accounts_rpc/pb/injective_accounts_rpc.pb.go b/exchange/accounts_rpc/pb/injective_accounts_rpc.pb.go index 1dfadfa7..4e519222 100644 --- a/exchange/accounts_rpc/pb/injective_accounts_rpc.pb.go +++ b/exchange/accounts_rpc/pb/injective_accounts_rpc.pb.go @@ -7,7 +7,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.27.1 +// protoc-gen-go v1.28.1-devel // protoc v3.19.4 // source: injective_accounts_rpc.proto diff --git a/exchange/accounts_rpc/pb/injective_accounts_rpc_grpc.pb.go b/exchange/accounts_rpc/pb/injective_accounts_rpc_grpc.pb.go index 2ac6c1de..14ccbcfc 100644 --- a/exchange/accounts_rpc/pb/injective_accounts_rpc_grpc.pb.go +++ b/exchange/accounts_rpc/pb/injective_accounts_rpc_grpc.pb.go @@ -1,8 +1,4 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.19.4 -// source: injective_accounts_rpc.proto package injective_accounts_rpcpb diff --git a/exchange/auction_rpc/pb/injective_auction_rpc.pb.go b/exchange/auction_rpc/pb/injective_auction_rpc.pb.go index 4477ba4f..3720cb97 100644 --- a/exchange/auction_rpc/pb/injective_auction_rpc.pb.go +++ b/exchange/auction_rpc/pb/injective_auction_rpc.pb.go @@ -7,7 +7,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.27.1 +// protoc-gen-go v1.28.1-devel // protoc v3.19.4 // source: injective_auction_rpc.proto diff --git a/exchange/auction_rpc/pb/injective_auction_rpc_grpc.pb.go b/exchange/auction_rpc/pb/injective_auction_rpc_grpc.pb.go index 40ff39b9..1d843816 100644 --- a/exchange/auction_rpc/pb/injective_auction_rpc_grpc.pb.go +++ b/exchange/auction_rpc/pb/injective_auction_rpc_grpc.pb.go @@ -1,8 +1,4 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.19.4 -// source: injective_auction_rpc.proto package injective_auction_rpcpb diff --git a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.pb.go b/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.pb.go index 1423b22d..b0b3c643 100644 --- a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.pb.go +++ b/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.pb.go @@ -7,7 +7,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.27.1 +// protoc-gen-go v1.28.1-devel // protoc v3.19.4 // source: injective_derivative_exchange_rpc.proto diff --git a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc_grpc.pb.go b/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc_grpc.pb.go index c6978b8c..bbfb7a7a 100644 --- a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc_grpc.pb.go +++ b/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc_grpc.pb.go @@ -1,8 +1,4 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.19.4 -// source: injective_derivative_exchange_rpc.proto package injective_derivative_exchange_rpcpb diff --git a/exchange/exchange_rpc/pb/injective_exchange_rpc.pb.go b/exchange/exchange_rpc/pb/injective_exchange_rpc.pb.go index f1edcdc7..b7d9632c 100644 --- a/exchange/exchange_rpc/pb/injective_exchange_rpc.pb.go +++ b/exchange/exchange_rpc/pb/injective_exchange_rpc.pb.go @@ -7,7 +7,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.27.1 +// protoc-gen-go v1.28.1-devel // protoc v3.19.4 // source: injective_exchange_rpc.proto diff --git a/exchange/exchange_rpc/pb/injective_exchange_rpc_grpc.pb.go b/exchange/exchange_rpc/pb/injective_exchange_rpc_grpc.pb.go index 4554d72e..dc5460ab 100644 --- a/exchange/exchange_rpc/pb/injective_exchange_rpc_grpc.pb.go +++ b/exchange/exchange_rpc/pb/injective_exchange_rpc_grpc.pb.go @@ -1,8 +1,4 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.19.4 -// source: injective_exchange_rpc.proto package injective_exchange_rpcpb diff --git a/exchange/explorer_rpc/pb/injective_explorer_rpc.pb.go b/exchange/explorer_rpc/pb/injective_explorer_rpc.pb.go index 084800ed..a3d3820b 100644 --- a/exchange/explorer_rpc/pb/injective_explorer_rpc.pb.go +++ b/exchange/explorer_rpc/pb/injective_explorer_rpc.pb.go @@ -7,7 +7,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.27.1 +// protoc-gen-go v1.28.1-devel // protoc v3.19.4 // source: injective_explorer_rpc.proto @@ -297,6 +297,8 @@ type TxDetailData struct { BlockUnixTimestamp uint64 `protobuf:"varint,19,opt,name=block_unix_timestamp,json=blockUnixTimestamp,proto3" json:"block_unix_timestamp,omitempty"` // Transaction log indicating errors ErrorLog string `protobuf:"bytes,20,opt,name=error_log,json=errorLog,proto3" json:"error_log,omitempty"` + // transaction event logs + Logs []byte `protobuf:"bytes,21,opt,name=logs,proto3" json:"logs,omitempty"` } func (x *TxDetailData) Reset() { @@ -464,6 +466,13 @@ func (x *TxDetailData) GetErrorLog() string { return "" } +func (x *TxDetailData) GetLogs() []byte { + if x != nil { + return x.Logs + } + return nil +} + type GasFee struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1444,6 +1453,8 @@ type TxData struct { ErrorLog string `protobuf:"bytes,8,opt,name=error_log,json=errorLog,proto3" json:"error_log,omitempty"` Code uint32 `protobuf:"varint,9,opt,name=code,proto3" json:"code,omitempty"` TxMsgTypes []byte `protobuf:"bytes,10,opt,name=tx_msg_types,json=txMsgTypes,proto3" json:"tx_msg_types,omitempty"` + // transaction event logs + Logs []byte `protobuf:"bytes,11,opt,name=logs,proto3" json:"logs,omitempty"` } func (x *TxData) Reset() { @@ -1548,6 +1559,13 @@ func (x *TxData) GetTxMsgTypes() []byte { return nil } +func (x *TxData) GetLogs() []byte { + if x != nil { + return x.Logs + } + return nil +} + type GetValidatorsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -5656,7 +5674,7 @@ var file_injective_explorer_rpc_proto_rawDesc = []byte{ 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x11, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, - 0x79, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xfa, 0x04, 0x0a, 0x0c, + 0x79, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x8e, 0x05, 0x0a, 0x0c, 0x54, 0x78, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, @@ -5696,893 +5714,895 @@ var file_injective_explorer_rpc_proto_rawDesc = []byte{ 0x70, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x6e, 0x69, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x22, 0x91, 0x01, 0x0a, 0x06, 0x47, 0x61, 0x73, - 0x46, 0x65, 0x65, 0x12, 0x3a, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x08, 0x67, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x79, - 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x3a, 0x0a, 0x0a, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, - 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, - 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xa9, 0x01, 0x0a, 0x05, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x77, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x99, 0x01, - 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, - 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x66, - 0x72, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, - 0x74, 0x6f, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x08, 0x74, 0x6f, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x8a, 0x01, 0x0a, 0x16, 0x47, 0x65, - 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x38, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x54, 0x78, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x56, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x65, - 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x62, 0x65, 0x66, 0x6f, - 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x82, - 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x35, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x22, 0xad, 0x02, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, - 0x70, 0x6f, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, - 0x70, 0x6f, 0x73, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x12, - 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1f, - 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, - 0x26, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x50, 0x72, 0x65, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x75, 0x6d, 0x5f, 0x74, - 0x78, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x54, 0x78, 0x73, - 0x12, 0x33, 0x0a, 0x03, 0x74, 0x78, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, - 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x50, 0x43, - 0x52, 0x03, 0x74, 0x78, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x22, 0x83, 0x02, 0x0a, 0x09, 0x54, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x50, - 0x43, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, - 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, - 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, - 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, - 0x74, 0x78, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x21, 0x0a, 0x0f, 0x47, 0x65, 0x74, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x75, 0x0a, 0x10, - 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x0c, 0x0a, 0x01, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x73, 0x12, 0x16, - 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x12, 0x3b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x22, 0xcd, 0x02, 0x0a, 0x0f, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, - 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, - 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, - 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x48, 0x61, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, - 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x72, 0x65, - 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0d, - 0x6e, 0x75, 0x6d, 0x50, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x17, 0x0a, - 0x07, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x78, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, - 0x6e, 0x75, 0x6d, 0x54, 0x78, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, - 0x74, 0x78, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x54, 0x78, 0x73, 0x12, 0x30, 0x0a, 0x03, 0x74, 0x78, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, - 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x78, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x03, 0x74, 0x78, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x22, 0xa2, 0x02, 0x0a, 0x06, 0x54, 0x78, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, - 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1c, - 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74, 0x78, 0x4e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6c, - 0x6f, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4c, - 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x74, 0x78, 0x5f, 0x6d, 0x73, 0x67, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x74, 0x78, - 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0x74, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x12, - 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, - 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x98, 0x07, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x12, 0x29, - 0x0a, 0x10, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x6f, 0x6e, - 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6a, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x29, - 0x0a, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x6f, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, + 0x18, 0x15, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x22, 0x91, 0x01, 0x0a, + 0x06, 0x47, 0x61, 0x73, 0x46, 0x65, 0x65, 0x12, 0x3a, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x06, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x67, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x70, 0x61, 0x79, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x72, + 0x22, 0x3a, 0x0a, 0x0a, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x14, + 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, + 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xa9, 0x01, 0x0a, + 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x61, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, - 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, - 0x72, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x75, 0x6e, 0x62, - 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x0f, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x75, 0x6e, - 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, - 0x52, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x61, - 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, - 0x65, 0x12, 0x34, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x6f, - 0x73, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x6f, - 0x73, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6d, - 0x69, 0x73, 0x73, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x69, 0x73, - 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x12, 0x41, 0x0a, 0x07, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x07, 0x75, 0x70, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, - 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, - 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, - 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x10, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, - 0x65, 0x22, 0xab, 0x01, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x44, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, - 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x6e, - 0x69, 0x6b, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, - 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, - 0x4c, 0x0a, 0x0f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x74, 0x69, - 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xe0, 0x01, - 0x0a, 0x0d, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, - 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x72, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6d, - 0x69, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, - 0x22, 0x2f, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x22, 0x73, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x12, - 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, - 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x35, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x7f, 0x0a, - 0x1a, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x74, - 0x69, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, - 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, - 0x67, 0x12, 0x3b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, - 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xd1, - 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x12, 0x14, - 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x4e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x5f, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x08, 0x74, 0x6f, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x22, 0x7c, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x54, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x22, 0x2a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x78, 0x42, 0x79, 0x54, 0x78, 0x48, 0x61, 0x73, - 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x77, 0x0a, 0x15, - 0x47, 0x65, 0x74, 0x54, 0x78, 0x42, 0x79, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x01, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x12, 0x38, 0x0a, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x54, 0x78, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x79, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x50, 0x65, 0x67, 0x67, - 0x79, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, - 0x22, 0x5a, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x50, 0x65, 0x67, 0x67, 0x79, 0x44, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, - 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, - 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x67, 0x67, 0x79, 0x44, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x54, 0x78, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x22, 0xf9, 0x02, 0x0a, - 0x0e, 0x50, 0x65, 0x67, 0x67, 0x79, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x54, 0x78, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x6f, 0x6e, - 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4e, - 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x31, 0x0a, 0x14, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x13, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x11, 0x52, 0x09, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, - 0x09, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x08, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x7c, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x50, - 0x65, 0x67, 0x67, 0x79, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x54, 0x78, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, + 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x77, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x22, 0x99, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, + 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, + 0x1f, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x08, 0x74, 0x6f, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x8a, 0x01, + 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x12, 0x38, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, + 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x78, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x56, 0x0a, 0x10, 0x47, 0x65, + 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, + 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x22, 0x60, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x50, 0x65, 0x67, - 0x67, 0x79, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x54, 0x78, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x50, 0x65, 0x67, 0x67, 0x79, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x54, - 0x78, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x22, 0x87, 0x04, 0x0a, 0x11, 0x50, 0x65, 0x67, - 0x67, 0x79, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x54, 0x78, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, - 0x6e, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, - 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x46, 0x65, 0x65, 0x12, - 0x24, 0x0a, 0x0e, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x5f, 0x69, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, - 0x67, 0x54, 0x78, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x6f, - 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6f, 0x72, 0x63, 0x68, 0x65, - 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, - 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, - 0x21, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x69, - 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x11, 0x52, 0x09, 0x63, 0x6c, - 0x61, 0x69, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x68, 0x61, - 0x73, 0x68, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x74, 0x78, 0x48, 0x61, - 0x73, 0x68, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x22, 0xf4, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x49, 0x42, 0x43, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x72, 0x63, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x72, 0x63, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x72, 0x63, 0x5f, 0x70, 0x6f, 0x72, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x72, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x12, - 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x22, 0x58, 0x0a, 0x19, 0x47, 0x65, 0x74, - 0x49, 0x42, 0x43, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x78, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x49, - 0x42, 0x43, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x78, 0x52, 0x05, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x22, 0x9e, 0x04, 0x0a, 0x0d, 0x49, 0x42, 0x43, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x54, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, - 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2f, 0x0a, 0x13, - 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x16, 0x0a, - 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x74, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x48, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x74, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, - 0x5f, 0x68, 0x65, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, - 0x48, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, - 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x74, 0x78, - 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x22, 0x69, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, - 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x08, 0x74, 0x6f, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, - 0x84, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x73, + 0x69, 0x74, 0x22, 0x82, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, - 0x12, 0x34, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, + 0x12, 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, - 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x64, 0x65, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe2, 0x03, 0x0a, 0x08, 0x57, 0x61, 0x73, 0x6d, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, - 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, - 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3c, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, - 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xad, 0x02, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x6e, + 0x69, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x6e, 0x69, + 0x6b, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, + 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, + 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x72, 0x65, 0x5f, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0d, 0x6e, 0x75, + 0x6d, 0x50, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6e, + 0x75, 0x6d, 0x5f, 0x74, 0x78, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x6e, 0x75, + 0x6d, 0x54, 0x78, 0x73, 0x12, 0x33, 0x0a, 0x03, 0x74, 0x78, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, + 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x78, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x50, 0x43, 0x52, 0x03, 0x74, 0x78, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x83, 0x02, 0x0a, 0x09, 0x54, 0x78, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x50, 0x43, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, + 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x08, 0x74, 0x78, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x21, 0x0a, + 0x0f, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x22, 0x75, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x01, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x12, 0x3b, 0x0a, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xcd, 0x02, 0x0a, 0x0f, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x12, + 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, + 0x5f, 0x70, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x50, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x78, 0x73, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x54, 0x78, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x78, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x08, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x78, 0x73, 0x12, 0x30, 0x0a, 0x03, 0x74, 0x78, 0x73, 0x18, 0x09, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x78, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x03, 0x74, 0x78, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xb6, 0x02, 0x0a, 0x06, 0x54, 0x78, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, + 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, + 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, + 0x74, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x08, 0x74, 0x78, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x74, 0x78, + 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x0a, 0x74, 0x78, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, + 0x22, 0x16, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x74, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x98, + 0x07, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, + 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, + 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, + 0x0a, 0x06, 0x6a, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x6a, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, + 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0f, 0x75, 0x6e, 0x62, + 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x25, 0x0a, 0x0e, + 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, + 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x13, + 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, + 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x52, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x1a, + 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x17, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x18, 0x12, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x41, 0x0a, 0x07, 0x75, 0x70, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x74, + 0x69, 0x6d, 0x65, 0x52, 0x07, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0f, + 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x73, 0x6c, + 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, + 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, + 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x50, + 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x22, 0xab, 0x01, 0x0a, 0x14, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, + 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, + 0x74, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x4c, 0x0a, 0x0f, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xe0, 0x01, 0x0a, 0x0d, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, + 0x6e, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x70, 0x6f, + 0x77, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6a, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6d, 0x69, 0x73, 0x73, + 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x22, 0x2f, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x73, 0x0a, 0x14, 0x47, 0x65, 0x74, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x35, + 0x0a, 0x19, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, + 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x7f, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, + 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x12, 0x3b, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x73, 0x75, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x4a, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, - 0x0b, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1b, - 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x63, 0x6f, 0x64, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x22, 0x0a, 0x0c, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x73, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x64, - 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, - 0x63, 0x6f, 0x64, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, - 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x08, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, - 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f, - 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x4f, 0x0a, 0x12, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x11, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x31, 0x0a, 0x16, 0x47, 0x65, - 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x63, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0xf1, 0x03, - 0x0a, 0x17, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x79, 0x49, - 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6f, 0x64, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x6f, 0x64, 0x65, - 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3c, 0x0a, 0x08, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, - 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x52, - 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x76, 0x69, 0x65, - 0x77, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x64, 0x65, 0x56, 0x69, 0x65, - 0x77, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, - 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, - 0x69, 0x61, 0x74, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x49, - 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x63, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, - 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xd1, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x54, 0x78, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x65, 0x66, 0x6f, + 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, + 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, - 0x09, 0x74, 0x6f, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x08, 0x74, 0x6f, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x73, - 0x6b, 0x69, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x22, - 0x8c, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x06, + 0x09, 0x74, 0x6f, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x08, 0x74, 0x6f, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x7c, 0x0a, 0x0e, 0x47, 0x65, + 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x12, 0x38, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x57, 0x61, 0x73, 0x6d, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe9, - 0x04, 0x0a, 0x0c, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x73, 0x12, 0x27, - 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, - 0x69, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x5f, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, - 0x6e, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x12, 0x3a, 0x0a, 0x05, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x09, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x05, 0x66, 0x75, 0x6e, 0x64, 0x73, - 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x63, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, - 0x36, 0x0a, 0x17, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x69, 0x67, 0x72, 0x61, - 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x15, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x49, - 0x0a, 0x0d, 0x63, 0x77, 0x32, 0x30, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, - 0x77, 0x32, 0x30, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x63, 0x77, 0x32, - 0x30, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, - 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, - 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x0c, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, - 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, - 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xa6, 0x01, 0x0a, 0x0c, 0x43, 0x77, 0x32, - 0x30, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x67, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x78, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, + 0x78, 0x42, 0x79, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x68, 0x61, 0x73, 0x68, 0x22, 0x77, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x78, 0x42, 0x79, 0x54, + 0x78, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0c, 0x0a, + 0x01, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, + 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, + 0x6d, 0x73, 0x67, 0x12, 0x38, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, + 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x78, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x79, 0x0a, + 0x19, 0x47, 0x65, 0x74, 0x50, 0x65, 0x67, 0x67, 0x79, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, + 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x22, 0x5a, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x50, + 0x65, 0x67, 0x67, 0x79, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, + 0x65, 0x67, 0x67, 0x79, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x54, 0x78, 0x52, 0x05, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x22, 0xf9, 0x02, 0x0a, 0x0e, 0x50, 0x65, 0x67, 0x67, 0x79, 0x44, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x54, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, + 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x31, 0x0a, + 0x14, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6f, 0x72, 0x63, + 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x11, 0x52, 0x09, 0x63, 0x6c, 0x61, 0x69, + 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, + 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x22, 0x7c, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x50, 0x65, 0x67, 0x67, 0x79, 0x57, 0x69, 0x74, 0x68, + 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, + 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x22, 0x60, + 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x50, 0x65, 0x67, 0x67, 0x79, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, + 0x61, 0x77, 0x61, 0x6c, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3f, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, + 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x67, 0x67, 0x79, 0x57, 0x69, 0x74, + 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x54, 0x78, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x22, 0x87, 0x04, 0x0a, 0x11, 0x50, 0x65, 0x67, 0x67, 0x79, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, + 0x61, 0x77, 0x61, 0x6c, 0x54, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1a, + 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x72, 0x69, 0x64, + 0x67, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x46, 0x65, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6f, 0x75, 0x74, 0x67, 0x6f, + 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0c, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x49, 0x64, 0x12, 0x23, 0x0a, + 0x0d, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6f, + 0x6e, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x13, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, + 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x11, 0x52, 0x09, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x08, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xf4, 0x01, 0x0a, 0x18, 0x47, + 0x65, 0x74, 0x49, 0x42, 0x43, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x78, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, + 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, + 0x72, 0x63, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x73, 0x72, 0x63, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x19, 0x0a, 0x08, + 0x73, 0x72, 0x63, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x73, 0x72, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, + 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, + 0x65, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, + 0x70, 0x22, 0x58, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x49, 0x42, 0x43, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, + 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, - 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x77, 0x32, 0x30, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x50, 0x0a, 0x0e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, - 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x77, 0x32, 0x30, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, - 0x6f, 0x22, 0x7a, 0x0a, 0x0d, 0x43, 0x77, 0x32, 0x30, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1a, - 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x22, 0x81, 0x01, - 0x0a, 0x11, 0x43, 0x77, 0x32, 0x30, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, - 0x6f, 0x67, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, - 0x67, 0x22, 0x4c, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x42, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, - 0xfd, 0x04, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x42, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x0c, - 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x45, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3a, 0x0a, 0x05, 0x66, 0x75, 0x6e, - 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x05, - 0x66, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, - 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4d, 0x69, - 0x67, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x0f, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x63, 0x77, 0x32, 0x30, 0x5f, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x43, 0x77, 0x32, 0x30, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x52, 0x0c, 0x63, 0x77, 0x32, 0x30, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1f, - 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x49, 0x64, 0x22, - 0x47, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x77, 0x32, 0x30, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x57, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, - 0x77, 0x32, 0x30, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x57, 0x61, 0x73, 0x6d, 0x43, - 0x77, 0x32, 0x30, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x22, 0xda, 0x01, 0x0a, 0x0f, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x77, 0x32, 0x30, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x49, 0x0a, 0x0d, 0x63, 0x77, 0x32, 0x30, 0x5f, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x42, 0x43, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x54, 0x78, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x22, 0x9e, 0x04, 0x0a, 0x0d, + 0x49, 0x42, 0x43, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x78, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, + 0x72, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, + 0x6e, 0x6f, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, + 0x12, 0x19, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x48, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x0e, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x1d, + 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x69, 0x0a, 0x13, + 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x72, 0x6f, + 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, + 0x66, 0x72, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x08, 0x74, + 0x6f, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x84, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x57, + 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, + 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x34, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe2, + 0x03, 0x0a, 0x08, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x63, + 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x6f, + 0x64, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3c, 0x0a, + 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, + 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, + 0x6d, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x0a, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, + 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x64, 0x65, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x76, + 0x69, 0x65, 0x77, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x64, 0x65, 0x56, + 0x69, 0x65, 0x77, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, + 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, + 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, + 0x6c, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x08, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, + 0x1c, 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x12, 0x0a, + 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, + 0x68, 0x22, 0x4f, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0a, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x22, 0x31, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x64, + 0x65, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, + 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x63, + 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0xf1, 0x03, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, + 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x63, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, + 0x61, 0x73, 0x68, 0x12, 0x3c, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, + 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x4a, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, + 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1b, 0x0a, 0x09, + 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x63, 0x6f, 0x64, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x73, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x64, 0x65, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x63, 0x6f, + 0x64, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, + 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x70, + 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x49, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x17, 0x47, 0x65, + 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x63, + 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x63, 0x6f, + 0x64, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x08, 0x74, 0x6f, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x4f, + 0x6e, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x57, + 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, + 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x38, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x43, 0x77, 0x32, 0x30, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x52, 0x0c, 0x63, 0x77, 0x32, 0x30, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x31, - 0x0a, 0x0f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x5f, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, - 0x73, 0x22, 0x50, 0x0a, 0x10, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x05, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x22, 0x6a, 0x0a, 0x0e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, - 0x2f, 0x0a, 0x07, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, - 0x0a, 0x03, 0x63, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x74, 0x61, - 0x22, 0x12, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x8b, 0x02, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, - 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x27, 0x0a, - 0x0f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, - 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, - 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74, 0x78, 0x4e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x12, 0x12, - 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xb8, 0x02, 0x0a, 0x14, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, - 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, - 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, - 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, - 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, - 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x50, 0x72, - 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x75, 0x6d, 0x5f, - 0x74, 0x78, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x54, 0x78, - 0x73, 0x12, 0x33, 0x0a, 0x03, 0x74, 0x78, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, - 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x50, - 0x43, 0x52, 0x03, 0x74, 0x78, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x32, 0xd8, 0x11, 0x0a, 0x14, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x52, 0x50, 0x43, 0x12, 0x6c, 0x0a, - 0x0d, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x78, 0x73, 0x12, 0x2c, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, - 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, - 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x0e, 0x47, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x73, 0x12, 0x2d, 0x2e, + 0x72, 0x70, 0x63, 0x2e, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe9, 0x04, 0x0a, 0x0c, 0x57, 0x61, 0x73, 0x6d, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, + 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6c, 0x61, + 0x73, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3a, 0x0a, 0x05, + 0x66, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x46, 0x75, 0x6e, + 0x64, 0x52, 0x05, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6f, 0x64, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x6f, 0x64, 0x65, 0x49, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x74, 0x5f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x63, 0x77, 0x32, 0x30, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, - 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, - 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x09, - 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x77, 0x32, 0x30, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x52, 0x0c, 0x63, 0x77, 0x32, 0x30, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x64, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, + 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x46, 0x75, + 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x22, 0xa6, 0x01, 0x0a, 0x0c, 0x43, 0x77, 0x32, 0x30, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x44, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, + 0x77, 0x32, 0x30, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x50, 0x0a, 0x0e, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, + 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x77, 0x32, 0x30, 0x4d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x7a, 0x0a, 0x0d, 0x43, 0x77, 0x32, + 0x30, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, + 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, + 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x70, 0x70, + 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, + 0x75, 0x70, 0x70, 0x6c, 0x79, 0x22, 0x81, 0x01, 0x0a, 0x11, 0x43, 0x77, 0x32, 0x30, 0x4d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x4c, 0x0a, 0x1f, 0x47, 0x65, 0x74, + 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x42, 0x79, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xfd, 0x04, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x57, + 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x42, 0x79, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x17, 0x0a, 0x07, + 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, + 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x08, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x69, 0x74, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x3a, 0x0a, 0x05, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, + 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x05, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x17, 0x0a, + 0x07, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, + 0x63, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x36, 0x0a, 0x17, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0e, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x63, + 0x77, 0x32, 0x30, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x77, 0x32, 0x30, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x63, 0x77, 0x32, 0x30, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, + 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x70, 0x72, 0x6f, + 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x77, + 0x32, 0x30, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x22, 0x57, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x77, 0x32, 0x30, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, - 0x0a, 0x08, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x27, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, - 0x0d, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2c, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, - 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x69, + 0x70, 0x63, 0x2e, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x77, 0x32, 0x30, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x22, 0xda, 0x01, 0x0a, 0x0f, 0x57, 0x61, + 0x73, 0x6d, 0x43, 0x77, 0x32, 0x30, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x29, 0x0a, + 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x49, 0x0a, 0x0d, 0x63, + 0x77, 0x32, 0x30, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x77, 0x32, 0x30, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x63, 0x77, 0x32, 0x30, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x31, 0x0a, 0x0f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x5f, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x73, 0x22, 0x50, 0x0a, 0x10, 0x52, 0x65, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, + 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, - 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0c, 0x47, - 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2b, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x31, 0x2e, 0x69, + 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x73, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x22, 0x6a, 0x0a, 0x0e, 0x52, + 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1b, 0x0a, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x08, 0x72, 0x65, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, - 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, - 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x54, 0x78, 0x73, 0x12, 0x25, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, - 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x08, 0x72, + 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0x2f, 0x0a, 0x07, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x74, 0x61, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x74, 0x61, 0x22, 0x12, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x8b, 0x02, 0x0a, + 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, + 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, + 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, + 0x74, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x08, 0x74, 0x78, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0xb8, 0x02, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x12, 0x18, + 0x0a, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, 0x5f, + 0x70, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x50, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, + 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x78, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x54, 0x78, 0x73, 0x12, 0x33, 0x0a, 0x03, 0x74, 0x78, 0x73, + 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x54, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x50, 0x43, 0x52, 0x03, 0x74, 0x78, 0x73, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x32, 0xd8, 0x11, 0x0a, + 0x14, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, + 0x65, 0x72, 0x52, 0x50, 0x43, 0x12, 0x6c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x78, 0x73, 0x12, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x0d, - 0x47, 0x65, 0x74, 0x54, 0x78, 0x42, 0x79, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, - 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x42, 0x79, 0x54, 0x78, - 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x69, 0x6e, + 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x54, 0x78, 0x73, 0x12, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, + 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, + 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x73, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, + 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x42, 0x79, 0x54, 0x78, 0x48, 0x61, - 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x12, 0x47, 0x65, - 0x74, 0x50, 0x65, 0x67, 0x67, 0x79, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x54, 0x78, 0x73, - 0x12, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, - 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x67, - 0x67, 0x79, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x12, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, + 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, - 0x50, 0x65, 0x67, 0x67, 0x79, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x54, 0x78, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, - 0x65, 0x67, 0x67, 0x79, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x54, 0x78, - 0x73, 0x12, 0x34, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, - 0x67, 0x67, 0x79, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x54, 0x78, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, + 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, + 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, + 0x74, 0x69, 0x6d, 0x65, 0x12, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, + 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x67, 0x67, 0x79, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, - 0x77, 0x61, 0x6c, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, - 0x0a, 0x11, 0x47, 0x65, 0x74, 0x49, 0x42, 0x43, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x54, 0x78, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, - 0x49, 0x42, 0x43, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x78, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x74, + 0x69, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x06, 0x47, + 0x65, 0x74, 0x54, 0x78, 0x73, 0x12, 0x25, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, - 0x65, 0x74, 0x49, 0x42, 0x43, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x78, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x57, - 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, + 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x54, 0x78, 0x42, 0x79, 0x54, + 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, - 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, - 0x64, 0x65, 0x42, 0x79, 0x49, 0x44, 0x12, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x79, 0x49, 0x44, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x79, 0x49, 0x44, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x57, 0x61, - 0x73, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x12, 0x2f, 0x2e, 0x69, 0x6e, + 0x65, 0x74, 0x54, 0x78, 0x42, 0x79, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, + 0x54, 0x78, 0x42, 0x79, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x65, 0x67, 0x67, 0x79, 0x44, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x54, 0x78, 0x73, 0x12, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x67, 0x67, 0x79, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, - 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8d, - 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x42, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x37, 0x2e, 0x69, 0x6e, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x67, 0x67, 0x79, 0x44, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x84, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x65, 0x67, 0x67, 0x79, 0x57, 0x69, 0x74, 0x68, + 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x54, 0x78, 0x73, 0x12, 0x34, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x67, 0x67, 0x79, 0x57, 0x69, 0x74, 0x68, 0x64, + 0x72, 0x61, 0x77, 0x61, 0x6c, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, + 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x67, 0x67, + 0x79, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x54, 0x78, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x49, 0x42, 0x43, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x78, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x42, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x42, 0x43, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, + 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x42, 0x43, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x69, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x73, + 0x12, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, + 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, + 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, + 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, + 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0f, 0x47, + 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x79, 0x49, 0x44, 0x12, 0x2e, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, + 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, + 0x6f, 0x64, 0x65, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, + 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, + 0x6f, 0x64, 0x65, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x75, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x73, 0x12, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, + 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, - 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x42, 0x79, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, - 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x43, 0x77, 0x32, 0x30, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x12, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, - 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x77, 0x32, - 0x30, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, - 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x77, 0x32, 0x30, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x5d, 0x0a, 0x08, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x27, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, - 0x0a, 0x09, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x78, 0x73, 0x12, 0x28, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x78, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x30, 0x01, 0x12, 0x6b, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x73, 0x12, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, - 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, - 0x1b, 0x5a, 0x19, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8d, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x57, 0x61, + 0x73, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x42, 0x79, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, + 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x42, 0x79, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, + 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x61, 0x73, 0x6d, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x42, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x43, 0x77, 0x32, + 0x30, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x77, 0x32, 0x30, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x47, 0x65, 0x74, 0x43, 0x77, 0x32, 0x30, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x08, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x73, 0x12, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, + 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x09, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x54, 0x78, 0x73, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, + 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x78, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x6b, 0x0a, 0x0c, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, 0x1b, 0x5a, 0x19, 0x2f, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, + 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/exchange/explorer_rpc/pb/injective_explorer_rpc.proto b/exchange/explorer_rpc/pb/injective_explorer_rpc.proto index 757c1947..4bf4ebdb 100644 --- a/exchange/explorer_rpc/pb/injective_explorer_rpc.proto +++ b/exchange/explorer_rpc/pb/injective_explorer_rpc.proto @@ -110,6 +110,8 @@ message TxDetailData { uint64 block_unix_timestamp = 19; // Transaction log indicating errors string error_log = 20; + // transaction event logs + bytes logs = 21; } message GasFee { @@ -225,6 +227,8 @@ message TxData { string error_log = 8; uint32 code = 9; bytes tx_msg_types = 10; + // transaction event logs + bytes logs = 11; } message GetValidatorsRequest { diff --git a/exchange/explorer_rpc/pb/injective_explorer_rpc_grpc.pb.go b/exchange/explorer_rpc/pb/injective_explorer_rpc_grpc.pb.go index b5afe3e3..aa7b54f6 100644 --- a/exchange/explorer_rpc/pb/injective_explorer_rpc_grpc.pb.go +++ b/exchange/explorer_rpc/pb/injective_explorer_rpc_grpc.pb.go @@ -1,8 +1,4 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.19.4 -// source: injective_explorer_rpc.proto package injective_explorer_rpcpb diff --git a/exchange/insurance_rpc/pb/injective_insurance_rpc.pb.go b/exchange/insurance_rpc/pb/injective_insurance_rpc.pb.go index 07c945bc..d733f1aa 100644 --- a/exchange/insurance_rpc/pb/injective_insurance_rpc.pb.go +++ b/exchange/insurance_rpc/pb/injective_insurance_rpc.pb.go @@ -7,7 +7,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.27.1 +// protoc-gen-go v1.28.1-devel // protoc v3.19.4 // source: injective_insurance_rpc.proto diff --git a/exchange/insurance_rpc/pb/injective_insurance_rpc_grpc.pb.go b/exchange/insurance_rpc/pb/injective_insurance_rpc_grpc.pb.go index a5243db3..c2da7f7a 100644 --- a/exchange/insurance_rpc/pb/injective_insurance_rpc_grpc.pb.go +++ b/exchange/insurance_rpc/pb/injective_insurance_rpc_grpc.pb.go @@ -1,8 +1,4 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.19.4 -// source: injective_insurance_rpc.proto package injective_insurance_rpcpb diff --git a/exchange/meta_rpc/pb/injective_meta_rpc.pb.go b/exchange/meta_rpc/pb/injective_meta_rpc.pb.go index 781d38d5..93a572b2 100644 --- a/exchange/meta_rpc/pb/injective_meta_rpc.pb.go +++ b/exchange/meta_rpc/pb/injective_meta_rpc.pb.go @@ -7,7 +7,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.27.1 +// protoc-gen-go v1.28.1-devel // protoc v3.19.4 // source: injective_meta_rpc.proto diff --git a/exchange/meta_rpc/pb/injective_meta_rpc_grpc.pb.go b/exchange/meta_rpc/pb/injective_meta_rpc_grpc.pb.go index 4ec3e284..e807dd66 100644 --- a/exchange/meta_rpc/pb/injective_meta_rpc_grpc.pb.go +++ b/exchange/meta_rpc/pb/injective_meta_rpc_grpc.pb.go @@ -1,8 +1,4 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.19.4 -// source: injective_meta_rpc.proto package injective_meta_rpcpb diff --git a/exchange/oracle_rpc/pb/injective_oracle_rpc.pb.go b/exchange/oracle_rpc/pb/injective_oracle_rpc.pb.go index 08b73ca7..48641c3e 100644 --- a/exchange/oracle_rpc/pb/injective_oracle_rpc.pb.go +++ b/exchange/oracle_rpc/pb/injective_oracle_rpc.pb.go @@ -7,7 +7,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.27.1 +// protoc-gen-go v1.28.1-devel // protoc v3.19.4 // source: injective_oracle_rpc.proto diff --git a/exchange/oracle_rpc/pb/injective_oracle_rpc_grpc.pb.go b/exchange/oracle_rpc/pb/injective_oracle_rpc_grpc.pb.go index a888262d..169bec13 100644 --- a/exchange/oracle_rpc/pb/injective_oracle_rpc_grpc.pb.go +++ b/exchange/oracle_rpc/pb/injective_oracle_rpc_grpc.pb.go @@ -1,8 +1,4 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.19.4 -// source: injective_oracle_rpc.proto package injective_oracle_rpcpb diff --git a/exchange/portfolio_rpc/pb/injective_portfolio_rpc.pb.go b/exchange/portfolio_rpc/pb/injective_portfolio_rpc.pb.go index e34f97ee..5f5d138a 100644 --- a/exchange/portfolio_rpc/pb/injective_portfolio_rpc.pb.go +++ b/exchange/portfolio_rpc/pb/injective_portfolio_rpc.pb.go @@ -7,7 +7,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.27.1 +// protoc-gen-go v1.28.1-devel // protoc v3.19.4 // source: injective_portfolio_rpc.proto @@ -655,6 +655,8 @@ type StreamAccountPortfolioResponse struct { Amount string `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` // subaccount id of portfolio entry SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"` } func (x *StreamAccountPortfolioResponse) Reset() { @@ -717,6 +719,13 @@ func (x *StreamAccountPortfolioResponse) GetSubaccountId() string { return "" } +func (x *StreamAccountPortfolioResponse) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + var File_injective_portfolio_rpc_proto protoreflect.FileDescriptor var file_injective_portfolio_rpc_proto_rawDesc = []byte{ @@ -815,7 +824,7 @@ var file_injective_portfolio_rpc_proto_rawDesc = []byte{ 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x1e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, + 0x74, 0x79, 0x70, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x1e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, @@ -823,28 +832,30 @@ var file_injective_portfolio_rpc_proto_rawDesc = []byte{ 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x32, 0x9e, - 0x02, 0x0a, 0x15, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, - 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x50, 0x43, 0x12, 0x77, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x12, 0x30, 0x2e, 0x69, + 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x32, 0x9e, 0x02, 0x0a, + 0x15, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, + 0x6c, 0x69, 0x6f, 0x52, 0x50, 0x43, 0x12, 0x77, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, + 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, - 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x66, - 0x6f, 0x6c, 0x69, 0x6f, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x12, 0x36, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, - 0x69, 0x6f, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, - 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, - 0x1c, 0x5a, 0x1a, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6f, - 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x8b, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, + 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, + 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, 0x1c, 0x5a, + 0x1a, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, + 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( diff --git a/exchange/portfolio_rpc/pb/injective_portfolio_rpc.proto b/exchange/portfolio_rpc/pb/injective_portfolio_rpc.proto index 8d75df06..1af20ed7 100644 --- a/exchange/portfolio_rpc/pb/injective_portfolio_rpc.proto +++ b/exchange/portfolio_rpc/pb/injective_portfolio_rpc.proto @@ -109,4 +109,6 @@ message StreamAccountPortfolioResponse { string amount = 3; // subaccount id of portfolio entry string subaccount_id = 4; + // Operation timestamp in UNIX millis. + sint64 timestamp = 5; } diff --git a/exchange/portfolio_rpc/pb/injective_portfolio_rpc_grpc.pb.go b/exchange/portfolio_rpc/pb/injective_portfolio_rpc_grpc.pb.go index b35f8e1b..9bcf6310 100644 --- a/exchange/portfolio_rpc/pb/injective_portfolio_rpc_grpc.pb.go +++ b/exchange/portfolio_rpc/pb/injective_portfolio_rpc_grpc.pb.go @@ -1,8 +1,4 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.19.4 -// source: injective_portfolio_rpc.proto package injective_portfolio_rpcpb diff --git a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.pb.go b/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.pb.go index bed159cf..b1c2e2b0 100644 --- a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.pb.go +++ b/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.pb.go @@ -7,7 +7,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.27.1 +// protoc-gen-go v1.28.1-devel // protoc v3.19.4 // source: injective_spot_exchange_rpc.proto diff --git a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc_grpc.pb.go b/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc_grpc.pb.go index 88542364..520df0ca 100644 --- a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc_grpc.pb.go +++ b/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc_grpc.pb.go @@ -1,8 +1,4 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.19.4 -// source: injective_spot_exchange_rpc.proto package injective_spot_exchange_rpcpb diff --git a/go.mod b/go.mod index 2081f594..621eb2e1 100644 --- a/go.mod +++ b/go.mod @@ -1,166 +1,176 @@ module github.com/InjectiveLabs/sdk-go -go 1.17 +go 1.19 require ( - github.com/CosmWasm/wasmd v0.30.0 + cosmossdk.io/errors v1.0.0-beta.7 + cosmossdk.io/math v1.0.1 + github.com/CosmWasm/wasmd v0.0.0-00010101000000-000000000000 github.com/InjectiveLabs/suplog v1.3.3 github.com/bandprotocol/bandchain-packet v0.0.2 - github.com/btcsuite/btcd v0.22.1 - github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce - github.com/cosmos/cosmos-sdk v0.45.11 - github.com/cosmos/ibc-go/v4 v4.2.0 - github.com/ethereum/go-ethereum v1.9.25 - github.com/gogo/protobuf v1.3.3 - github.com/golang/protobuf v1.5.2 - github.com/grpc-ecosystem/grpc-gateway v1.16.0 - github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.3 + github.com/btcsuite/btcd v0.23.4 + github.com/btcsuite/btcd/btcutil v1.1.3 + github.com/cometbft/cometbft v0.37.1 + github.com/cosmos/cosmos-proto v1.0.0-beta.2 + github.com/cosmos/cosmos-sdk v0.47.2 + github.com/cosmos/gogoproto v1.4.8 + github.com/cosmos/ibc-go/v7 v7.0.1 + github.com/ethereum/go-ethereum v1.11.5 + github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 - github.com/regen-network/cosmos-proto v0.3.1 github.com/shopspring/decimal v1.2.0 - github.com/spf13/cobra v1.6.0 - github.com/tendermint/tendermint v0.34.23 - github.com/tyler-smith/go-bip39 v1.0.2 - golang.org/x/crypto v0.1.0 - google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e - google.golang.org/grpc v1.50.1 - google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8 + github.com/tyler-smith/go-bip39 v1.1.0 + golang.org/x/crypto v0.7.0 + google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44 + google.golang.org/grpc v1.54.0 + google.golang.org/protobuf v1.30.0 gopkg.in/ini.v1 v1.67.0 gopkg.in/yaml.v2 v2.4.0 ) require ( - filippo.io/edwards25519 v1.0.0-beta.2 // indirect + cosmossdk.io/api v0.3.1 // indirect + cosmossdk.io/core v0.5.1 // indirect + cosmossdk.io/depinject v1.0.0-alpha.3 // indirect + filippo.io/edwards25519 v1.0.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.1 // indirect github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect - github.com/CosmWasm/wasmvm v1.1.1 // indirect + github.com/CosmWasm/wasmvm v1.2.3 // indirect + github.com/DataDog/zstd v1.5.2 // indirect github.com/StackExchange/wmi v1.2.1 // indirect - github.com/VictoriaMetrics/fastcache v1.5.7 // indirect + github.com/VictoriaMetrics/fastcache v1.6.0 // indirect github.com/allegro/bigcache v1.2.1 // indirect - github.com/aristanetworks/goarista v0.0.0-20201012165903-2cb20defcd66 // indirect - github.com/armon/go-metrics v0.4.0 // indirect - github.com/aws/aws-sdk-go v1.40.45 // 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/speakeasy v0.1.0 // indirect - github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 // indirect + github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect + github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect + github.com/btcsuite/btcd/chaincfg/chainhash v1.0.2 // indirect github.com/bugsnag/bugsnag-go v2.1.2+incompatible // indirect github.com/bugsnag/panicwrap v1.3.4 // indirect github.com/cespare/cp v1.1.1 // indirect github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect - github.com/confio/ics23/go v0.7.0 // indirect - github.com/cosmos/btcutil v1.0.4 // indirect - github.com/cosmos/cosmos-proto v1.0.0-alpha8 // indirect + github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/chzyer/readline v1.5.1 // indirect + github.com/cockroachdb/errors v1.9.1 // indirect + github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect + github.com/cockroachdb/pebble v0.0.0-20230209160836-829675f94811 // indirect + github.com/cockroachdb/redact v1.1.3 // indirect + github.com/cometbft/cometbft-db v0.7.0 // indirect + github.com/confio/ics23/go v0.9.0 // indirect + github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect - github.com/cosmos/gogoproto v1.4.3 // indirect - github.com/cosmos/gorocksdb v1.2.0 // indirect - github.com/cosmos/iavl v0.19.4 // indirect - github.com/cosmos/ledger-cosmos-go v0.11.1 // indirect - github.com/cosmos/ledger-go v0.9.2 // indirect + github.com/cosmos/iavl v0.20.0 // indirect + github.com/cosmos/ics23/go v0.9.1-0.20221207100636-b1abd8678aab // indirect + github.com/cosmos/ledger-cosmos-go v0.12.1 // indirect github.com/danieljoos/wincred v1.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/deckarep/golang-set v1.7.1 // indirect + github.com/deckarep/golang-set/v2 v2.1.0 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect github.com/dgraph-io/badger/v2 v2.2007.4 // indirect - github.com/dgraph-io/ristretto v0.1.0 // indirect + 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.1+incompatible // indirect - github.com/dustin/go-humanize v1.0.0 // indirect + github.com/docker/distribution v2.8.2+incompatible // indirect + github.com/dustin/go-humanize v1.0.1 // indirect github.com/dvsekhvalnov/jose2go v1.5.0 // indirect - github.com/edsrzf/mmap-go v1.0.0 // indirect - github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/gballet/go-libpcsclite v0.0.0-20191108122812-4678299bea08 // indirect + github.com/getsentry/sentry-go v0.18.0 // indirect github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect - github.com/go-logfmt/logfmt v0.5.1 // indirect + github.com/go-logfmt/logfmt v0.6.0 // indirect github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-stack/stack v1.8.0 // indirect + github.com/go-stack/stack v1.8.1 // 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/golang/glog v1.0.0 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/glog v1.1.0 // indirect + github.com/golang/protobuf v1.5.3 // 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/uuid v1.3.0 // indirect - github.com/gorilla/mux v1.8.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect + github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect github.com/gtank/merlin v0.1.1 // indirect github.com/gtank/ristretto255 v0.1.2 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect - github.com/hashicorp/golang-lru v0.5.4 // indirect + github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 // indirect - github.com/holiman/uint256 v1.1.1 // indirect - github.com/huin/goupnp v1.0.0 // indirect - github.com/inconshreveable/mousetrap v1.0.1 // indirect - github.com/jackpal/go-nat-pmp v1.0.2 // indirect + github.com/hdevalence/ed25519consensus v0.1.0 // indirect + github.com/holiman/bloomfilter/v2 v2.0.3 // indirect + github.com/holiman/uint256 v1.2.2 // indirect + github.com/huandu/skiplist v1.2.0 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jmhodges/levigo v1.0.0 // indirect - github.com/karalabe/usb v0.0.0-20191104083709-911d15fe12a9 // indirect github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 // indirect - github.com/klauspost/compress v1.15.11 // indirect + github.com/klauspost/compress v1.16.3 // indirect + github.com/kr/pretty v0.3.1 // indirect + github.com/kr/text v0.2.0 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect - github.com/magiconair/properties v1.8.6 // indirect - github.com/mattn/go-isatty v0.0.16 // indirect + github.com/magiconair/properties v1.8.7 // indirect + github.com/manifoldco/promptui v0.9.0 // indirect + github.com/mattn/go-isatty v0.0.17 // indirect github.com/mattn/go-runewidth v0.0.9 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mtibben/percent v0.2.1 // indirect github.com/oklog/ulid v1.3.1 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/pborman/uuid v1.2.0 // indirect - github.com/pelletier/go-toml v1.9.5 // indirect - github.com/pelletier/go-toml/v2 v2.0.5 // indirect - github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7 // indirect - github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect + github.com/pelletier/go-toml/v2 v2.0.6 // indirect + github.com/petermattis/goid v0.0.0-20221215004737-a150e88a970d // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.14.0 // indirect + github.com/prometheus/client_golang v1.15.0 // indirect github.com/prometheus/client_model v0.3.0 // indirect - github.com/prometheus/common v0.37.0 // indirect - github.com/prometheus/procfs v0.8.0 // indirect - github.com/prometheus/tsdb v0.10.0 // indirect + github.com/prometheus/common v0.42.0 // indirect + github.com/prometheus/procfs v0.9.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect - github.com/rjeczalik/notify v0.9.2 // indirect + github.com/rogpeppe/go-internal v1.9.0 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect - github.com/shirou/gopsutil v2.20.5+incompatible // indirect + github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect github.com/sirupsen/logrus v1.9.0 // indirect - github.com/spf13/afero v1.9.2 // indirect - github.com/spf13/cast v1.5.0 // indirect + github.com/spf13/afero v1.9.3 // indirect + github.com/spf13/cast v1.5.1 // indirect + github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.14.0 // indirect - github.com/status-im/keycard-go v0.0.0-20200402102358-957c09536969 // indirect - github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570 // indirect - github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3 // indirect - github.com/stretchr/testify v1.8.1 // indirect - github.com/subosito/gotenv v1.4.1 // indirect - github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect - github.com/tendermint/btcd v0.1.1 // indirect - github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 // indirect + github.com/spf13/viper v1.15.0 // indirect + github.com/stretchr/testify v1.8.3 // indirect + github.com/subosito/gotenv v1.4.2 // indirect + github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect + github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c // indirect github.com/tendermint/go-amino v0.16.0 // indirect - github.com/tendermint/tm-db v0.6.7 // indirect - github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208 // indirect - github.com/zondax/hid v0.9.0 // indirect - go.etcd.io/bbolt v1.3.6 // indirect - golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect - golang.org/x/net v0.1.0 // indirect - golang.org/x/sys v0.1.0 // indirect - golang.org/x/term v0.1.0 // indirect - golang.org/x/text v0.4.0 // indirect + github.com/tidwall/btree v1.6.0 // indirect + github.com/tklauser/go-sysconf v0.3.10 // indirect + github.com/tklauser/numcpus v0.4.0 // indirect + github.com/zondax/hid v0.9.1 // indirect + github.com/zondax/ledger-go v0.14.1 // indirect + go.etcd.io/bbolt v1.3.7 // indirect + golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect + golang.org/x/net v0.9.0 // indirect + golang.org/x/sys v0.7.0 // indirect + golang.org/x/term v0.7.0 // indirect + golang.org/x/text v0.9.0 // indirect gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect gopkg.in/yaml.v3 v3.0.1 // indirect + pgregory.net/rapid v0.5.5 // indirect + sigs.k8s.io/yaml v1.3.0 // indirect ) -replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 - -replace google.golang.org/grpc => google.golang.org/grpc v1.33.2 - -replace github.com/btcsuite/btcutil => github.com/btcsuite/btcutil v1.0.2 - -replace github.com/cosmos/cosmos-sdk => github.com/InjectiveLabs/cosmos-sdk v0.45.11-inj-3 - -replace github.com/CosmWasm/wasmd => github.com/InjectiveLabs/wasmd v0.30.0-inj-1 +replace ( + cosmossdk.io/math => github.com/InjectiveLabs/cosmos-sdk/math v0.47.2-inj + github.com/CosmWasm/wasmd => github.com/InjectiveLabs/wasmd v0.40.0-inj + github.com/bandprotocol/bandchain-packet => github.com/InjectiveLabs/bandchain-packet v0.0.4-0.20230327115226-35199d4659d5 + github.com/cometbft/cometbft => github.com/InjectiveLabs/cometbft v0.37.1-inj + github.com/cosmos/cosmos-sdk => github.com/InjectiveLabs/cosmos-sdk v0.47.2-inj-2 + github.com/cosmos/ibc-go/v7 => github.com/InjectiveLabs/ibc-go/v7 v7.0.1-inj + github.com/miguelmota/go-ethereum-hdwallet => github.com/InjectiveLabs/go-ethereum-hdwallet v0.1.2 + github.com/syndtr/goleveldb => github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 +) diff --git a/go.sum b/go.sum index 851b7984..956cce9d 100644 --- a/go.sum +++ b/go.sum @@ -4,6 +4,7 @@ bazil.org/fuse v0.0.0-20180421153158-65cc252bf669/go.mod h1:Xbm+BRKSBEpa4q4hTSxo bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512/go.mod h1:FbcW6z/2VytnFDhZfumh8Ss8zxHE6qpMP5sHTRe0EaM= bitbucket.org/creachadair/shell v0.0.6/go.mod h1:8Qqi/cYk7vPnsOePHroKXDJYmb5x7ENhtiFtfZq8K+M= cloud.google.com/go v0.25.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.31.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.37.2/go.mod h1:H8IAquKe2L30IxoupDgqTaQvKSwF/c8prYHynGIWQbA= @@ -39,26 +40,58 @@ cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= 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.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= +cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= +cloud.google.com/go v0.110.0 h1:Zc8gqp3+a9/Eyph2KDmcGaPtbKRIoqq4YTlL4NMD0Ys= +cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= +cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= +cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= +cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= +cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= 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/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= +cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= +cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= +cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= +cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= +cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY= +cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU= +cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= +cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= +cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= +cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= +cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= +cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= +cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= +cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= +cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= +cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= +cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= +cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= +cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= +cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= +cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= +cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -66,12 +99,28 @@ cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUM cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= +cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= +cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= +cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= +cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= +cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= +cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= +cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= +cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= +cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= +cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= +cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= +cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= +cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= +cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= +cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= +cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= @@ -81,70 +130,169 @@ cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQH cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= +cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= +cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= +cloud.google.com/go/compute v1.18.0 h1:FEigFqoDbys2cvFkZ9Fjq4gnHBP55anJ0yQyau2f9oY= +cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= +cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= +cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= +cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= +cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= +cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= +cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= +cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= +cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= +cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= +cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= +cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= +cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= +cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= +cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= +cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= +cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= +cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= +cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= +cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= +cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= +cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= +cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM= +cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= +cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= +cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= +cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= +cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= +cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= +cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= +cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= +cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= +cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= +cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/firestore v1.6.0/go.mod h1:afJwI0vaXwAG54kI7A//lP/lSPDkQORQuMkv56TxEPU= cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= cloud.google.com/go/firestore v1.8.0/go.mod h1:r3KB8cAdRIe8znzoPWLw8S6gpDVd9treohhn8b09424= +cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= +cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= +cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= +cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= +cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= +cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= +cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= +cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= +cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= +cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= +cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= +cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= +cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= +cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= +cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= +cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= +cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY= +cloud.google.com/go/iam v0.12.0 h1:DRtTY29b75ciH6Ov1PHb4/iat2CLCvrOm40Q0a6DFpE= +cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= +cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= +cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= +cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= +cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= +cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= +cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= +cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= +cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= +cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= +cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= +cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= +cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= +cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= +cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= +cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= +cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= +cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= +cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= +cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= +cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= +cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= +cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= +cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= +cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= +cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= +cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= +cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= +cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= +cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= +cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= +cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= +cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= +cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= +cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= +cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= +cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= +cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= +cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= +cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= +cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= +cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= @@ -152,31 +300,69 @@ cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+ cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= cloud.google.com/go/pubsub v1.5.0/go.mod h1:ZEwJccE3z93Z2HWvstpri00jOg7oO4UZDtKhwDwqF0w= +cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI= +cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= +cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= +cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= +cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= +cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= +cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= +cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= +cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= +cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= +cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= +cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= +cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= +cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= +cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= +cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= +cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= +cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= +cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= +cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= +cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= +cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= +cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= +cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= +cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= +cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= +cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= +cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= +cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= +cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= +cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= +cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= +cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= +cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= +cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= cloud.google.com/go/spanner v1.7.0/go.mod h1:sd3K2gZ9Fd0vMPLXzeCrF6fq4i63Q7aTLW/lBIfBkIk= +cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= +cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= +cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= @@ -185,17 +371,50 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9 cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= +cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= +cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= +cloud.google.com/go/storage v1.29.0 h1:6weCgzRvMg7lzuUurI4697AqIRPU1SvzHhynwpW31jI= +cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= +cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= +cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= +cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= +cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= +cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= +cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= +cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= +cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= +cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= +cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= +cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= +cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= +cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= +cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= +cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= +cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= +cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= +cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= +cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= +cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= +cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= +cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= +cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= +cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= +cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= +cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= +cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= +cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= +cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= code.gitea.io/sdk/gitea v0.12.0/go.mod h1:z3uwDV/b9Ls47NGukYM9XhnHtqPh/J+t40lsUrR6JDY= contrib.go.opencensus.io/exporter/aws v0.0.0-20181029163544-2befc13012d0/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA= contrib.go.opencensus.io/exporter/ocagent v0.5.0/go.mod h1:ImxhfLRpxoYiSq891pBrLVhN+qmP8BTVvdH2YLs7Gl0= @@ -203,25 +422,35 @@ contrib.go.opencensus.io/exporter/stackdriver v0.12.1/go.mod h1:iwB6wGarfphGGe/e contrib.go.opencensus.io/exporter/stackdriver v0.13.4/go.mod h1:aXENhDJ1Y4lIg4EUaVTwzvYETVNZk10Pu26tevFKLUc= contrib.go.opencensus.io/integrations/ocsql v0.1.4/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= contrib.go.opencensus.io/resource v0.1.1/go.mod h1:F361eGI91LCmW1I/Saf+rX0+OFcigGlFvXwEGEnkRLA= +cosmossdk.io/api v0.2.1/go.mod h1:kNpfY0UY7Cz4ZuLJ4hm9auUGfmj23UFpOQ/Bo8IKCFw= +cosmossdk.io/api v0.2.6/go.mod h1:u/d+GAxil0nWpl1XnQL8nkziQDIWuBDhv8VnDm/s6dI= +cosmossdk.io/api v0.3.0/go.mod h1:2HDRQHwVIyklENrrXko0E/waZrRFZWHhPyhcBO4qHq4= +cosmossdk.io/api v0.3.1 h1:NNiOclKRR0AOlO4KIqeaG6PS6kswOMhHD0ir0SscNXE= +cosmossdk.io/api v0.3.1/go.mod h1:DfHfMkiNA2Uhy8fj0JJlOCYOBp4eWUUJ1te5zBGNyIw= +cosmossdk.io/core v0.3.2/go.mod h1:CO7vbe+evrBvHc0setFHL/u7nlY7HJGzdRSBkT/sirc= +cosmossdk.io/core v0.5.1 h1:vQVtFrIYOQJDV3f7rw4pjjVqc1id4+mE0L9hHP66pyI= +cosmossdk.io/core v0.5.1/go.mod h1:KZtwHCLjcFuo0nmDc24Xy6CRNEL9Vl/MeimQ2aC7NLE= +cosmossdk.io/depinject v1.0.0-alpha.3 h1:6evFIgj//Y3w09bqOUOzEpFj5tsxBqdc5CfkO7z+zfw= +cosmossdk.io/depinject v1.0.0-alpha.3/go.mod h1:eRbcdQ7MRpIPEM5YUJh8k97nxHpYbc3sMUnEtt8HPWU= +cosmossdk.io/errors v1.0.0-beta.7 h1:gypHW76pTQGVnHKo6QBkb4yFOJjC+sUGRc5Al3Odj1w= +cosmossdk.io/errors v1.0.0-beta.7/go.mod h1:mz6FQMJRku4bY7aqS/Gwfcmr/ue91roMEKAmDUDpBfE= +cosmossdk.io/tools/rosetta v0.2.1 h1:ddOMatOH+pbxWbrGJKRAawdBkPYLfKXutK9IETnjYxw= +cosmossdk.io/tools/rosetta v0.2.1/go.mod h1:Pqdc1FdvkNV3LcNIkYWt2RQY6IP1ge6YWZk8MhhO9Hw= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -filippo.io/edwards25519 v1.0.0-beta.2 h1:/BZRNzm8N4K4eWfK28dL4yescorxtO7YG1yun8fy+pI= -filippo.io/edwards25519 v1.0.0-beta.2/go.mod h1:X+pm78QAUPtFLi1z9PYIlS/bdDnvbCOGKtZ+ACWEf7o= -gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= +filippo.io/edwards25519 v1.0.0-rc.1/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= +filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= +filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= git.apache.org/thrift.git v0.12.0/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= -git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN7oaIRCjzsZ2dE+yG5k+rsdt3qcwykqK6HVGcKwsw4= -github.com/99designs/keyring v1.1.6/go.mod h1:16e0ds7LGQQcT59QqkTg72Hh5ShM51Byv5PEmW6uoRU= github.com/99designs/keyring v1.2.1 h1:tYLp1ULvO7i3fI5vE21ReQuj99QFSs7lGm0xWyJo87o= github.com/99designs/keyring v1.2.1/go.mod h1:fc+wB5KTk9wQ9sDx0kFXB3A0MaeGHM9AwRStKOQ5vOA= github.com/Abirdcfly/dupword v0.0.7/go.mod h1:K/4M1kj+Zh39d2aotRwypvasonOyAMH1c/IZJzE0dmk= github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= github.com/AkihiroSuda/containerd-fuse-overlayfs v1.0.0/go.mod h1:0mMDvQFeLbbn1Wy8P2j3hwFhqBq+FKn8OZPno8WLmp8= -github.com/Antonboom/errname v0.1.5/go.mod h1:DugbBstvPFQbv/5uLcRRzfrNqKE9tVdVCqWCLp6Cifo= -github.com/Antonboom/errname v0.1.6/go.mod h1:7lz79JAnuoMNDAWE9MeeIr1/c/VpSUWatBv2FH9NYpI= +github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= github.com/Antonboom/errname v0.1.7/go.mod h1:g0ONh16msHIPgJSGsecu1G/dcF2hlYR/0SddnIAGavU= -github.com/Antonboom/nilnil v0.1.0/go.mod h1:PhHLvRPSghY5Y7mX4TW+BHZQYo1A8flE5H20D3IPZBo= github.com/Antonboom/nilnil v0.1.1/go.mod h1:L1jBqoWM7AOeTD+tSquifKSesRHs4ZdaxvZR+xdJEaI= github.com/Azure/azure-amqp-common-go/v2 v2.1.0/go.mod h1:R8rea+gJRuJR6QxTir/XuEd+YuKoUiazDC/N96FiDEU= github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4= @@ -237,7 +466,6 @@ github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbL github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJcghJGOYCgdezslRSVzqwLf/q+4Y2r/0= github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8= github.com/Azure/azure-service-bus-go v0.9.1/go.mod h1:yzBx6/BUGfjfeqbRZny9AQIbIe3AcV9WZbAdpkoXOa0= -github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4= github.com/Azure/azure-storage-blob-go v0.8.0/go.mod h1:lPI3aLPpuLTeUwh1sViKXFxwl2B6teiRqI0deQUvsw0= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= @@ -282,39 +510,54 @@ github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbt github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v0.4.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= -github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/toml v1.2.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= -github.com/CosmWasm/wasmvm v1.1.1 h1:0xtdrmmsP9fibe+x42WcMkp5aQ738BICgcH3FNVLzm4= -github.com/CosmWasm/wasmvm v1.1.1/go.mod h1:ei0xpvomwSdONsxDuONzV7bL1jSET1M8brEx0FCXc+A= +github.com/CloudyKit/fastprinter v0.0.0-20170127035650-74b38d55f37a/go.mod h1:EFZQ978U7x8IRnstaskI3IysnWY5Ao3QgZUKOXlsAdw= +github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53/go.mod h1:+3IMCy2vIlbG1XG/0ggNQv0SvxCAIpPM5b1nCz56Xno= +github.com/CloudyKit/jet v2.1.3-0.20180809161101-62edd43e4f88+incompatible/go.mod h1:HPYO+50pSWkPoj9Q/eq0aRGByCL6ScRlUmiEX5Zgm+w= +github.com/CloudyKit/jet/v3 v3.0.0/go.mod h1:HKQPgSJmdK8hdoAbKUUWajkHyHo4RaU5rMdUywE7VMo= +github.com/CloudyKit/jet/v6 v6.1.0/go.mod h1:d3ypHeIRNo2+XyqnGA8s+aphtcVpjP5hPwP/Lzo7Ro4= +github.com/CosmWasm/wasmvm v1.2.3 h1:OKYlobwmVGbl0eSn0mXoAAjE5hIuXnQCLPjbNd91sVY= +github.com/CosmWasm/wasmvm v1.2.3/go.mod h1:vW/E3h8j9xBQs9bCoijDuawKo9kCtxOaS8N8J7KFtkc= github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= +github.com/DataDog/zstd v1.5.2 h1:vUG4lAyuPCXO0TLbXvPv7EB7cNK1QV/luu55UHLrrn8= +github.com/DataDog/zstd v1.5.2/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= github.com/Djarvur/go-err113 v0.0.0-20200410182137-af658d038157/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/Djarvur/go-err113 v0.1.0/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= -github.com/GaijinEntertainment/go-exhaustruct/v2 v2.1.0/go.mod h1:LGOGuvEgCfCQsy3JF2tRmpGDpzA53iZfyGEWSPwQ6/4= github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0/go.mod h1:b3g59n2Y+T5xmcxJL+UEG2f8cQploZm1mR/v6BW0mU0= github.com/GoogleCloudPlatform/cloudsql-proxy v0.0.0-20191009163259-e802c2cb94ae/go.mod h1:mjwGPas4yKduTyubHvD1Atl9r1rUq8DfVy+gkVvZ+oo= github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190822182118-27a4ced34534/go.mod h1:iroGtC8B3tQiqtds1l+mgk/BBOrxbqjH+eUfFQYRc14= github.com/HdrHistogram/hdrhistogram-go v1.1.0/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= -github.com/InjectiveLabs/cosmos-sdk v0.45.11-inj-3 h1:WGU6mfX2L195zUx8MxUK0DCvi9ro2VhaV+mN8nUzYhw= -github.com/InjectiveLabs/cosmos-sdk v0.45.11-inj-3/go.mod h1:knmcuR38eVg8I8U+AYhTtSLtcsHzYCROaUCbNcUgfDU= +github.com/InjectiveLabs/bandchain-packet v0.0.4-0.20230327115226-35199d4659d5 h1:RN7PycNsQ1z59I3Fjms4blM++qS8eMMX03zZbC2DwmU= +github.com/InjectiveLabs/bandchain-packet v0.0.4-0.20230327115226-35199d4659d5/go.mod h1:VoNDHSybdPQ35/3zxNwjewaGpzWHhYyTgV7cJzFglEE= +github.com/InjectiveLabs/cometbft v0.37.1-inj h1:mNSorEwP72ovlb2HrYsH3L+uIgNgrUj5rI4DDXhatxk= +github.com/InjectiveLabs/cometbft v0.37.1-inj/go.mod h1:Y2MMMN//O5K4YKd8ze4r9jmk4Y7h0ajqILXbH5JQFVs= +github.com/InjectiveLabs/cosmos-sdk v0.47.2-inj-2 h1:2uzXsLcQ8Xc2VpmVt4B68xxm1epM8XVd+ur2adFSmyY= +github.com/InjectiveLabs/cosmos-sdk v0.47.2-inj-2/go.mod h1:zYzgI8w8hhotXTSoGbbSOAKfpJTx4wOy4XgbaKhtRtc= +github.com/InjectiveLabs/cosmos-sdk/math v0.47.2-inj h1:6KmIhzArX8fy14+u7iGPxlyxIOl6RJMQXTY7KjarrsI= +github.com/InjectiveLabs/cosmos-sdk/math v0.47.2-inj/go.mod h1:An0MllWJY6PxibUpnwGk8jOm+a/qIxlKmL5Zyp9NnaM= +github.com/InjectiveLabs/ibc-go/v7 v7.0.1-inj h1:cDf/KfRFt/o9Q1dqkzlFNwypAiXA2u/TyEf6AdWW2RQ= +github.com/InjectiveLabs/ibc-go/v7 v7.0.1-inj/go.mod h1:Ptq4SfvPxRu+SlI9etQ4x4I9Wm5nCw1r6GzVClBKZ5E= github.com/InjectiveLabs/suplog v1.3.3 h1:ARIR3lWD9BxcrmqTwgcGBt8t7e10gwOqllUAXa/MfxI= github.com/InjectiveLabs/suplog v1.3.3/go.mod h1:+I9WRgUhzmo1V/n7IkW24kFBFB9ZTPAiXXXCogWxmTM= -github.com/InjectiveLabs/wasmd v0.30.0-inj-1 h1:/+HI1yZydclB+Im2zl6QFjqPDrQBPF3KZAE24LsG9y4= -github.com/InjectiveLabs/wasmd v0.30.0-inj-1/go.mod h1:CpG+Fw85ubCogsUZLHAOzGt0LeQv+BYKqyz04n/a6Hw= +github.com/InjectiveLabs/wasmd v0.40.0-inj h1:HBienMKEZufMHIK8gaqBukzPNmIzj4NQcLL7YbZm7No= +github.com/InjectiveLabs/wasmd v0.40.0-inj/go.mod h1:GKEn2k43oSu/WX4hd9tMGZi3ykgfcn01rLa116B/Dhs= +github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY= +github.com/Joker/jade v1.0.1-0.20190614124447-d475f43051e7/go.mod h1:6E6s8o2AE4KhCrqr6GRJjdC/gNfTdxkIXvuGZZda2VM= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver/v3 v3.0.3/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/Masterminds/semver/v3 v3.1.0/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= +github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= 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.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= @@ -327,7 +570,6 @@ github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugX github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/go-winio v0.6.0/go.mod h1:cTAf44im0RAYeL23bpB+fzCyDH2MJiz2BO69KH/soAE= @@ -343,6 +585,7 @@ github.com/Microsoft/hcsshim v0.8.20/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwT github.com/Microsoft/hcsshim v0.8.21/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= github.com/Microsoft/hcsshim v0.8.23/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= github.com/Microsoft/hcsshim v0.9.2/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= +github.com/Microsoft/hcsshim v0.9.3/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= github.com/Microsoft/hcsshim v0.9.4/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= github.com/Microsoft/hcsshim/test v0.0.0-20200826032352-301c83a30e7c/go.mod h1:30A5igQ91GEmhYJF8TaRP79pMBOYynRsyOByfVV0dU4= github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU= @@ -353,38 +596,35 @@ github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8 github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OpenPeeDeeP/depguard v1.0.1/go.mod h1:xsIw86fROiiwelg+jB2uM9PiKihMMmUx/1V+TNhjQvM= -github.com/OpenPeeDeeP/depguard v1.1.0/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc= github.com/OpenPeeDeeP/depguard v1.1.1/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc= +github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4/go.mod h1:UBYPn8k0D56RtnR8RFQMjmh4KrZzWJ5o7Z9SYjossQ8= github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0= +github.com/Shopify/goreferrer v0.0.0-20220729165902-8cddb4f5de06/go.mod h1:7erjKLwalezA0k99cWs5L11HWOAPNjdUZ6RxH1BXbbM= github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/sarama v1.26.1/go.mod h1:NbSGBSSndYaIhRcBtY9V0U7AyH+x71bG668AuWys/yU= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= github.com/StackExchange/wmi v1.2.1 h1:VIkavFPXSjcnS+O8yTq7NI32k0R5Aj+v39y29VYDOSA= github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8= -github.com/VictoriaMetrics/fastcache v1.5.7 h1:4y6y0G8PRzszQUYIQHHssv/jgPHAb5qQuuDNdCbyAgw= -github.com/VictoriaMetrics/fastcache v1.5.7/go.mod h1:ptDBkNMQI4RtmVo8VS/XwRY6RoTu1dAWCbrk+6WsEM8= +github.com/VictoriaMetrics/fastcache v1.6.0 h1:C/3Oi3EiBCqufydp1neRZkqcwmEiuRT9c3fqvvgKm5o= +github.com/VictoriaMetrics/fastcache v1.6.0/go.mod h1:0qHz5QP0GMX4pfmMA/zt5RgfNuXJrTP0zS7DqpHGGTw= github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/Workiva/go-datastructures v1.0.52/go.mod h1:Z+F2Rca0qCsVYDS8z7bAGm8f3UkzuWYS/oBZz5a7VVA= -github.com/Workiva/go-datastructures v1.0.53 h1:J6Y/52yX10Xc5JjXmGtWoSSxs3mZnGSaq37xZZh7Yig= -github.com/Workiva/go-datastructures v1.0.53/go.mod h1:1yZL+zfsztete+ePzZz/Zb1/t5BnDuE2Ya2MMGhzP6A= -github.com/Zilliqa/gozilliqa-sdk v1.2.1-0.20201201074141-dd0ecada1be6/go.mod h1:eSYp2T6f0apnuW8TzhV3f6Aff2SE8Dwio++U4ha4yEM= -github.com/adlio/schema v1.1.13/go.mod h1:L5Z7tw+7lRK1Fnpi/LT/ooCP1elkXn0krMWBQHUhEDE= -github.com/adlio/schema v1.3.0/go.mod h1:51QzxkpeFs6lRY11kPye26IaFPOV+HqEj01t5aXXKfs= +github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/adlio/schema v1.3.3/go.mod h1:1EsRssiv9/Ce2CMzq5DoL7RiMshhuigQxrR4DMV9fHg= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= -github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= -github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk= +github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= -github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= github.com/alecthomas/kingpin v2.2.6+incompatible/go.mod h1:59OFYbFVLKQKq+mqrL6Rw5bR0c3ACQaawgXx0QYndlE= +github.com/alecthomas/participle/v2 v2.0.0-alpha7 h1:cK4vjj0VSgb3lN1nuKA5F7dw+1s1pWBe5bx7nNCnN+c= +github.com/alecthomas/participle/v2 v2.0.0-alpha7/go.mod h1:NumScqsC42o9x+dGj8/YqsIfhrIQjFEOFovxotbBirA= +github.com/alecthomas/repr v0.0.0-20181024024818-d37bc2a10ba1/go.mod h1:xTS7Pm1pD1mvyM075QCDSRqH6qRLXylzS24ZTpRiSzQ= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -399,7 +639,9 @@ github.com/allegro/bigcache v1.2.1 h1:hg1sY1raCwic3Vnsvje6TT7/pnZba83LeFck5NrFKS github.com/allegro/bigcache v1.2.1/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= github.com/andybalholm/brotli v1.0.2/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= github.com/andybalholm/brotli v1.0.3/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= @@ -410,27 +652,21 @@ github.com/apex/log v1.3.0/go.mod h1:jd8Vpsr46WAe3EZSQ/IUMs2qQD/GOycT5rPWCO1yGcs github.com/apex/logs v0.0.4/go.mod h1:XzxuLZ5myVHDy9SAmYpamKKRNApGj54PfYLcFrXqDwo= github.com/aphistic/golf v0.0.0-20180712155816-02c07f170c5a/go.mod h1:3NqKYiepwy8kCu4PNA+aP7WUV72eXWJeP9/r3/K9aLE= github.com/aphistic/sweet v0.2.0/go.mod h1:fWDlIh/isSE9n6EPsRmC0det+whmX6dJid3stzu0Xys= -github.com/aristanetworks/fsnotify v1.4.2/go.mod h1:D/rtu7LpjYM8tRJphJ0hUBYpjai8SfX+aSNsWDTq/Ks= -github.com/aristanetworks/glog v0.0.0-20191112221043-67e8567f59f3/go.mod h1:KASm+qXFKs/xjSoWn30NrWBBvdTTQq+UjkhjEJHfSFA= -github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1:D/tb0zPVXnP7fmsLZjtdUhSsumbK/ij54UXjjVgMGxQ= -github.com/aristanetworks/goarista v0.0.0-20201012165903-2cb20defcd66 h1:bylzF2sl5pWmmHcdwEku/BPHp5wYjcdjmOnW4siw688= -github.com/aristanetworks/goarista v0.0.0-20201012165903-2cb20defcd66/go.mod h1:QZe5Yh80Hp1b6JxQdpfSEEe8X7hTyTEZSosSrFf/oJE= -github.com/aristanetworks/splunk-hec-go v0.3.3/go.mod h1:1VHO9r17b0K7WmOlLb9nTk/2YanvOEnLMUgsFrxBROc= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= -github.com/armon/go-metrics v0.4.0 h1:yCQqn7dwca4ITXb+CbubHmedzaQYHhNhrEXLYUeEe8Q= github.com/armon/go-metrics v0.4.0/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= +github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= +github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/ashanbrown/forbidigo v1.2.0/go.mod h1:vVW7PEdqEFqapJe95xHkTfB1+XvZXBFg8t0sG2FIxmI= github.com/ashanbrown/forbidigo v1.3.0/go.mod h1:vVW7PEdqEFqapJe95xHkTfB1+XvZXBFg8t0sG2FIxmI= -github.com/ashanbrown/makezero v0.0.0-20210520155254-b6261585ddde/go.mod h1:oG9Dnez7/ESBqc4EdrdNlryeo7d0KcW1ftXHm7nU/UU= github.com/ashanbrown/makezero v1.1.1/go.mod h1:i1bJLCRSCHOcOa9Y6MyF2FTfMZMFdHvxKHxgO5Z1axI= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= @@ -444,20 +680,21 @@ github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpi github.com/aws/aws-sdk-go v1.25.11/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.25.16/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.25.48/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.27.1/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.31.6/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.36.30/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.40.45 h1:QN1nsY27ssD/JmW4s83qmSb+uL6DG4GmCDzjmJB4xUI= github.com/aws/aws-sdk-go v1.40.45/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= +github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.203 h1:pcsP805b9acL3wUqa4JR2vg1k2wnItkDYNvfmcy6F+U= +github.com/aws/aws-sdk-go v1.44.203/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/aws/aws-sdk-go-v2 v1.9.1/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.8.1/go.mod h1:CM+19rL1+4dFWnOQKwDc7H1KwXTz+h61oUSHyhV0b3o= github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59/go.mod h1:q/89r3U2H7sSsE2t6Kca0lfwTK8JdoNGS/yzM/4iH5I= -github.com/bandprotocol/bandchain-packet v0.0.2 h1:FySqsXp6sIh0kHiNBrkvt5CRmsrqTN2Bd26U7cebKxg= -github.com/bandprotocol/bandchain-packet v0.0.2/go.mod h1:pk/wJxznWERdDVU2WWpzt8Tr0WvDSkT66JDYVdIECAo= +github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4= +github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= @@ -466,8 +703,11 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= +github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1UJrqV3uuy861HCTo708pDMbjHHdCas= +github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 h1:41iFGWnSlI2gVpmOtVTJZNodLdLQLn/KsJqFvXwnd/s= +github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bitly/go-simplejson v0.5.0 h1:6IH+V8/tVMab511d5bn4M7EwGXZf9Hj6i2xSwkNEM+Y= github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= @@ -478,7 +718,7 @@ github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb/go.mod h1:PkYb9DJNAw github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/blizzy78/varnamelen v0.3.0/go.mod h1:hbwRdBvoBqxk34XyQ6HA0UH3G0/1TKuv5AC4eaBT0Ec= +github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k= github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= github.com/bombsimon/wsl/v2 v2.0.0/go.mod h1:mf25kr/SqFEPhhcxW1+7pxzGlW+hIl/hYTKY95VwV8U= @@ -486,26 +726,31 @@ github.com/bombsimon/wsl/v2 v2.2.0/go.mod h1:Azh8c3XGEJl9LyX0/sFC+CKMc7Ssgua0g+6 github.com/bombsimon/wsl/v3 v3.0.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= github.com/bombsimon/wsl/v3 v3.1.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= github.com/bombsimon/wsl/v3 v3.3.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= -github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= -github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= -github.com/breml/bidichk v0.1.1/go.mod h1:zbfeitpevDUGI7V91Uzzuwrn4Vls8MoBMrwtt78jmso= github.com/breml/bidichk v0.2.3/go.mod h1:8u2C6DnAy0g2cEq+k/A2+tr9O1s+vHGxWn0LTc70T2A= github.com/breml/errchkjson v0.3.0/go.mod h1:9Cogkyv9gcT8HREpzi3TiqBxCqDzo8awa92zSDFcofU= github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= -github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ= -github.com/btcsuite/btcd v0.0.0-20190115013929-ed77733ec07d/go.mod h1:d3C0AkH6BRcvO8T0UEPu53cnw4IbV63x1bEjildYhO0= -github.com/btcsuite/btcd v0.0.0-20190315201642-aa6e0f35703c/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= -github.com/btcsuite/btcd v0.21.0-beta/go.mod h1:ZSWyehm27aAuS9bvkATT+Xte3hjHZ+MRgMY/8NJ7K94= -github.com/btcsuite/btcd v0.22.0-beta/go.mod h1:9n5ntfhhHQBIhUvlhDvD3Qg6fRUj4jkN0VB8L8svzOA= -github.com/btcsuite/btcd v0.22.1 h1:CnwP9LM/M9xuRrGSCGeMVs9iv09uMqwsVX7EeIpgV2c= -github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= -github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= +github.com/btcsuite/btcd v0.22.0-beta.0.20220111032746-97732e52810c/go.mod h1:tjmYdS6MLJ5/s0Fj4DbLgSbDHbEqLJrtnHecBFkdz5M= +github.com/btcsuite/btcd v0.23.0/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZgnFpsYY= +github.com/btcsuite/btcd v0.23.4 h1:IzV6qqkfwbItOS/sg/aDfPDsjPP8twrCOE2R93hxMlQ= +github.com/btcsuite/btcd v0.23.4/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZgnFpsYY= +github.com/btcsuite/btcd/btcec/v2 v2.1.0/go.mod h1:2VzYrv4Gm4apmbVVsSq5bqf1Ec8v56E48Vt0Y/umPgA= +github.com/btcsuite/btcd/btcec/v2 v2.1.3/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= +github.com/btcsuite/btcd/btcec/v2 v2.2.1/go.mod h1:9/CSmJxmuvqzX9Wh2fXMWToLOHhPd11lSPuIupwTkI8= +github.com/btcsuite/btcd/btcec/v2 v2.3.2 h1:5n0X6hX0Zk+6omWcihdYvdAlGf2DfasC0GMf7DClJ3U= +github.com/btcsuite/btcd/btcec/v2 v2.3.2/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= +github.com/btcsuite/btcd/btcutil v1.0.0/go.mod h1:Uoxwv0pqYWhD//tfTiipkxNfdhG9UrLwaeswfjfdF0A= +github.com/btcsuite/btcd/btcutil v1.1.0/go.mod h1:5OapHB7A2hBBWLm48mmw4MOHNJCcUBTwmWH/0Jn8VHE= +github.com/btcsuite/btcd/btcutil v1.1.2/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9EdCV7FStZSnpi0= +github.com/btcsuite/btcd/btcutil v1.1.3 h1:xfbtw8lwpp0G6NwSHb+UE67ryTFHJAiNuipusjXSohQ= +github.com/btcsuite/btcd/btcutil v1.1.3/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9EdCV7FStZSnpi0= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.2 h1:KdUfX2zKommPRa+PD0sWZUyXe9w277ABlgELO7H04IM= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.2/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= -github.com/btcsuite/btcutil v1.0.2 h1:9iZ1Terx9fMIOtq1VrwdqfsATL9MC2l8ZrUY6YZ2uts= -github.com/btcsuite/btcutil v1.0.2/go.mod h1:j9HUFwoQRsZL3V4n+qG+CUnEGHOarIxfC3Le2Yhbcts= +github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY= github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I= @@ -513,12 +758,9 @@ github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= -github.com/bufbuild/buf v1.4.0/go.mod h1:mwHG7klTHnX+rM/ym8LXGl7vYpVmnwT96xWoRB4H5QI= -github.com/bufbuild/buf v1.8.0/go.mod h1:tBzKkd1fzCcBV6KKSO7zo3rlhk3o1YQ0F2tQKSC2aNU= -github.com/bufbuild/buf v1.9.0/go.mod h1:1Q+rMHiMVcfgScEF/GOldxmu4o9TrQ2sQQh58K6MscE= -github.com/bufbuild/connect-go v0.4.0/go.mod h1:ZEtBnQ7J/m7bvWOW+H8T/+hKQCzPVfhhhICuvtcnjlI= +github.com/bufbuild/buf v1.7.0/go.mod h1:Go40fMAF46PnPLC7jJgTQhAI95pmC0+VtxFKVC0qLq0= +github.com/bufbuild/connect-go v0.2.0/go.mod h1:4efZ2eXFENwd4p7tuLaL9m0qtTsCOzuBvrohvRGevDM= github.com/bufbuild/connect-go v1.0.0/go.mod h1:9iNvh/NOsfhNBUH5CtvXeVUskQO1xsrEviH7ZArwZ3I= -github.com/bufbuild/protocompile v0.1.0/go.mod h1:ix/MMMdsT3fzxfw91dvbfzKW3fRRnuPCP47kpAm5m/4= github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= @@ -530,38 +772,48 @@ github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3k github.com/bugsnag/panicwrap v1.3.4 h1:A6sXFtDGsgU/4BLf5JT0o5uYg3EeKgGx3Sfs+/uk3pU= github.com/bugsnag/panicwrap v1.3.4/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= github.com/butuzov/ireturn v0.1.1/go.mod h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc= +github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/caarlos0/ctrlc v1.0.0/go.mod h1:CdXpj4rmq0q/1Eb44M9zi2nKB0QraNKuRGYGrrHhcQw= github.com/campoy/unique v0.0.0-20180121183637-88950e537e7e/go.mod h1:9IOqJGCPMSc6E5ydlp5NIonxObaeu/Iub/X03EKPVYo= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/casbin/casbin/v2 v2.37.0/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg= github.com/cavaliercoder/go-cpio v0.0.0-20180626203310-925f9528c45e/go.mod h1:oDpT4efm8tSYHXV5tHSdRvBet/b/QzxZ+XyyPehvm3A= +github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= github.com/cespare/cp v1.1.1 h1:nCb6ZLdB7NRaqsm91JtQTAme2SKJzXVsdPIPkyJr1MU= github.com/cespare/cp v1.1.1/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/charithe/durationcheck v0.0.9/go.mod h1:SSbRIBVfMjCi/kEB6K65XEA83D6prSM8ap1UCpNKtgg= -github.com/chavacava/garif v0.0.0-20210405164556-e8a0a408d6af/go.mod h1:Qjyv4H3//PWVzTeCezG2b9IRn6myJxJSr4TD/xo6ojU= -github.com/chavacava/garif v0.0.0-20220316182200-5cad0b5181d4/go.mod h1:W8EnPSQ8Nv4fUjc/v1/8tHFqhuOJXnRub0dTfuAQktU= github.com/chavacava/garif v0.0.0-20220630083739-93517212f375/go.mod h1:4m1Rv7xfuwWPNKXlThldNuJvutYM6J95wNuuVmn55To= github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw= github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= +github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927/go.mod h1:h/aW8ynjgkuj+NQRlZcDbAbM1ORAbXjXX77sX7T289U= +github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/logex v1.2.1 h1:XHDu3E6q+gdHgsdTPH6ImJMIp436vR6MPtH8gP05QzM= +github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/readline v1.5.1 h1:upd/6fQk4src78LMRzh5vItIt361/o4uq553V8B5sGI= +github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/chzyer/test v1.0.0 h1:p3BQDXSxOhOG0P9z6/hGnII4LGiEPOYBhs8asl/fC04= +github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmEg9bt0VpxxWqJlO4iwu3FBdHUzV7wQVg= github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLIdUjrmSXlK9pkrsDlLHbO8jiB8X8JnOc= github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs= @@ -573,25 +825,54 @@ github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/cloudflare-go v0.10.2-0.20190916151808-a80f83b9add9/go.mod h1:1MxXX1Ux4x6mqPmjkUgTP1CdXIBXKX7T+Jk9Gxrmx+U= +github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= +github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= +github.com/cockroachdb/apd/v3 v3.1.0 h1:MK3Ow7LH0W8zkd5GMKA1PvS9qG3bWFI95WaVNfyZJ/w= +github.com/cockroachdb/apd/v3 v3.1.0/go.mod h1:6qgPBMXjATAdD/VefbRP9NoSLKjbB4LCoA7gN4LpHs4= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= +github.com/cockroachdb/datadriven v1.0.0/go.mod h1:5Ib8Meh+jk1RlHIXej6Pzevx/NLlNvQB9pmSBZErGA4= +github.com/cockroachdb/datadriven v1.0.2 h1:H9MtNqVoVhvd9nCBwOyDjUEdZCREqbIdCJD93PBm/jA= +github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= +github.com/cockroachdb/errors v1.6.1/go.mod h1:tm6FTP5G81vwJ5lC0SizQo374JNCOPrHyXGitRJoDqM= +github.com/cockroachdb/errors v1.8.1/go.mod h1:qGwQn6JmZ+oMjuLwjWzUNqblqk0xl4CVV3SQbGwK7Ac= +github.com/cockroachdb/errors v1.9.1 h1:yFVvsI0VxmRShfawbt/laCIDy/mtTqqnvoNgiy5bEV8= +github.com/cockroachdb/errors v1.9.1/go.mod h1:2sxOtL2WIc096WSZqZ5h8fa17rdDq9HZOZLBCor4mBk= github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= +github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/pebble v0.0.0-20220817183557-09c6e030a677/go.mod h1:890yq1fUb9b6dGNwssgeUO5vQV9qfXnCPxAJhBQfXw0= +github.com/cockroachdb/pebble v0.0.0-20230209160836-829675f94811 h1:ytcWPaNPhNoGMWEhDvS3zToKcDpRsLuRolQJBVGdozk= +github.com/cockroachdb/pebble v0.0.0-20230209160836-829675f94811/go.mod h1:Nb5lgvnQ2+oGlE/EyZy4+2/CxRh9KfvCXnag1vtpxVM= +github.com/cockroachdb/redact v1.0.8/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ= +github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= github.com/codahale/hdrhistogram v0.0.0-20160425231609-f8ad88b59a58/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/coinbase/rosetta-sdk-go v0.7.0 h1:lmTO/JEpCvZgpbkOITL95rA80CPKb5CtMzLaqF2mCNg= -github.com/coinbase/rosetta-sdk-go v0.7.0/go.mod h1:7nD3oBPIiHqhRprqvMgPoGxe/nyq3yftRmpsy29coWE= -github.com/confio/ics23/go v0.0.0-20200817220745-f173e6211efb/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg= -github.com/confio/ics23/go v0.6.3/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg= -github.com/confio/ics23/go v0.6.6/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg= -github.com/confio/ics23/go v0.7.0 h1:00d2kukk7sPoHWL4zZBZwzxnpA2pec1NPdwbSokJ5w8= -github.com/confio/ics23/go v0.7.0/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg= +github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= +github.com/coinbase/rosetta-sdk-go/types v1.0.0 h1:jpVIwLcPoOeCR6o1tU+Xv7r5bMONNbHU7MuEHboiFuA= +github.com/coinbase/rosetta-sdk-go/types v1.0.0/go.mod h1:eq7W2TMRH22GTW0N0beDnN931DW0/WOI1R2sdHNHG4c= +github.com/cometbft/cometbft-db v0.7.0 h1:uBjbrBx4QzU0zOEnU8KxoDl18dMNgDh+zZRUE0ucsbo= +github.com/cometbft/cometbft-db v0.7.0/go.mod h1:yiKJIm2WKrt6x8Cyxtq9YTEcIMPcEe4XPxhgX59Fzf0= +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/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE= github.com/containerd/aufs v0.0.0-20201003224125-76a6863f2989/go.mod h1:AkGGQs9NM2vtYHaUen+NljV0/baGCAPELGm2q9ZXpWU= github.com/containerd/aufs v0.0.0-20210316121734-20793ff83c97/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= @@ -634,16 +915,15 @@ github.com/containerd/containerd v1.5.7/go.mod h1:gyvv6+ugqY25TiXxcZC3L5yOeYgEw0 github.com/containerd/containerd v1.5.8/go.mod h1:YdFSv5bTFLpG2HIYmfqDpSYYTDX+mc5qtSuYx1YUb/s= github.com/containerd/containerd v1.6.1/go.mod h1:1nJz5xCZPusx6jJU8Frfct988y0NpumIq9ODB0kLtoE= github.com/containerd/containerd v1.6.3-0.20220401172941-5ff8fce1fcc6/go.mod h1:WSt2SnDLAGWlu+Vl+EWay37seZLKqgRt6XLjIMy8SYM= +github.com/containerd/containerd v1.6.6/go.mod h1:ZoP1geJldzCVY3Tonoz7b1IXk8rIX0Nltt5QE4OMNk0= github.com/containerd/containerd v1.6.8/go.mod h1:By6p5KqPK0/7/CgO/A6t/Gz+CUYUu2zf1hUaaymVXB0= github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7/go.mod h1:kR3BEg7bDFaEddKm54WSmrol1fKWDU1nKYkgrcgZT7Y= github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ= github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM= -github.com/containerd/continuity v0.2.1/go.mod h1:wCYX+dRqZdImhGucXOqTQn05AhX6EUDaGEMUzTFFpLg= github.com/containerd/continuity v0.2.2/go.mod h1:pWygW9u7LtS1o4N/Tn0FoCFDIXZ7rxcMX7HX1Dmibvk= github.com/containerd/continuity v0.2.3-0.20220330195504-d132b287edc8/go.mod h1:pWygW9u7LtS1o4N/Tn0FoCFDIXZ7rxcMX7HX1Dmibvk= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= @@ -729,47 +1009,54 @@ github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1 github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cosmos/btcutil v1.0.4 h1:n7C2ngKXo7UC9gNyMNLbzqz7Asuf+7Qv4gnX/rOdQ44= -github.com/cosmos/btcutil v1.0.4/go.mod h1:Ffqc8Hn6TJUdDgHBwIZLtrLQC1KdJ9jGJl/TvgUaxbU= -github.com/cosmos/cosmos-proto v1.0.0-alpha8 h1:d3pCRuMYYvGA5bM0ZbbjKn+AoQD4A7dyNG2wzwWalUw= +github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= +github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= +github.com/cosmos/cosmos-db v0.0.0-20221226095112-f3c38ecb5e32/go.mod h1:kwMlEC4wWvB48zAShGKVqboJL6w4zCLesaNQ3YLU2BQ= +github.com/cosmos/cosmos-proto v1.0.0-alpha7/go.mod h1:dosO4pSAbJF8zWCzCoTWP7nNsjcvSUBQmniFxDg5daw= github.com/cosmos/cosmos-proto v1.0.0-alpha8/go.mod h1:6/p+Bc4O8JKeZqe0VqUGTX31eoYqemTT4C1hLCWsO7I= +github.com/cosmos/cosmos-proto v1.0.0-beta.1/go.mod h1:8k2GNZghi5sDRFw/scPL8gMSowT1vDA+5ouxL8GjaUE= +github.com/cosmos/cosmos-proto v1.0.0-beta.2 h1:X3OKvWgK9Gsejo0F1qs5l8Qn6xJV/AzgIWR2wZ8Nua8= +github.com/cosmos/cosmos-proto v1.0.0-beta.2/go.mod h1:+XRCLJ14pr5HFEHIUcn51IKXD1Fy3rkEQqt4WqmN4V0= +github.com/cosmos/cosmos-sdk/db v1.0.0-beta.1.0.20220726092710-f848e4300a8a/go.mod h1:c8IO23vgNxueCCJlSI9awQtcxsvc+buzaeThB85qfBU= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= +github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= +github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= +github.com/cosmos/gogoproto v1.4.1/go.mod h1:Ac9lzL4vFpBMcptJROQ6dQ4M3pOEK5Z/l0Q9p+LoCr4= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.3 h1:RP3yyVREh9snv/lsOvmsAPQt8f44LgL281X0IOIhhcI= github.com/cosmos/gogoproto v1.4.3/go.mod h1:0hLIG5TR7IvV1fme1HCFKjfzW9X2x0Mo+RooWXCnOWU= -github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= +github.com/cosmos/gogoproto v1.4.4/go.mod h1:/yl6/nLwsZcZ2JY3OrqjRqvqCG9InUMcXRfRjQiF9DU= +github.com/cosmos/gogoproto v1.4.6/go.mod h1:VS/ASYmPgv6zkPKLjR9EB91lwbLHOzaGCirmKKhncfI= +github.com/cosmos/gogoproto v1.4.8 h1:BrHKc6WFZt8+jRV71vKSQE+JrfF+JAnzrKo2VP7wIZ4= +github.com/cosmos/gogoproto v1.4.8/go.mod h1:hnb0DIEWTv+wdNzNcqus5xCQXq5+CXauq1FJuurRfVY= github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= -github.com/cosmos/iavl v0.15.0-rc3.0.20201009144442-230e9bdf52cd/go.mod h1:3xOIaNNX19p0QrX0VqWa6voPRoJRGGYtny+DH8NEPvE= -github.com/cosmos/iavl v0.15.0-rc5/go.mod h1:WqoPL9yPTQ85QBMT45OOUzPxG/U/JcJoN7uMjgxke/I= -github.com/cosmos/iavl v0.15.3/go.mod h1:OLjQiAQ4fGD2KDZooyJG9yz+p2ao2IAYSbke8mVvSA4= -github.com/cosmos/iavl v0.17.3/go.mod h1:prJoErZFABYZGDHka1R6Oay4z9PrNeFFiMKHDAMOi4w= -github.com/cosmos/iavl v0.19.3/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= -github.com/cosmos/iavl v0.19.4 h1:t82sN+Y0WeqxDLJRSpNd8YFX5URIrT+p8n6oJbJ2Dok= -github.com/cosmos/iavl v0.19.4/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= -github.com/cosmos/ibc-go v1.0.0 h1:RtIRERSENyApp6WK7Germ3/wq8xvHxfsqfW/Xh+CJ2o= -github.com/cosmos/ibc-go v1.0.0/go.mod h1:2wHKQUa+BLJMEyN635KrHfmTTwSNHBtXcqdY8JWGuXA= -github.com/cosmos/ibc-go/v4 v4.0.0-rc2/go.mod h1:4LK+uPycPhebJrJ8ebIqvsMEZ0lVRVNTiEyeI9zfB0U= -github.com/cosmos/ibc-go/v4 v4.2.0 h1:Fx/kKq/uvawrAxk6ZrQ6sEIgffLRU5Cs/AUnvpPBrHI= -github.com/cosmos/ibc-go/v4 v4.2.0/go.mod h1:57qWScDtfCx3FOMLYmBIKPbOLE6xiVhrgxHAQmbWYXM= -github.com/cosmos/interchain-accounts v0.2.4/go.mod h1:jeiJEb0zg609G0oCrCG0r6Guhb7YbA1uFiwww/1YgZE= -github.com/cosmos/ledger-cosmos-go v0.11.1 h1:9JIYsGnXP613pb2vPjFeMMjBI5lEDsEaF6oYorTy6J4= -github.com/cosmos/ledger-cosmos-go v0.11.1/go.mod h1:J8//BsAGTo3OC/vDLjMRFLW6q0WAaXvHnVc7ZmE8iUY= -github.com/cosmos/ledger-go v0.9.2 h1:Nnao/dLwaVTk1Q5U9THldpUMMXU94BOTWPddSmVB6pI= -github.com/cosmos/ledger-go v0.9.2/go.mod h1:oZJ2hHAZROdlHiwTg4t7kP+GKIIkBT+o6c9QWFanOyI= +github.com/cosmos/iavl v0.20.0-alpha4/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= +github.com/cosmos/iavl v0.20.0 h1:fTVznVlepH0KK8NyKq8w+U7c2L6jofa27aFX6YGlm38= +github.com/cosmos/iavl v0.20.0/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= +github.com/cosmos/ics23/go v0.9.1-0.20221207100636-b1abd8678aab h1:I9ialKTQo7248V827Bba4OuKPmk+FPzmTVHsLXaIJWw= +github.com/cosmos/ics23/go v0.9.1-0.20221207100636-b1abd8678aab/go.mod h1:2CwqasX5dSD7Hbp/9b6lhK6BwoBDCBldx7gPKRukR60= +github.com/cosmos/ledger-cosmos-go v0.12.1 h1:sMBxza5p/rNK/06nBSNmsI/WDqI0pVJFVNihy1Y984w= +github.com/cosmos/ledger-cosmos-go v0.12.1/go.mod h1:dhO6kj+Y+AHIOgAe4L9HL/6NDdyyth4q238I9yFpD2g= +github.com/cosmos/rosetta-sdk-go v0.10.0 h1:E5RhTruuoA7KTIXUcMicL76cffyeoyvNybzUGSKFTcM= +github.com/cosmos/rosetta-sdk-go v0.10.0/go.mod h1:SImAZkb96YbwvoRkzSMQB6noNJXFgWl/ENIznEoYQI4= +github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creachadair/taskgroup v0.3.2 h1:zlfutDS+5XG40AOxcHDSThxKzns8Tnr9jnr6VqkYlkM= github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= +github.com/creachadair/taskgroup v0.4.2 h1:jsBLdAJE42asreGss2xZGZ8fJra7WtwnHWeJFxv2Li8= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/cristalhq/acmd v0.7.0/go.mod h1:LG5oa43pE/BbxtfMoImHCQN++0Su7dzipdgBjMCBVDQ= github.com/cristalhq/acmd v0.8.1/go.mod h1:LG5oa43pE/BbxtfMoImHCQN++0Su7dzipdgBjMCBVDQ= +github.com/cucumber/common/gherkin/go/v22 v22.0.0 h1:4K8NqptbvdOrjL9DEea6HFjSpbdT9+Q5kgLpmmsHYl0= +github.com/cucumber/common/gherkin/go/v22 v22.0.0/go.mod h1:3mJT10B2GGn3MvVPd3FwR7m2u4tLhSRhWUqJU4KN4Fg= +github.com/cucumber/common/messages/go/v17 v17.1.1 h1:RNqopvIFyLWnKv0LfATh34SWBhXeoFTJnSrgm9cT/Ts= +github.com/cucumber/common/messages/go/v17 v17.1.1/go.mod h1:bpGxb57tDE385Rb2EohgUadLkAbhoC4IyCFi89u/JQI= github.com/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc= github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= @@ -777,10 +1064,7 @@ github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1S github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s= github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8= github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjIciD2oAxI7DmWRx6gbeqrkoLqv3MV0vzNad+I= -github.com/daixiang0/gci v0.2.9/go.mod h1:+4dZ7TISfSmqfAGv59ePaHfNzgGtIkHAhhdKggP1JAc= -github.com/daixiang0/gci v0.3.3/go.mod h1:1Xr2bxnQbDxCqqulUOv8qpGqkgRw9RSCGGjEC2LjF8o= github.com/daixiang0/gci v0.8.1/go.mod h1:EpVfrztufwVgQRXjnX4zuNinEpLj5OmMjtu/+MB0V0c= -github.com/danieljoos/wincred v1.0.2/go.mod h1:SnuYRW9lp1oJrZX/dXJqr0cPK5gYXqx3EJbmjhLdK9U= github.com/danieljoos/wincred v1.1.0/go.mod h1:XYlo+eRTsVA9aHGp7NGjFkPla4m+DCL7hqDjlFjiygg= github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= @@ -790,34 +1074,38 @@ github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ= -github.com/deckarep/golang-set v1.7.1 h1:SCQV0S6gTtp6itiFrTqI+pfmJ4LN85S1YzhDf9rTHJQ= -github.com/deckarep/golang-set v1.7.1/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ= +github.com/deckarep/golang-set/v2 v2.1.0 h1:g47V4Or+DUdzbs8FxCCmgb6VYd+ptPAngjM6dtGktsI= +github.com/deckarep/golang-set/v2 v2.1.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4= +github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= +github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc= github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= -github.com/denis-tingajkin/go-header v0.4.2/go.mod h1:eLRHAVXzE5atsKAnNRDB90WHCFFnBUn4RN0nRcs1LJA= github.com/denisenkom/go-mssqldb v0.12.0/go.mod h1:iiK0YP1ZeepvmBQk/QpLEhhTNJgfzrpArPY/aFvc9yU= github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= github.com/devigned/tab v0.1.1/go.mod h1:XG9mPq0dFghrYvoBF3xdRrJzSTX1b7IQrvaL9mzjeJY= -github.com/dgraph-io/badger/v2 v2.2007.1/go.mod h1:26P/7fbL4kUZVEVKLAKXkBXKOydDmM2p1e+NhhnBCAE= -github.com/dgraph-io/badger/v2 v2.2007.2/go.mod h1:26P/7fbL4kUZVEVKLAKXkBXKOydDmM2p1e+NhhnBCAE= +github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= github.com/dgraph-io/badger/v2 v2.2007.4 h1:TRWBQg8UrlUhaFdco01nO2uXwzKS7zd+HVdwV/GHc4o= github.com/dgraph-io/badger/v2 v2.2007.4/go.mod h1:vSw/ax2qojzbN6eXHIx6KPKtCSHJN/Uz0X0VPruTIhk= +github.com/dgraph-io/badger/v3 v3.2103.2/go.mod h1:RHo4/GmYcKKh5Lxu63wLEMHJ70Pac2JqZRYGhlyAo2M= github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= -github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= -github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI= github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= +github.com/dgraph-io/ristretto v0.1.1 h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8= +github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA= github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= -github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= +github.com/djherbis/atime v1.1.0/go.mod h1:28OF6Y8s3NQWwacXc5eZTsEsiMzp7LF8MbXE+XJPdBE= github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= github.com/docker/cli v0.0.0-20190925022749-754388324470/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= @@ -831,12 +1119,12 @@ github.com/docker/distribution v2.6.0-rc.1.0.20180327202408-83389a148052+incompa github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/distribution v2.8.0+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= +github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v0.0.0-20200511152416-a93e9eb0e95c/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v1.4.2-0.20180531152204-71cd53e4a197/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v17.12.0-ce-rc1.0.20200730172259-9f28837c1d93+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.0-beta1.0.20201110211921-af34b94a78a1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= @@ -858,65 +1146,72 @@ github.com/docker/libnetwork v0.8.0-dev.2.0.20200917202933-d0951081b35f/go.mod h github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/dop251/goja v0.0.0-20200721192441-a695b0cdd498/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b/go.mod h1:7BvyPhdbLxMXIYTFPLsyJRFMsKmOZnQmzh6Gb+uquuM= +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.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQxaLAeM= github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= -github.com/dvyukov/go-fuzz v0.0.0-20200318091601-be3528f3a813/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-resiliency v1.2.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= -github.com/edsrzf/mmap-go v0.0.0-20160512033002-935e0e8a636c/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM= github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= +github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= +github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= +github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= github.com/envoyproxy/protoc-gen-validate v0.0.14/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= -github.com/esimonov/ifshort v1.0.3/go.mod h1:yZqNJUrNn20K8Q9n2CrjTKYyVEmX209Hgu+M1LBpeZE= +github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= +github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= -github.com/ethereum/go-ethereum v1.9.25 h1:mMiw/zOOtCLdGLWfcekua0qPrJTe7FVIiHJ4IKNTfR0= -github.com/ethereum/go-ethereum v1.9.25/go.mod h1:vMkFiYLHI4tgPw4k2j4MHKoovchFE8plZ0M9VMk4/oM= +github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw= +github.com/ethereum/go-ethereum v1.11.5 h1:3M1uan+LAUvdn+7wCEFrcMM4LJTeuxDrPTg/f31a5QQ= +github.com/ethereum/go-ethereum v1.11.5/go.mod h1:it7x0DWnTDMfVFdXcU6Ti4KEFQynLHVRarcSlPr0HBo= github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg= -github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= -github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072/go.mod h1:duJ4Jxv5lDcvg4QuQr0oowTf7dz4/CR8NtyCooz9HL8= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= 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/firefart/nonamedreturns v1.0.1/go.mod h1:D3dpIBojGGNh5UfElmwPu73SwDCm+VKhHYqwlNOk2uQ= github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIga8MAO/xbKdcVsGI= -github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5 h1:FtmdgXiUlNeRsoNMFlKLDt+S+6hbjVMEW6RGQ7aUf7c= -github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= +github.com/flosch/pongo2 v0.0.0-20190707114632-bbf5a6c351f4/go.mod h1:T9YF2M40nIgbVgp3rreNmTged+9HrbNTIQf1PsaIiTA= +github.com/flosch/pongo2/v4 v4.0.2/go.mod h1:B5ObFANs/36VwxxlgKpdchIJHMvHB562PW+BWPhwZD8= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fortytw2/leaktest v1.2.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= @@ -925,11 +1220,9 @@ github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHqu github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goblin v0.0.0-20210519012713-85d372ac71e2/go.mod h1:VzmDKDJVZI3aJmnRI9VjAn9nJ8qPPsN1fqzr9dqInIo= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= -github.com/frankban/quicktest v1.7.2/go.mod h1:jaStnuzAqU1AJdCO0l53JDCJrVDKcS03DbaAcR7Ks/o= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= -github.com/frankban/quicktest v1.14.2/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= +github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= @@ -938,33 +1231,40 @@ github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4 github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= github.com/fullstorydev/grpcurl v1.6.0/go.mod h1:ZQ+ayqbKMJNhzLmbpCiurTVlaK2M/3nqZCxaQ2Ze/sM= -github.com/fzipp/gocyclo v0.3.1/go.mod h1:DJHO6AUmbdqj2ET4Z9iArSuwWgYDRryYt2wASxc7x3E= -github.com/fzipp/gocyclo v0.5.1/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= -github.com/garyburd/redigo v1.6.0/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= -github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= +github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc= github.com/gballet/go-libpcsclite v0.0.0-20191108122812-4678299bea08 h1:f6D9Hr8xV8uYKlyuj8XIruxlh9WjVjdh1gIicAS7ays= github.com/gballet/go-libpcsclite v0.0.0-20191108122812-4678299bea08/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= +github.com/getsentry/sentry-go v0.12.0/go.mod h1:NSap0JBYWzHND8oMbyi0+XZhUalc1TBdRL1M71JZW2c= +github.com/getsentry/sentry-go v0.17.0/go.mod h1:B82dxtBvxG0KaPD8/hfSV+VcHD+Lg/xUS4JuQn1P4cM= +github.com/getsentry/sentry-go v0.18.0 h1:MtBW5H9QgdcJabtZcuJG80BMOwaBpkRDZkxRkNC1sN0= +github.com/getsentry/sentry-go v0.18.0/go.mod h1:Kgon4Mby+FJ7ZWHFUAZgVaIa8sxHtnRJRLTXZr51aKQ= +github.com/ghemawat/stream v0.0.0-20171120220530-696b145b53b9/go.mod h1:106OIgooyS7OzLDOpUGgm9fA3bQENb/cFSyyBmMoJDs= github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/3rZdM= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= +github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= +github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= github.com/go-chi/chi/v5 v5.0.7/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= github.com/go-critic/go-critic v0.4.1/go.mod h1:7/14rZGnZbY6E38VEGk2kVhoq6itzc1E68facVDK23g= github.com/go-critic/go-critic v0.4.3/go.mod h1:j4O3D4RoIwRqlZw5jJpx0BNfXWWbpcJoKu5cYSe4YmQ= -github.com/go-critic/go-critic v0.6.1/go.mod h1:SdNCfU0yF3UBjtaZGw6586/WocupMOJuiqgom5DsQxM= -github.com/go-critic/go-critic v0.6.3/go.mod h1:c6b3ZP1MQ7o6lPR7Rv3lEf7pYQUmAcx8ABHgdZCQt/k= -github.com/go-critic/go-critic v0.6.4/go.mod h1:qL5SOlk7NtY6sJPoVCTKDIgzNOxHkkkOCVDyi9wJe1U= github.com/go-critic/go-critic v0.6.5/go.mod h1:ezfP/Lh7MA6dBNn4c6ab5ALv3sKnZVLx37tr00uuaOY= -github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= -github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= -github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= -github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= -github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= +github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= +github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= +github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= +github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-git/go-billy/v5 v5.4.0/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= +github.com/go-git/go-git-fixtures/v4 v4.3.1/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= +github.com/go-git/go-git/v5 v5.5.2/go.mod h1:BE5hUJ5yaV2YMxhmaP4l6RBQ08kMxKSPD4BlxtH7OjI= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -978,14 +1278,13 @@ github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vb github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= -github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= github.com/go-lintpack/lintpack v0.5.2/go.mod h1:NwZuYi2nUHho8XEIZ6SIxihrnPoqBTDqfpXvXAN0sXM= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +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 v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= @@ -995,6 +1294,7 @@ github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbV github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AEU963A2AYjv4d1V5eVL1CQbEJq6aCNHDDjibzu8= github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= @@ -1013,29 +1313,29 @@ github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dp github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= -github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= +github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= +github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= github.com/go-redis/redis v6.15.8+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= -github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= +github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= +github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= github.com/go-toolsmith/astcopy v1.0.0/go.mod h1:vrgyG+5Bxrnz4MZWPF+pI4R8h3qKRjjyvV/DSez4WVQ= -github.com/go-toolsmith/astcopy v1.0.1/go.mod h1:4TcEdbElGc9twQEYpVo/aieIXfHhiuLh4aLAck6dO7Y= github.com/go-toolsmith/astcopy v1.0.2/go.mod h1:4TcEdbElGc9twQEYpVo/aieIXfHhiuLh4aLAck6dO7Y= github.com/go-toolsmith/astequal v0.0.0-20180903214952-dcb477bfacd6/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= -github.com/go-toolsmith/astequal v1.0.1/go.mod h1:4oGA3EZXTVItV/ipGiOx7NWkY5veFfcsOJVS2YxltLw= github.com/go-toolsmith/astequal v1.0.2/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4= github.com/go-toolsmith/astequal v1.0.3/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4= github.com/go-toolsmith/astfmt v0.0.0-20180903215011-8f8ee99c3086/go.mod h1:mP93XdblcopXwlyN4X4uodxXQhldPGZbcEJIimQHrkg= @@ -1053,8 +1353,13 @@ github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzz github.com/go-zookeeper/zk v1.0.2/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= +github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/gobwas/ws v1.1.0/go.mod h1:nzvNcVha5eUziGrbxFCo6qFIojQHjJV5cLYIbezhfL0= +github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= @@ -1065,30 +1370,50 @@ github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5x github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/flock v0.0.0-20190320160742-5135e617513b/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gofrs/flock v0.7.3/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= +github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= +github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v4.3.0+incompatible h1:CaSVZxm5B+7o45rtab4jC2G37WGYX1zQfuU2i6DSvnc= github.com/gofrs/uuid v4.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= -github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic= +github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/googleapis v1.2.0/go.mod h1:Njal3psf3qN6dwBtQfUmBZh2ybovJ0tlu3o/AC7HYjU= github.com/gogo/googleapis v1.3.2/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= +github.com/gogo/googleapis v1.4.1-0.20201022092350-68b0159b7869/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= +github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/gogo/status v1.1.0/go.mod h1:BFv9nrluPLmrS0EmGVvLaPNmRosr9KapBYd5/hpY1WM= +github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY= +github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-jwt/jwt/v4 v4.1.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-jwt/jwt/v4 v4.3.0 h1:kHL1vqdqWNfATmA0FNMdmZNMyZI1U6O31X4rlIPoBog= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= 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.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= +github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/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= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= @@ -1117,11 +1442,10 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3-0.20201103224600-674baa8c7fc3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -1137,8 +1461,6 @@ github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a/go.mod h1:9qCChq59u github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2/go.mod h1:9wOXstvyDRshQ9LggQuzBCGysxs3b6Uo/1MvYCR2NMs= github.com/golangci/golangci-lint v1.23.7/go.mod h1:g/38bxfhp4rI7zeWSxcdIeHTQGS58TCak8FYcyCmavQ= github.com/golangci/golangci-lint v1.27.0/go.mod h1:+eZALfxIuthdrHPtfM7w/R3POJLjHDfJJw8XZl9xOng= -github.com/golangci/golangci-lint v1.43.0/go.mod h1:VIFlUqidx5ggxDfQagdvd9E67UjMXtTHBkBQ7sHoC5Q= -github.com/golangci/golangci-lint v1.46.2/go.mod h1:3DkdHnxn9eoTTrpT2gB0TEv8KSziuoqe9FitgQLHvAY= github.com/golangci/golangci-lint v1.50.1/go.mod h1:AQjHBopYS//oB8xs0y0M/dtxdKHkdhl0RvmjUct0/4w= github.com/golangci/ineffassign v0.0.0-20190609212857-42439a7714cc/go.mod h1:e5tpTHCfVze+7EpLEozzMB3eafxo2KT5veNg1k6byQU= github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= @@ -1148,9 +1470,9 @@ github.com/golangci/misspell v0.3.5/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPP github.com/golangci/prealloc v0.0.0-20180630174525-215b22d4de21/go.mod h1:tf5+bzsHdTM0bsB7+8mt0GUMvjCgwLpTapNZHU8AajI= github.com/golangci/revgrep v0.0.0-20180526074752-d9c87f5ffaf0/go.mod h1:qOQCunEYvmd/TLamH+7LlVccLvUH5kZNhbCgTHoBbp4= github.com/golangci/revgrep v0.0.0-20180812185044-276a5c0a1039/go.mod h1:qOQCunEYvmd/TLamH+7LlVccLvUH5kZNhbCgTHoBbp4= -github.com/golangci/revgrep v0.0.0-20210930125155-c22e5001d4f2/go.mod h1:LK+zW4MpyytAWQRz0M4xnzEk50lSvqDQKfx304apFkY= github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6/go.mod h1:0AKcRCkMoKvUvlf89F6O7H2LYdhr1zBh736mBItOdRs= github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= +github.com/gomodule/redigo v1.7.1-0.20190724094224-574c33c3df38/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= github.com/google/btree v0.0.0-20180124185431-e89373fe6b4a/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= @@ -1160,6 +1482,8 @@ github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl76 github.com/google/certificate-transparency-go v1.0.21/go.mod h1:QeJfpSbVSfYc7RgB3gJFj9cbuQMMchQxrWXz8Ruopmg= github.com/google/certificate-transparency-go v1.1.1/go.mod h1:FDKqPvSXawb2ecErVRrD+nfy23RCzyl7eqVCEmlT1Zs= github.com/google/crfs v0.0.0-20191108021818-71d77da419c9/go.mod h1:etGhoOqfwPkooV6aqoX3eBGQOJblqdoc9XvWOeuxpPw= +github.com/google/flatbuffers v1.12.1/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/google/flatbuffers v2.0.0+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -1182,13 +1506,13 @@ github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYV github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= github.com/google/go-github/v28 v28.1.1/go.mod h1:bsqJWQX05omyWVmc00nEUql9mhQyv38lDZ8kPZcQVoM= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/go-replayers/grpcreplay v0.1.0/go.mod h1:8Ig2Idjpr6gifRd6pNVggX6TC1Zw6Jx74AKp7QNH2QE= github.com/google/go-replayers/httpreplay v0.1.0/go.mod h1:YKZViNhiGgqdBlUbI2MwGpq4pXxNmhJLPHQ7cv2b5no= github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= 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.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= @@ -1196,6 +1520,7 @@ github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible/go.m github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -1232,7 +1557,11 @@ github.com/google/wire v0.4.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1 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= +github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= +github.com/googleapis/gax-go v2.0.2+incompatible h1:silFMLAnr330+NRuag/VjIGF7TLp/LBrV2CJKFLWEww= github.com/googleapis/gax-go v2.0.2+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= @@ -1243,6 +1572,8 @@ github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99 github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= +github.com/googleapis/gax-go/v2 v2.7.0 h1:IcsPKeInNvYi7eqSaDjiZqDDKu5rsmunY0Y1YupQSSQ= +github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= github.com/googleapis/gnostic v0.2.2/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= @@ -1251,19 +1582,18 @@ github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97Dwqy github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gookit/color v1.2.4/go.mod h1:AhIE+pS6D4Ql0SQWbBeXPHw7gY0/sjHoA4s/n1KB7xg= -github.com/gookit/color v1.4.2/go.mod h1:fqRyamkC1W8uxl+lxCQxOT09l/vYfZ+QeiX3rKQHCoQ= -github.com/gookit/color v1.5.0/go.mod h1:43aQb+Zerm/BWh2GnrgOQm7ffz7tvQXEKV6BFMl7wAo= github.com/gookit/color v1.5.1/go.mod h1:wZFzea4X8qN6vHOSP2apMb4/+w/orMznEzYsIHPaqKM= github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gopherjs/gopherjs v1.17.2/go.mod h1:pRRIvn/QzFLrKfvEz3qUuEhtE/zLCWfreZ6J5gM2i+k= github.com/gordonklaus/ineffassign v0.0.0-20200309095847-7953dde2c7bf/go.mod h1:cuNKsD1zp2v6XfE/orVX2QE1LC+i254ceGcVeDT3pTU= -github.com/gordonklaus/ineffassign v0.0.0-20210225214923-2e10b2664254/go.mod h1:M9mZEtGIsR1oDaZagNPNG9iq9n2HrhZ17dsXk73V3Lw= github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0= github.com/goreleaser/goreleaser v0.136.0/go.mod h1:wiKrPUeSNh6Wu8nUHxZydSOVQ/OZvOaO7DTtFqie904= github.com/goreleaser/nfpm v1.2.1/go.mod h1:TtWrABZozuLOttX2uDlYyECfQX7x5XYkVxhjYcR6G9w= github.com/goreleaser/nfpm v1.3.0/go.mod h1:w0p7Kc9TAUgWMyrub63ex3M2Mgw88M4GZXoTq5UCb40= github.com/gorhill/cronexpr v0.0.0-20180427100037-88b0669f7d75/go.mod h1:g2644b03hfBX9Ov0ZBDgXXens4rxSxmqFBbhvKv2yVA= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/css v1.0.0/go.mod h1:Dn721qIggHpt4+EFCcTLTU/vk5ySda2ReITrtgBl60c= github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= @@ -1272,9 +1602,9 @@ github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2z github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= @@ -1287,19 +1617,16 @@ github.com/gostaticanalysis/analysisutil v0.7.1/go.mod h1:v21E3hY37WKMGSnbsw2S/o github.com/gostaticanalysis/comment v1.3.0/go.mod h1:xMicKDx7XRXYdVwY9f9wQpDJVnqWxw9wCauCMKp+IBI= github.com/gostaticanalysis/comment v1.4.1/go.mod h1:ih6ZxzTHLdadaiSnF5WY3dxUoXfXAlTaRzuaNDlSado= github.com/gostaticanalysis/comment v1.4.2/go.mod h1:KLUTGDv6HOCotCH8h2erHKmpci2ZoR8VPu34YA2uzdM= -github.com/gostaticanalysis/forcetypeassert v0.0.0-20200621232751-01d4955beaa5/go.mod h1:qZEedyP/sY1lTGV1uJ3VhWZ2mqag3IkWsDHVbplHXak= github.com/gostaticanalysis/forcetypeassert v0.1.0/go.mod h1:qZEedyP/sY1lTGV1uJ3VhWZ2mqag3IkWsDHVbplHXak= github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A= github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M= github.com/gostaticanalysis/testutil v0.4.0/go.mod h1:bLIoPefWXrRi/ssLFWX1dx7Repi5x3CuviD3dgAZaBU= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= -github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.2.0/go.mod h1:mJzapYve32yjrKlk9GbyCZHuPgZsrbyIbyKhSzOpg6s= -github.com/grpc-ecosystem/go-grpc-middleware v1.2.1/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= @@ -1311,11 +1638,11 @@ github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t github.com/grpc-ecosystem/grpc-gateway v1.9.2/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.12.1/go.mod h1:8XEsbTttt/W+VvjtQhLACqCisSPWTxCZ7sBRjU6iH9c= -github.com/grpc-ecosystem/grpc-gateway v1.14.7/go.mod h1:oYZKL012gGh6LMyg/xA7Q2yq6j8bu0wa+9w14EEthWU= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.3 h1:I8MsauTJQXZ8df8qJvEln0kYNc3bSapuaSsEsnFdEFU= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.3/go.mod h1:lZdb/YAJUSj9OqrCHs2ihjtoO3+xK3G53wTYXFWRGDo= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0= @@ -1340,9 +1667,13 @@ github.com/hashicorp/consul/sdk v0.11.0/go.mod h1:yPkX5Q6CsxTFMjQQDJwzeNmUUF5NUG github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-bexpr v0.1.10 h1:9kuI5PFotCboP3dkDYFr/wi0gg0QVbSNz5oFRpxn4uE= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-getter v1.7.1 h1:SWiSWN/42qdpR0MdhaOc/bLR48PLuP1ZQtYLRlM69uY= +github.com/hashicorp/go-getter v1.7.1/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= @@ -1365,6 +1696,8 @@ github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER github.com/hashicorp/go-retryablehttp v0.7.0/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= +github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= @@ -1374,14 +1707,15 @@ github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2I github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go-version v1.4.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d h1:dg1dEPuWpEqDnvIw251EVy4zlP8gWbsGj4BsUKCRpYs= +github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= @@ -1398,19 +1732,26 @@ github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpT github.com/hashicorp/serf v0.9.7/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hashicorp/serf v0.9.8/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hashicorp/uuid v0.0.0-20160311170451-ebb0a03e909c/go.mod h1:fHzc09UnyJyqyW+bFuq864eh+wC7dj65aXmXLRe5to0= -github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 h1:uUjLpLt6bVvZ72SQc/B4dXcPBw4Vgd7soowdRl52qEM= -github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87/go.mod h1:XGsKKeXxeRr95aEOgipvluMPlgjr7dGlk9ZTWOjcUcg= +github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3/go.mod h1:5PC6ZNPde8bBqU/ewGZig35+UIZtw9Ytxez8/q5ZyFE= +github.com/hdevalence/ed25519consensus v0.1.0 h1:jtBwzzcHuTmFrQN6xQZn6CQEO/V9f7HsjsjeEZ6auqU= +github.com/hdevalence/ed25519consensus v0.1.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3sus+7FctEyM4RqDxYNzo= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= -github.com/holiman/uint256 v1.1.1 h1:4JywC80b+/hSfljFlEBLHrrh+CIONLDz9NuFl0af4Mw= -github.com/holiman/uint256 v1.1.1/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= +github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZKVu0fao= +github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= +github.com/holiman/uint256 v1.2.2 h1:TXKcSGc2WaxPD2+bmzAsVthL4+pEN0YwXcL5qED83vk= +github.com/holiman/uint256 v1.2.2/go.mod h1:SC8Ryt4n+UBbPbIBKaG9zbbDlp4jOru9xFZmPzLUTxw= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3c= +github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= +github.com/huandu/skiplist v1.2.0 h1:gox56QD77HzSC0w+Ws3MH3iie755GBJU1OER3h5VsYw= +github.com/huandu/skiplist v1.2.0/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= github.com/huandu/xstrings v1.2.0/go.mod h1:DvyZB1rfVYsBIigL8HwpZgxHwXozlTgGqn63UyNX5k4= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/hudl/fargo v1.4.0/go.mod h1:9Ai6uvFy5fQNq6VPKtg+Ceq1+eTY4nKUlR2JElEOcDo= -github.com/huin/goupnp v1.0.0 h1:wg75sLpL6DZqwHQN6E1Cfk6mtfzS45z8OV+ic+DtHRo= -github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= -github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= +github.com/huin/goupnp v1.0.3 h1:N8No57ls+MnjlB+JPiCVSOyy/ot7MJTqlo7rn+NYSqQ= +github.com/hydrogen18/memlistener v0.0.0-20141126152155-54553eb933fb/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE= +github.com/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE= github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= @@ -1422,42 +1763,47 @@ github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= -github.com/improbable-eng/grpc-web v0.14.1 h1:NrN4PY71A6tAz2sKDvC5JCauENWp0ykG8Oq1H3cpFvw= -github.com/improbable-eng/grpc-web v0.14.1/go.mod h1:zEjGHa8DAlkoOXmswrNvhUGEYQA9UI7DhrGeHR1DMGU= +github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= +github.com/improbable-eng/grpc-web v0.15.0 h1:BN+7z6uNXZ1tQGcNAuaU1YjsLTApzkjt2tzCixLaUPQ= +github.com/improbable-eng/grpc-web v0.15.0/go.mod h1:1sy9HKV4Jt9aEs9JSnkWlRJPuPtwNr0l57L4f878wP8= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/influxdata/influxdb v1.2.3-0.20180221223340-01288bdb0883/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= -github.com/informalsystems/tm-load-test v1.0.0/go.mod h1:WVaSKaQdfZK3v0C74EMzn7//+3aeCZF8wkIKBz2/M74= +github.com/informalsystems/tm-load-test v1.3.0/go.mod h1:OQ5AQ9TbT5hKWBNIwsMjn6Bf4O0U4b1kRc+0qZlQJKw= github.com/intel/goresctrl v0.2.0/go.mod h1:+CZdzouYFn5EsxgqAQTEzMfwKwuc0fVdMrT9FCCAVRQ= +github.com/iris-contrib/blackfriday v2.0.0+incompatible/go.mod h1:UzZ2bDEoaSGPbkg6SAB4att1aAwTmVIx/5gCVqeyUdI= +github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/+fafWORmlnuysV2EMP8MW+qe0= +github.com/iris-contrib/httpexpect/v2 v2.3.1/go.mod h1:ICTf89VBKSD3KB0fsyyHviKF8G8hyepP0dOXJPWz3T0= +github.com/iris-contrib/i18n v0.0.0-20171121225848-987a633949d0/go.mod h1:pMCz62A0xJL6I+umB2YTlFRwWXaDFA0jy+5HzGiJjqI= +github.com/iris-contrib/jade v1.1.3/go.mod h1:H/geBymxJhShH5kecoiOCSssPX7QWYH7UaeZTSWddIk= +github.com/iris-contrib/jade v1.1.4/go.mod h1:EDqR+ur9piDl6DUgs6qRrlfzmlx/D5UybogqrXvJTBE= +github.com/iris-contrib/pongo2 v0.0.1/go.mod h1:Ssh+00+3GAZqSQb30AvBRNxBx7rf0GqwkjqxNd0u65g= +github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw= +github.com/iris-contrib/schema v0.0.6/go.mod h1:iYszG0IOsuIsfzjymw1kMzTL8YQcCWlm65f3wX8J5iA= github.com/ishidawataru/sctp v0.0.0-20191218070446-00ab2ac2db07/go.mod h1:co9pwDoBCm1kGxawmb4sPq0cSIOOWNPT4KnHotMP1Zg= github.com/ishidawataru/sctp v0.0.0-20210226210310-f2269e66cdee/go.mod h1:co9pwDoBCm1kGxawmb4sPq0cSIOOWNPT4KnHotMP1Zg= github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA= github.com/j-keck/arping v1.0.2/go.mod h1:aJbELhR92bSk7tp79AWM/ftfc90EfEi2bQJrbBFOsPw= -github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus= -github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= github.com/jaguilar/vt100 v0.0.0-20150826170717-2703a27b14ea/go.mod h1:QMdK4dGB3YhEW2BmA1wgGpPYI3HZy/5gD705PXKUVSg= github.com/jarcoal/httpmock v1.0.5/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik= -github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o= +github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a/go.mod h1:Zi/ZFkEqFHTm7qkjyNJjaWH4LQA9LQhGJyF0lTYGpxw= -github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= github.com/jhump/gopoet v0.0.0-20190322174617-17282ff210b3/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= github.com/jhump/gopoet v0.1.0/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= github.com/jhump/goprotoc v0.5.0/go.mod h1:VrbvcYrQOrTi3i0Vf+m+oqQWk9l72mjkJCYo7UvLHRQ= github.com/jhump/protocompile v0.0.0-20220216033700-d705409f108f/go.mod h1:qr2b5kx4HbFS7/g4uYO5qv9ei8303JMsC7ESbYiqr2Q= -github.com/jhump/protocompile v0.0.0-20220812162104-d108583e055d/go.mod h1:qr2b5kx4HbFS7/g4uYO5qv9ei8303JMsC7ESbYiqr2Q= github.com/jhump/protoreflect v1.6.1/go.mod h1:RZQ/lnuN+zqeRVpQigTwO6o0AJUkxbnSnpuG7toUTG4= github.com/jhump/protoreflect v1.11.0/go.mod h1:U7aMIjN0NWq9swDP7xDdoMfRHb35uiuTd3Z9nFXJf5E= -github.com/jhump/protoreflect v1.12.1-0.20220417024638-438db461d753/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= -github.com/jhump/protoreflect v1.13.1-0.20220928232736-101791cb1b4c/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= github.com/jingyugao/rowserrcheck v0.0.0-20191204022205-72ab7603b68a/go.mod h1:xRskid8CManxVta/ALEhJha/pweKBaVG6fWgc0yH25s= github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= github.com/jirfag/go-printf-func-name v0.0.0-20191110105641-45db9963cdd3/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= @@ -1496,31 +1842,49 @@ github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHm github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/juju/errors v0.0.0-20181118221551-089d3ea4e4d5/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= +github.com/juju/loggo v0.0.0-20180524022052-584905176618/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= github.com/juju/ratelimit v1.0.1/go.mod h1:qapgC/Gy+xNh9UxzV13HGGl/6UXNN+ct+vwSgWNm/qk= -github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/juju/testing v0.0.0-20180920084828-472a3e8b2073/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/julz/importas v0.0.0-20210419104244-841f0c0fe66d/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0= github.com/julz/importas v0.1.0/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0= -github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= -github.com/karalabe/usb v0.0.0-20190919080040-51dc0efba356/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= -github.com/karalabe/usb v0.0.0-20191104083709-911d15fe12a9 h1:ZHuwnjpP8LsVsUYqTqeVAI+GfDfJ6UNPrExZF+vX/DQ= -github.com/karalabe/usb v0.0.0-20191104083709-911d15fe12a9/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 h1:iQTw/8FWTuc7uiaSepXwyf3o52HaUYcV+Tu66S3F5GA= github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8= -github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d/go.mod h1:JJNrCn9otv/2QP4D7SMJBgaleKpOf66PnW6F5WGNRIc= +github.com/kataras/blocks v0.0.6/go.mod h1:UK+Iwk0Oxpc0GdoJja7sEildotAUKK1LYeYcVF0COWc= +github.com/kataras/blocks v0.0.7/go.mod h1:UJIU97CluDo0f+zEjbnbkeMRlvYORtmc1304EeyXf4I= +github.com/kataras/golog v0.0.9/go.mod h1:12HJgwBIZFNGL0EJnMRhmvGA0PQGx8VFwrZtM4CqbAk= +github.com/kataras/golog v0.0.10/go.mod h1:yJ8YKCmyL+nWjERB90Qwn+bdyBZsaQwU3bTVFgkFIp8= +github.com/kataras/golog v0.1.7/go.mod h1:jOSQ+C5fUqsNSwurB/oAHq1IFSb0KI3l6GMa7xB6dZA= +github.com/kataras/iris/v12 v12.0.1/go.mod h1:udK4vLQKkdDqMGJJVd/msuMtN6hpYJhg/lSzuxjhO+U= +github.com/kataras/iris/v12 v12.1.8/go.mod h1:LMYy4VlP67TQ3Zgriz8RE2h2kMZV2SgMYbq3UhfoFmE= +github.com/kataras/iris/v12 v12.2.0-beta5/go.mod h1:q26aoWJ0Knx/00iPKg5iizDK7oQQSPjbD8np0XDh6dc= +github.com/kataras/jwt v0.1.8/go.mod h1:Q5j2IkcIHnfwy+oNY3TVWuEBJNw0ADgCcXK9CaZwV4o= +github.com/kataras/neffos v0.0.10/go.mod h1:ZYmJC07hQPW67eKuzlfY7SO3bC0mw83A3j6im82hfqw= +github.com/kataras/neffos v0.0.14/go.mod h1:8lqADm8PnbeFfL7CLXh1WHw53dG27MC3pgi2R1rmoTE= +github.com/kataras/neffos v0.0.20/go.mod h1:srdvC/Uo8mgrApWW0AYtiiLgMbyNPf69qPsd2FhE6MQ= +github.com/kataras/pio v0.0.0-20190103105442-ea782b38602d/go.mod h1:NV88laa9UiiDuX9AhMbDPkGYSPugBOV6yTZB1l2K9Z0= +github.com/kataras/pio v0.0.2/go.mod h1:hAoW0t9UmXi4R5Oyq5Z4irTbaTsOemSrDGUtaTl7Dro= +github.com/kataras/pio v0.0.10/go.mod h1:gS3ui9xSD+lAUpbYnjOGiQyY7sUMJO+EHpiRzhtZ5no= +github.com/kataras/pio v0.0.11/go.mod h1:38hH6SWH6m4DKSYmRhlrCJ5WItwWgCVrTNU62XZyUvI= +github.com/kataras/sitemap v0.0.5/go.mod h1:KY2eugMKiPwsJgx7+U103YZehfvNGOXURubcGyk0Bz8= +github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= +github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= +github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/errcheck v1.6.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/errcheck v1.6.2/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkHAIKE/contextcheck v1.1.3/go.mod h1:PG/cwd6c0705/LM0KTr1acO2gORUxkSVWyLJOFW5qoo= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.9.8/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.10.1/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.9.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= @@ -1529,15 +1893,19 @@ github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8 github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.14.4/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.15.0/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= -github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c= +github.com/klauspost/compress v1.15.10/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= +github.com/klauspost/compress v1.15.15/go.mod h1:ZcK2JAFqKOpnBlxcLsJzYfrS9X1akm9fHZNnD9+Vo/4= +github.com/klauspost/compress v1.16.3 h1:XuJt9zzcnaz6a16/OU53ZjWp/v7/42WcR5t2a0PcNQY= +github.com/klauspost/compress v1.16.3/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/cpuid v0.0.0-20180405133222-e7e905edc00e/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= -github.com/klauspost/cpuid v1.2.3/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= -github.com/klauspost/reedsolomon v1.9.3/go.mod h1:CwCi+NUr9pqSVktrkN+Ondf06rkhYZ/pcNv7fu+8Un4= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -1546,8 +1914,9 @@ github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFB github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= @@ -1555,19 +1924,21 @@ github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kulti/thelper v0.4.0/go.mod h1:vMu2Cizjy/grP+jmsvOFDx1kYP6+PD1lqg4Yu5exl2U= -github.com/kulti/thelper v0.6.2/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I= github.com/kulti/thelper v0.6.3/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I= -github.com/kunwardeep/paralleltest v1.0.3/go.mod h1:vLydzomDFpk7yu5UX02RmP0H8QfRPOV/oFhWN85Mjb4= github.com/kunwardeep/paralleltest v1.0.6/go.mod h1:Y0Y0XISdZM5IKm3TREQMZ6iteqn1YuwCsJO/0kL9Zes= github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= +github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/kyoh86/exportloopref v0.1.8/go.mod h1:1tUcJeiioIs7VWe5gcOObrux3lb66+sBqGZrRkMwPgg= -github.com/ldez/gomoddirectives v0.2.2/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= +github.com/labstack/echo/v4 v4.1.11/go.mod h1:i541M3Fj6f76NZtHSj7TXnyM8n2gaodfvfxNnFqi74g= +github.com/labstack/echo/v4 v4.5.0/go.mod h1:czIriw4a0C1dFun+ObrXp7ok03xON0N1awStJ6ArI7Y= +github.com/labstack/echo/v4 v4.9.0/go.mod h1:xkCDAdFCIf8jsFQ5NnbK7oqaF/yU1A1X20Ltm0OvSks= +github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= +github.com/labstack/gommon v0.3.1/go.mod h1:uW6kP17uPlLJsD3ijUYn3/M5bAxtlZhMI6m3MFxTMTM= github.com/ldez/gomoddirectives v0.2.3/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= -github.com/ldez/tagliatelle v0.2.0/go.mod h1:8s6WJQwEYHbKZDsp/LjArytKOG8qaMrKQQ3mFukHs88= github.com/ldez/tagliatelle v0.3.1/go.mod h1:8s6WJQwEYHbKZDsp/LjArytKOG8qaMrKQQ3mFukHs88= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/leonklingele/grouper v1.1.0/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY= github.com/letsencrypt/pkcs11key/v4 v4.0.0/go.mod h1:EFUvBDay26dErnNb70Nd0/VW3tJiIbETBPTl9ATXQag= github.com/lib/pq v0.0.0-20180327071824-d34b9ff171c2/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= @@ -1576,41 +1947,49 @@ github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.8.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.9.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lib/pq v1.10.3/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lib/pq v1.10.6 h1:jbk+ZieJ0D7EVGJYpL9QTz7/YW6UHbmdnZWYyK5cdBs= github.com/lib/pq v1.10.6/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/libp2p/go-buffer-pool v0.0.2/go.mod h1:MvaB6xw5vOrDl8rYZGLFdKAuk/hRoRZd1Vi32+RXyFM= +github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= +github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= +github.com/linxGnu/grocksdb v1.7.10/go.mod h1:0hTf+iA+GOr0jDX4CgIYyJZxqOH9XlBh6KVj8+zmF34= github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= -github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= github.com/lufeee/execinquery v1.2.1/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= +github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magefile/mage v1.14.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= +github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= +github.com/mailgun/raymond/v2 v2.0.46/go.mod h1:lsgvL50kgt1ylcFJYZiULi5fjPBkkhNfj4KA0W54Z18= github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= +github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= github.com/maratori/testableexamples v1.0.0/go.mod h1:4rhjL1n20TUTT4vdh3RDqSizKLyXp7K2u6HgraZCGzE= github.com/maratori/testpackage v1.0.1/go.mod h1:ddKdw+XG0Phzhx8BFDTKgpWP4i7MpApTE5fXSKAqwDU= github.com/maratori/testpackage v1.1.0/go.mod h1:PeAhzU8qkCwdGEMTEupsHJNlQu2gZopMC6RjbhmHeDc= github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= github.com/matoous/godox v0.0.0-20190911065817-5d6d842e92eb/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= github.com/matoous/godox v0.0.0-20210227103229-6504466cf951/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= +github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= +github.com/matryer/try v0.0.0-20161228173917-9ac251b645a2/go.mod h1:0KeJpeMD6o+O4hW7qJOT7vyQPKrWmj26uf5wMc/IiIs= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= @@ -1626,17 +2005,18 @@ github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HN github.com/mattn/go-ieproxy v0.0.1/go.mod h1:pYabZ6IHcRpFh7vIaLfK7rdcWgFEb3SFJ6/gNWuh88E= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.5-0.20180830101745-3fb116b82035/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= +github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= @@ -1650,16 +2030,21 @@ github.com/mattn/go-sqlite3 v1.14.9/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A github.com/mattn/go-zglob v0.0.1/go.mod h1:9fxibJccNxU2cnpIKLRRFA7zX7qhkJIQWBb449FYHOo= github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= +github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY= github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= +github.com/mediocregopher/mediocre-go-lib v0.0.0-20181029021733-cb65787f37ed/go.mod h1:dSsfyI2zABAdhcbvkXqgxOxrCsbYeHCPgrZkku60dSg= +github.com/mediocregopher/radix/v3 v3.3.0/go.mod h1:EmfVyvspXz1uZEyPBMyGK+kjWiKQGvsUt6O3Pj+LDCQ= +github.com/mediocregopher/radix/v3 v3.4.2/go.mod h1:8FL3F6UQRXHXIBSPUs5h0RybMF8i4n7wVopoX3x7Bv8= +github.com/mediocregopher/radix/v3 v3.8.0/go.mod h1:8FL3F6UQRXHXIBSPUs5h0RybMF8i4n7wVopoX3x7Bv8= github.com/mgechev/dots v0.0.0-20210922191527-e955255bf517/go.mod h1:KQ7+USdGKfpPjXk4Ga+5XxQM4Lm4e3gAogrreFAYpOg= -github.com/mgechev/revive v1.1.2/go.mod h1:bnXsMr+ZTH09V5rssEI+jHAZ4z+ZdyhgO/zsy3EhK+0= -github.com/mgechev/revive v1.2.1/go.mod h1:+Ro3wqY4vakcYNtkBWdZC7dBg1xSB6sp054wWwmeFm0= -github.com/mgechev/revive v1.2.3/go.mod h1:iAWlQishqCuj4yhV24FTnKSXGpbAA+0SckXB8GQMX/Q= github.com/mgechev/revive v1.2.4/go.mod h1:iAWlQishqCuj4yhV24FTnKSXGpbAA+0SckXB8GQMX/Q= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= +github.com/microcosm-cc/bluemonday v1.0.20/go.mod h1:yfBmMi8mxvaZut3Yytv+jTXRY8mxyjJ0/kQBTElld50= +github.com/microcosm-cc/bluemonday v1.0.21/go.mod h1:ytNkv4RrDrLJ2pqlsSI46O6IVXmZOBBD4SaJyDwwTkM= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= github.com/miekg/dns v1.1.35/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= @@ -1679,10 +2064,13 @@ github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceT github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-ps v0.0.0-20190716172923-621e5597135b/go.mod h1:r1VsdOzOPt1ZSrGZWFoNhsAedKnEd6r9Np1+5blZCWk= github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= +github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= github.com/mitchellh/hashstructure v1.0.0/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ= @@ -1691,13 +2079,13 @@ github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0Qu github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.3.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= +github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A= 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.8.1/go.mod h1:/kyU1hKy/aYCuP39GZA9MaKioovHku57N6cqlKZIaiQ= @@ -1733,6 +2121,7 @@ github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3P github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= github.com/mozilla/scribe v0.0.0-20180711195314-fb71baf557c1/go.mod h1:FIczTrinKo8VaLxe6PWTPEXRXDIHz2QAwiaBaP5/4a8= github.com/mozilla/tls-observatory v0.0.0-20190404164649-a3c1b6cfecfd/go.mod h1:SrKMQvPiws7F7iqYp8/TX+IhxCYhzr6N/1yb8cwHsGk= github.com/mozilla/tls-observatory v0.0.0-20200317151703-4fa42e1c2dee/go.mod h1:SrKMQvPiws7F7iqYp8/TX+IhxCYhzr6N/1yb8cwHsGk= @@ -1751,16 +2140,21 @@ github.com/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76/go.mod h1:x5OoJ github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/nakabonne/nestif v0.3.0/go.mod h1:dI314BppzXjJ4HsCnbo7XzrJHPszZsjnk5wEBSYHI2c= github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE= -github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0= -github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= github.com/nats-io/jwt v1.2.2/go.mod h1:/xX356yQA6LuXI9xWW7mZNpxgF2mBmGecH+Fj34sP5Q= github.com/nats-io/jwt/v2 v2.0.3/go.mod h1:VRP+deawSXyhNjXmxPCHskrR6Mq50BqpEI5SEcNiGlY= +github.com/nats-io/jwt/v2 v2.2.1-0.20220330180145-442af02fd36a/go.mod h1:0tqz9Hlu6bCBFLWAASKhE5vUA4c24L9KPUUgvwumE/k= +github.com/nats-io/jwt/v2 v2.3.0/go.mod h1:0tqz9Hlu6bCBFLWAASKhE5vUA4c24L9KPUUgvwumE/k= github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= github.com/nats-io/nats-server/v2 v2.5.0/go.mod h1:Kj86UtrXAL6LwYRA6H4RqzkHhK0Vcv2ZnKD5WbQ1t3g= +github.com/nats-io/nats-server/v2 v2.8.4/go.mod h1:8zZa+Al3WsESfmgSs98Fi06dRWLH5Bnq90m5bKD/eT4= +github.com/nats-io/nats.go v1.8.1/go.mod h1:BrFz9vVn0fU3AcH9Vn4Kd7W0NpJ651tD5omQ3M8LwxM= github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= github.com/nats-io/nats.go v1.12.1/go.mod h1:BPko4oXsySz4aSWeFgOHLZs3G4Jq4ZAyE6/zMCxRT6w= +github.com/nats-io/nats.go v1.15.0/go.mod h1:BPko4oXsySz4aSWeFgOHLZs3G4Jq4ZAyE6/zMCxRT6w= +github.com/nats-io/nats.go v1.16.0/go.mod h1:BPko4oXsySz4aSWeFgOHLZs3G4Jq4ZAyE6/zMCxRT6w= +github.com/nats-io/nkeys v0.0.2/go.mod h1:dab7URMsZm6Z/jp9Z5UGa87Uutgc2mVpXLC4B7TDb/4= github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.2.0/go.mod h1:XdZpAbhgyyODYqjTawOnIOI7VlbKSarI9Gfy1tqEu/s= @@ -1769,15 +2163,12 @@ github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OS github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU= github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354/go.mod h1:KSVJerMDfblTH7p5MZaTt+8zaT2iEk3AkVb9PQdZuE8= github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= -github.com/neilotoole/errgroup v0.1.5/go.mod h1:Q2nLGf+594h0CLBs/Mbg6qOr7GtqDK7C2S41udRnToE= +github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= +github.com/neelance/sourcemap v0.0.0-20200213170602-2833bce08e4c/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= github.com/networkplumbing/go-nft v0.2.0/go.mod h1:HnnM+tYvlGAsMU7yoYwXEVLLiDW9gdMmb5HoGcwpuQs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nishanths/exhaustive v0.2.3/go.mod h1:bhIX678Nx8inLM9PbpvK1yv6oGtoP8BfaIeMzgBNKvc= -github.com/nishanths/exhaustive v0.7.11/go.mod h1:gX+MP7DWMKJmNa1HfMozK+u04hQd3na9i0hyqf3/dOI= -github.com/nishanths/exhaustive v0.8.1/go.mod h1:qj+zJJUgJ76tR92+25+03oYUhzF4R7/2Wk7fGTfCHmg= github.com/nishanths/exhaustive v0.8.3/go.mod h1:qj+zJJUgJ76tR92+25+03oYUhzF4R7/2Wk7fGTfCHmg= github.com/nishanths/predeclared v0.0.0-20190419143655-18a43bb90ffc/go.mod h1:62PewwiQTlm/7Rj+cxVYqZvDIUc+JjZq6GHAC1fsObQ= -github.com/nishanths/predeclared v0.2.1/go.mod h1:HvkGJcA3naj4lOwnFXFDkFxVtSqQMB9sbB1usJ+xjQE= github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= @@ -1786,11 +2177,9 @@ github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtb github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/oklog/ulid/v2 v2.0.2/go.mod h1:mtBL0Qe/0HAx6/a4Z30qxVIAL1eQDweXq5lxOEiwQ68= github.com/oklog/ulid/v2 v2.1.0/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.2/go.mod h1:rSAaSIOAGT9odnlyGlUfAJaoc5w2fSBUmeGDbRWPxyQ= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= @@ -1807,8 +2196,9 @@ github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108 github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.2/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvwxz1E= -github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= @@ -1825,15 +2215,12 @@ github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1y github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY= github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= -github.com/onsi/gomega v1.16.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= github.com/onsi/gomega v1.20.0 h1:8W0cWlwFkflGPLltQvLRB7ZVD5HuP6ng320w2IS245Q= github.com/onsi/gomega v1.20.0/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= -github.com/openconfig/gnmi v0.0.0-20190823184014-89b2bf29312c/go.mod h1:t+O9It+LKzfOAhKTT5O0ehDix+MTqbtT0T9t+7zzOvc= -github.com/openconfig/reference v0.0.0-20190727015836-8dfd928c9696/go.mod h1:ym2A+zigScwkSEb/cVQB0/ZMpU3rqiH6X7WRRsxgOGw= github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= @@ -1854,7 +2241,6 @@ github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rm github.com/opencontainers/runc v1.0.0-rc92/go.mod h1:X1zlU4p7wOlX4+WRCz+hvlRv8phdL7UqbYD+vQwNMmE= github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0= github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= -github.com/opencontainers/runc v1.0.3/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= github.com/opencontainers/runc v1.1.0/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= github.com/opencontainers/runc v1.1.1/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= github.com/opencontainers/runc v1.1.2/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= @@ -1888,49 +2274,39 @@ github.com/openzipkin/zipkin-go v0.2.5/go.mod h1:KpXfKdgRDnnhsxw4pNIH9Md5lyFqKUa github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= github.com/ory/dockertest/v3 v3.9.1/go.mod h1:42Ir9hmvaAPm0Mgibk6mBPi7SFvTXxEcnztDYOJ//uM= github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw= -github.com/otiai10/copy v1.6.0 h1:IinKAryFFuPONZ7cm6T6E2QX/vcJwSnlaA5lfoaXIiQ= -github.com/otiai10/copy v1.6.0/go.mod h1:XWfuS3CrI0R6IE0FbgHsEazaXO8G0LpMp9o8tos0x4E= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= -github.com/otiai10/mint v1.3.2/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pborman/getopt v0.0.0-20170112200414-7148bc3a4c30/go.mod h1:85jBQOZwpVEaDAr341tbn15RS4fCAsIst0qp7i8ex1o= -github.com/pborman/uuid v0.0.0-20170112150404-1b00554d8222/go.mod h1:VyrYX9gd7irzKovcSS6BIIEwPRkP2Wm2m9ufcdFSJ34= -github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.8.0/go.mod h1:D6yutnOGMveHEPV7VQOuvI/gXY61bv+9bAOTRnLElKs= github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.0.0-beta.8/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= -github.com/pelletier/go-toml/v2 v2.0.0/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= github.com/pelletier/go-toml/v2 v2.0.2/go.mod h1:MovirKjgVRESsAvNZlAjtFwV867yGuwRkXbG66OzopI= -github.com/pelletier/go-toml/v2 v2.0.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg= github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= +github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= +github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/performancecopilot/speed/v4 v4.0.0/go.mod h1:qxrSyuDGrTOWfV+uKRFhfxw6h/4HXRGUiZiufxo49BM= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7 h1:oYW+YCJ1pachXTQmzR3rNLYGGz4g/UgFcjb28p/viDM= -github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= -github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= +github.com/petermattis/goid v0.0.0-20221215004737-a150e88a970d h1:htwtWgtQo8YS6JFWWi2DNgY0RwSGJ1ruMoxY6CUUclk= +github.com/petermattis/goid v0.0.0-20221215004737-a150e88a970d/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw= -github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= -github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= -github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= -github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pierrec/lz4 v2.4.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= +github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= +github.com/pjbgf/sha1cd v0.2.3/go.mod h1:HOK9QrgzdHpbc2Kzip0Q1yi3M2MFGPADtR6HjG65m5M= github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= @@ -1947,9 +2323,9 @@ github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qR github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/polyfloyd/go-errorlint v0.0.0-20210722154253-910bb7978349/go.mod h1:wi9BfjxjF/bwiZ701TzmfKu6UKC357IOAtNr0Td0Lvw= -github.com/polyfloyd/go-errorlint v1.0.0/go.mod h1:KZy4xxPJyy88/gldCe5OdW6OQRtNO3EZE7hXzmnebgA= -github.com/polyfloyd/go-errorlint v1.0.2/go.mod h1:APVvOesVSAnne5SClsPxPdfvZTVDojXh1/G3qb5wjGI= +github.com/pointlander/compress v1.1.1-0.20190518213731-ff44bd196cc3/go.mod h1:q5NXNGzqj5uPnVuhGkZfmgHqNUhf15VLi6L9kW0VEc0= +github.com/pointlander/jetset v1.0.1-0.20190518214125-eee7eff80bd4/go.mod h1:RdR1j20Aj5pB6+fw6Y9Ur7lMHpegTEjY1vc19hEZL40= +github.com/pointlander/peg v1.0.1/go.mod h1:5hsGDQR2oZI4QoWz0/Kdg3VSVEC31iJw/b7WjqCBGRI= github.com/polyfloyd/go-errorlint v1.0.5/go.mod h1:APVvOesVSAnne5SClsPxPdfvZTVDojXh1/G3qb5wjGI= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= @@ -1964,15 +2340,14 @@ github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5Fsn github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= -github.com/prometheus/client_golang v1.4.1/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.8.0/go.mod h1:O9VU6huf47PktckDQfMTX0Y8tY0/7TSWwj+ITvv0TnM= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_golang v1.12.2/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= +github.com/prometheus/client_golang v1.15.0 h1:5fCgGYogn0hFdhyhLbw7hEsWxufKtY9klyvdNfFlFhM= +github.com/prometheus/client_golang v1.15.0/go.mod h1:e9yaBhRPU2pPNsZwE+JdQl0KEt1N9XgF6zxWmaC0xOk= github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= @@ -1992,14 +2367,14 @@ github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.14.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.34.0/go.mod h1:gB3sOl7P0TvJabZpLY5uQMpUqRCPPCyRLCZYc7JZTNE= -github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= +github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM= +github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= @@ -2010,109 +2385,82 @@ github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsT github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/prometheus/procfs v0.0.10/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -github.com/prometheus/tsdb v0.6.2-0.20190402121629-4f204dcbc150/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= +github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/prometheus/tsdb v0.10.0 h1:If5rVCMTp6W2SiRAQFlbpJNgVlgMEd+U2GZckwK38ic= -github.com/prometheus/tsdb v0.10.0/go.mod h1:oi49uRhEe9dPUTlS3JRZOwJuVi6tmh10QSgwXEyGCt4= github.com/pseudomuto/protoc-gen-doc v1.3.2/go.mod h1:y5+P6n3iGrbKG+9O04V5ld71in3v/bX88wUwgt+U8EA= github.com/pseudomuto/protokit v0.2.0/go.mod h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q= github.com/quasilyte/go-consistent v0.0.0-20190521200055-c6f3937de18c/go.mod h1:5STLWrekHfjyYwxBRVRXNOSewLJ3PWfDJd1VyTS21fI= github.com/quasilyte/go-ruleguard v0.1.2-0.20200318202121-b00d7a75d3d8/go.mod h1:CGFX09Ci3pq9QZdj86B+VGIdNj4VyCo2iPOGS9esB/k= github.com/quasilyte/go-ruleguard v0.3.1-0.20210203134552-1b5a410e1cc8/go.mod h1:KsAh3x0e7Fkpgs+Q9pNLS5XpFSvYCEVl5gP9Pp1xp30= -github.com/quasilyte/go-ruleguard v0.3.13/go.mod h1:Ul8wwdqR6kBVOCt2dipDBkE+T6vAV/iixkrKuRTN1oQ= -github.com/quasilyte/go-ruleguard v0.3.16-0.20220213074421-6aa060fab41a/go.mod h1:VMX+OnnSw4LicdiEGtRSD/1X8kW7GuEscjYNr4cOIT4= -github.com/quasilyte/go-ruleguard v0.3.17/go.mod h1:sST5PvaR7yb/Az5ksX8oc88usJ4EGjmJv7cK7y3jyig= github.com/quasilyte/go-ruleguard v0.3.18/go.mod h1:lOIzcYlgxrQ2sGJ735EHXmf/e9MJ516j16K/Ifcttvs= github.com/quasilyte/go-ruleguard/dsl v0.3.0/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= -github.com/quasilyte/go-ruleguard/dsl v0.3.10/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= -github.com/quasilyte/go-ruleguard/dsl v0.3.16/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= -github.com/quasilyte/go-ruleguard/dsl v0.3.19/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= github.com/quasilyte/go-ruleguard/dsl v0.3.21/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= github.com/quasilyte/go-ruleguard/rules v0.0.0-20201231183845-9e62ed36efe1/go.mod h1:7JTjp89EGyU1d6XfBiXihJNG37wB2VRkd125Q1u7Plc= -github.com/quasilyte/go-ruleguard/rules v0.0.0-20210428214800-545e0d2e0bf7/go.mod h1:4cgAphtvu7Ftv7vOT2ZOYhC6CvBxZixcasr8qIOTA50= github.com/quasilyte/go-ruleguard/rules v0.0.0-20211022131956-028d6511ab71/go.mod h1:4cgAphtvu7Ftv7vOT2ZOYhC6CvBxZixcasr8qIOTA50= -github.com/quasilyte/gogrep v0.0.0-20220120141003-628d8b3623b5/go.mod h1:wSEyW6O61xRV6zb6My3HxrQ5/8ke7NE2OayqCHa3xRM= github.com/quasilyte/gogrep v0.0.0-20220828223005-86e4605de09f/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng= github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ= github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/rcrowley/go-metrics v0.0.0-20190826022208-cac0b30c2563/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -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/regen-network/gocuke v0.6.2 h1:pHviZ0kKAq2U2hN2q3smKNxct6hS0mGByFMHGnWA97M= +github.com/regen-network/gocuke v0.6.2/go.mod h1:zYaqIHZobHyd0xOrHGPQjbhGJsuZ1oElx150u2o1xuk= github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M= github.com/remyoudompheng/go-dbus v0.0.0-20121104212943-b7232d34b1d5/go.mod h1:+u151txRmLpwxBmpYn9z3d1sdJdjRPQpsXuYeY9jNls= github.com/remyoudompheng/go-liblzma v0.0.0-20190506200333-81bf2d431b96/go.mod h1:90HvCY7+oHHUKkbeMCiHt1WuFR2/hPJ9QrljDG+v6ls= github.com/remyoudompheng/go-misc v0.0.0-20190427085024-2d6ac652a50e/go.mod h1:80FQABjoFzZ2M5uEa6FUaJYEmqU2UOKojlFVak1UAwI= -github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho= -github.com/rjeczalik/notify v0.9.2 h1:MiTWrPj55mNDHEiIX5YUSKefw/+lCQVoAFmD6oQm5w8= -github.com/rjeczalik/notify v0.9.2/go.mod h1:aErll2f0sUX9PXZnVNyeiObbmTlk5jnMoCa4QEjJeqM= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.1.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.5.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.6.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/xhandler v0.0.0-20160618193221-ed27b6fd6521/go.mod h1:RvLn4FgxWubrpZHtQLnOf6EwhN2hEMusxZOhcW9H3UQ= +github.com/rs/cors v1.8.3 h1:O+qNyWn7Z+F9M0ILBHgMVPuB1xTOucVd5gtaYyXBpRo= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.23.0/go.mod h1:6c7hFfxPOy7TacJc4Fcdi24/J0NKYGzjG8FWRI916Qo= -github.com/rs/zerolog v1.27.0 h1:1T7qCieN22GVc8S4Q2yuexzBb1EqjbgjSH9RohbMjKs= github.com/rs/zerolog v1.27.0/go.mod h1:7frBqO0oezxmnO7GF86FY++uy8I0Tk/If5ni1G9Qc0U= github.com/rubiojr/go-vhd v0.0.0-20160810183302-0bfd3b39853c/go.mod h1:DM5xW0nvfNNm2uytzsvhI3OnX8uzaRAg8UX/CnDqbto= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= -github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= github.com/ryancurrah/gomodguard v1.0.4/go.mod h1:9T/Cfuxs5StfsocWr4WzDL36HqnX0fVb9d5fSEaLhoE= github.com/ryancurrah/gomodguard v1.1.0/go.mod h1:4O8tr7hBODaGE6VIhfJDHcwzh5GUccKSJBU0UMXJFVM= -github.com/ryancurrah/gomodguard v1.2.3/go.mod h1:rYbA/4Tg5c54mV1sv4sQTP5WOPBcoLtnBZ7/TEhXAbg= github.com/ryancurrah/gomodguard v1.2.4/go.mod h1:+Kem4VjWwvFpUJRJSwa16s1tBJe+vbv02+naTow2f6M= github.com/ryanrolds/sqlclosecheck v0.3.0/go.mod h1:1gREqxyTGR3lVtpngyFo3hZAgk0KCtEdgEkHwDbigdA= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= -github.com/sagikazarmark/crypt v0.1.0/go.mod h1:B/mN0msZuINBtQ1zZLEQcegFJJf9vnYIR88KRMEuODE= github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig= -github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM= -github.com/sagikazarmark/crypt v0.5.0/go.mod h1:l+nzl7KWh51rpzp2h7t4MZWyiEWdhNpOAnclKvg+mdA= github.com/sagikazarmark/crypt v0.6.0/go.mod h1:U8+INwJo3nBv1m6A/8OBXAq7Jnpspk5AxSgDyEQcea8= github.com/sagikazarmark/crypt v0.8.0/go.mod h1:TmKwZAo97S4Fy4sfMH/HX/cQP5D+ijra2NyLpNNmttY= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sanposhiho/wastedassign/v2 v2.0.6/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= -github.com/sasha-s/go-deadlock v0.2.0/go.mod h1:StQn567HiB1fF2yJ44N9au7wOhrPS3iZqiDbRupzT10= -github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71efZx0= github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ= github.com/sashamelentyev/usestdlibvars v1.20.0/go.mod h1:0GaP+ecfZMXShS0A94CJn6aEuPRILv8h/VuWI9n1ygg= github.com/sassoftware/go-rpmutils v0.0.0-20190420191620-a8f1baeba37b/go.mod h1:am+Fp8Bt506lA3Rk3QCmSqmYmLMnPDhdDUcosQCAx+I= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g= github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= github.com/sclevine/spec v1.2.0/go.mod h1:W4J29eT/Kzv7/b9IWLB055Z+qvVC9vt0Arko24q7p+U= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= @@ -2122,26 +2470,26 @@ github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646/go.mod github.com/securego/gosec v0.0.0-20200103095621-79fbf3af8d83/go.mod h1:vvbZ2Ae7AzSq3/kywjUDxSNq2SJ27RxCz2un0H3ePqE= github.com/securego/gosec v0.0.0-20200401082031-e946c8c39989/go.mod h1:i9l/TNj+yDFh9SZXUTvspXTjbFXgZGP/UvhU1S65A4A= github.com/securego/gosec/v2 v2.3.0/go.mod h1:UzeVyUXbxukhLeHKV3VVqo7HdoQR9MrRfFmZYotn8ME= -github.com/securego/gosec/v2 v2.9.1/go.mod h1:oDcDLcatOJxkCGaCaq8lua1jTnYf6Sou4wdiJ1n4iHc= -github.com/securego/gosec/v2 v2.11.0/go.mod h1:SX8bptShuG8reGC0XS09+a4H2BoWSJi+fscA+Pulbpo= github.com/securego/gosec/v2 v2.13.1/go.mod h1:EO1sImBMBWFjOTFzMWfTRrZW6M15gm60ljzrmy/wtHo= -github.com/segmentio/fasthash v1.0.3/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/serialx/hashring v0.0.0-20190422032157-8b2912629002/go.mod h1:/yeG0My1xr/u+HZrFQ1tOQQQQrOawfyMUH13ai5brBc= github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= github.com/shirou/gopsutil v0.0.0-20190901111213-e4ec7b275ada/go.mod h1:WWnYX4lzhCH5h/3YBfyVA3VbLYjlMZZAQcW9ojMexNc= -github.com/shirou/gopsutil v2.20.5+incompatible h1:tYH07UPoQt0OCQdgWWMgYHy3/a9bcxNpBIysykNIP7I= -github.com/shirou/gopsutil v2.20.5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= -github.com/shirou/gopsutil/v3 v3.21.10/go.mod h1:t75NhzCZ/dYyPQjyQmrAYP6c8+LCdFANeBMdLPCNnew= -github.com/shirou/gopsutil/v3 v3.22.4/go.mod h1:D01hZJ4pVHPpCTZ3m3T2+wDF2YAGfd+H4ifUguaQzHM= +github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible h1:Bn1aCHHRnjv4Bl16T8rcaFjYSrGrIZvpiGO6P3Q4GpU= +github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/shirou/gopsutil/v3 v3.22.8/go.mod h1:s648gW4IywYzUfE/KjXxUsqrqx/T2xO5VqOXxONeRfI= github.com/shirou/gopsutil/v3 v3.22.9/go.mod h1:bBYl1kjgEJpWpxeHmLI+dVHWtyAwfcmSBLDsp2TNT8A= github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc= github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= +github.com/shurcooL/go v0.0.0-20200502201357-93f07166e636/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= +github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= @@ -2154,14 +2502,16 @@ github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0 github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/sivchari/containedctx v1.0.2/go.mod h1:PwZOeqm4/DLoJOqMSIJs3aKqXRX4YO+uXww087KZ7Bw= github.com/sivchari/nosnakecase v1.7.0/go.mod h1:CwDzrzPea40/GB6uynrNLiorAlgFRvRbFSgJx2Gs+QY= -github.com/sivchari/tenv v1.4.7/go.mod h1:5nF+bITvkebQVanjU6IuMbvIot/7ReNsUV7I5NbprB0= -github.com/sivchari/tenv v1.5.0/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg= github.com/sivchari/tenv v1.7.0/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg= +github.com/skeema/knownhosts v1.1.0/go.mod h1:sKFq3RD6/TKZkSWn8boUbDC7Qkgcv+8XXijpFO6roag= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/assertions v1.0.0/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM= +github.com/smartystreets/assertions v1.2.0/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo= +github.com/smartystreets/assertions v1.13.0/go.mod h1:wDmR7qL282YbGsPy6H/yAsesrxfxaaSlJazyFLYVFx8= github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9/go.mod h1:SnhjPscd9TpLiy1LpzGSKh3bXCfxxXuqd9xmQJy3slM= github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/smartystreets/goconvey v1.7.2/go.mod h1:Vw0tHAZW6lzCRk3xgdin6fKYcG+G3Pg9vgXWeJpQFMM= github.com/smartystreets/gunit v1.0.0/go.mod h1:qwPWnhz6pn0NnRBP++URONOVyNkPyr4SauJk4cUOwJs= github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa/go.mod h1:oJyF+mSPHbB5mVY2iO9KV3pTt/QbIkGaO8gQ2WrDbP4= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= @@ -2179,25 +2529,27 @@ github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTd github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= -github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= +github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= +github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= +github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= github.com/spf13/cobra v1.3.0/go.mod h1:BrRVncBjOJa/eUcVVm9CE+oC6as8k+VYr4NY7WCi9V4= github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM= -github.com/spf13/cobra v1.6.0 h1:42a0n6jwCot1pUmomAp4T7DeMD+20LFv4Q54pxLf2LI= github.com/spf13/cobra v1.6.0/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= @@ -2211,26 +2563,16 @@ github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.6.1/go.mod h1:t3iDnF5Jlj76alVNuyFBk5oUMCvsrkbvZK0WQdfDi5k= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.8.0/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/spf13/viper v1.9.0/go.mod h1:+i6ajR7OX2XaiBkrcZJFK21htRk7eDeLg7+O6bhUPP4= github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM= -github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU= -github.com/spf13/viper v1.11.0/go.mod h1:djo0X/bA5+tYVoCn+C7cAYJGcVn/qYLFTG8gdUsX7Zk= github.com/spf13/viper v1.12.0/go.mod h1:b6COn30jlNxbm/V2IqWiNWkJ+vZNiMNksliPCiuKtSI= github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw= -github.com/spf13/viper v1.14.0 h1:Rg7d3Lo706X9tHsJMUjdiwMpHB7W8WnSVOssIY+JElU= github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= +github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU= +github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA= github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= -github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= -github.com/status-im/keycard-go v0.0.0-20200402102358-957c09536969 h1:Oo2KZNP70KE0+IUJSidPj/BFS/RXNHmKIJOdckzml2E= -github.com/status-im/keycard-go v0.0.0-20200402102358-957c09536969/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= +github.com/status-im/keycard-go v0.2.0 h1:QDLFswOQu1r5jsycloeQh3bVU8n/NatHHaZobtDnDzA= github.com/stbenjam/no-sprintf-host-port v0.1.1/go.mod h1:TLhvtIvONRzdmkFiio4O8LHsN9N74I+PhRquPsxpL0I= -github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570 h1:gIlAHnH1vJb5vwEjIp5kBj/eu99p/bl0Ay2goiPe5xE= -github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw= -github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3 h1:njlZPzLwU639dk2kqnCPPv+wNjq7Xb6EfUxe/oX0/NM= -github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU= github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= @@ -2250,6 +2592,7 @@ github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRci github.com/stretchr/testify v0.0.0-20170130113145-4d4bfba8f1d1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.1.4/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -2260,19 +2603,19 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/subosito/gotenv v1.3.0/go.mod h1:YzJjq/33h7nrwdY+iHMhEOEEbW0ovIz0tB6t6PwAXzs= github.com/subosito/gotenv v1.4.0/go.mod h1:mZd6rFysKEcUhUHXJk0C/08wAgyDBFuwEYL7vWWGaGo= -github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= -github.com/sylvia7788/contextcheck v1.0.4/go.mod h1:vuPKJMQ7MQ91ZTqfdyreNKwZjyUg6KO+IebVyQDedZQ= -github.com/sylvia7788/contextcheck v1.0.6/go.mod h1:9XDxwvxyuKD+8N+a7Gs7bfWLityh5t70g/GjdEt2N2M= +github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= +github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= @@ -2280,67 +2623,42 @@ github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ github.com/tdakkota/asciicheck v0.0.0-20200416190851-d7f85be797a2/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= github.com/tdakkota/asciicheck v0.0.0-20200416200610-e657995f937b/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= github.com/tdakkota/asciicheck v0.1.1/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= +github.com/tdewolff/minify/v2 v2.12.1/go.mod h1:p5pwbvNs1ghbFED/ZW1towGsnnWwzvM8iz8l0eURi9g= +github.com/tdewolff/minify/v2 v2.12.4/go.mod h1:h+SRvSIX3kwgwTFOpSckvSxgax3uy8kZTSF1Ojrr3bk= +github.com/tdewolff/parse/v2 v2.6.3/go.mod h1:woz0cgbLwFdtbjJu8PIKxhW05KplTFQkOdX78o+Jgrs= +github.com/tdewolff/parse/v2 v2.6.4/go.mod h1:woz0cgbLwFdtbjJu8PIKxhW05KplTFQkOdX78o+Jgrs= +github.com/tdewolff/test v1.0.7/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= +github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c h1:g+WoO5jjkqGAzHWCjJB1zZfXPIAaDpzXIEJ0eS6B5Ok= github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= -github.com/templexxx/cpufeat v0.0.0-20180724012125-cef66df7f161/go.mod h1:wM7WEvslTq+iOEAMDLSzhVuOt5BRZ05WirO+b09GHQU= -github.com/templexxx/xor v0.0.0-20191217153810-f85b25db303b/go.mod h1:5XA7W9S6mni3h5uvOC75dA3m9CCCaS83lltmc0ukdi4= -github.com/tendermint/btcd v0.1.1 h1:0VcxPfflS2zZ3RiOAHkBiFUcPvbtRj5O7zHmcJWHV7s= -github.com/tendermint/btcd v0.1.1/go.mod h1:DC6/m53jtQzr/NFmMNEu0rxf18/ktVoVtMrnDD5pN+U= -github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 h1:hqAk8riJvK4RMWx1aInLzndwxKalgi5rTqgfXxOxbEI= -github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15/go.mod h1:z4YtwM70uOnk8h0pjJYlj3zdYwi9l03By6iAIF5j/Pk= github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E= github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= -github.com/tendermint/tendermint v0.34.0-rc4/go.mod h1:yotsojf2C1QBOw4dZrTcxbyxmPUrT4hNuOQWX9XUwB4= -github.com/tendermint/tendermint v0.34.0-rc6/go.mod h1:ugzyZO5foutZImv0Iyx/gOFCX6mjJTgbLHTwi17VDVg= -github.com/tendermint/tendermint v0.34.0/go.mod h1:Aj3PIipBFSNO21r+Lq3TtzQ+uKESxkbA3yo/INM4QwQ= -github.com/tendermint/tendermint v0.34.11/go.mod h1:aeHL7alPh4uTBIJQ8mgFEE8VwJLXI1VD3rVOmH2Mcy0= -github.com/tendermint/tendermint v0.34.14/go.mod h1:FrwVm3TvsVicI9Z7FlucHV6Znfd5KBc/Lpp69cCwtk0= -github.com/tendermint/tendermint v0.34.19/go.mod h1:R5+wgIwSxMdKQcmOaeudL0Cjkr3HDkhpcdum6VeU3R4= -github.com/tendermint/tendermint v0.34.20/go.mod h1:KtOwCLYJcsS1ymtAfnjjAtXfXClbqcqjdqzFt2Em1Ac= -github.com/tendermint/tendermint v0.34.22/go.mod h1:YpP5vBEAKUT4g6oyfjKgFeZmdB/GjkJAxfF+cgmJg6Y= -github.com/tendermint/tendermint v0.34.23 h1:JZYsdc59aOiT5efou+BHILJv8x6FlRyvlor84Xq9Tb0= -github.com/tendermint/tendermint v0.34.23/go.mod h1:rXVrl4OYzmIa1I91av3iLv2HS0fGSiucyW9J4aMTpKI= -github.com/tendermint/tm-db v0.6.2/go.mod h1:GYtQ67SUvATOcoY8/+x6ylk8Qo02BQyLrAs+yAcLvGI= -github.com/tendermint/tm-db v0.6.3/go.mod h1:lfA1dL9/Y/Y8wwyPp2NMLyn5P5Ptr/gvDFNWtrCWSf8= -github.com/tendermint/tm-db v0.6.4/go.mod h1:dptYhIpJ2M5kUuenLr+Yyf3zQOv1SgBZcl8/BmWlMBw= -github.com/tendermint/tm-db v0.6.6/go.mod h1:wP8d49A85B7/erz/r4YbKssKw6ylsO/hKtFk7E1aWZI= -github.com/tendermint/tm-db v0.6.7 h1:fE00Cbl0jayAoqlExN6oyQJ7fR/ZtoVOmvPJ//+shu8= -github.com/tendermint/tm-db v0.6.7/go.mod h1:byQDzFkZV1syXr/ReXS808NxA2xvyuuVgXOJ/088L6I= github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0= github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY= github.com/tetafro/godot v0.3.7/go.mod h1:/7NLHhv08H1+8DNj0MElpAACw1ajsCuf3TKNQxA5S+0= github.com/tetafro/godot v0.4.2/go.mod h1:/7NLHhv08H1+8DNj0MElpAACw1ajsCuf3TKNQxA5S+0= github.com/tetafro/godot v1.4.11/go.mod h1:LR3CJpxDVGlYOWn3ZZg1PgNZdTUvzsZWu8xaEohUpn8= -github.com/tidwall/gjson v1.6.7/go.mod h1:zeFuBCIqD4sN/gmqBzZ4j7Jd6UcA2Fc56x7QFsv+8fI= -github.com/tidwall/match v1.0.3/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= -github.com/tidwall/pretty v1.0.2/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/tidwall/sjson v1.1.4/go.mod h1:wXpKXu8CtDjKAZ+3DrKY5ROCorDFahq8l0tey/Lx1fg= +github.com/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg= +github.com/tidwall/btree v1.6.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= github.com/timakin/bodyclose v0.0.0-20190930140734-f7f2e9bca95e/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= github.com/timakin/bodyclose v0.0.0-20200424151742-cb6215831a94/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= github.com/timonwong/loggercheck v0.9.3/go.mod h1:wUqnk9yAOIKtGA39l1KLE9Iz0QiTocu/YZoOf+OzFdw= -github.com/tinylib/msgp v1.1.5/go.mod h1:eQsjooMTnV42mHu917E26IogZ2930nFyBQdofk10Udg= github.com/tj/assert v0.0.0-20171129193455-018094318fb0/go.mod h1:mZ9/Rh9oLWpLLDRpvE+3b7gP/C2YyLFYxNmcLnPTMe0= github.com/tj/go-elastic v0.0.0-20171221160941-36157cbbebc2/go.mod h1:WjeM0Oo1eNAjXGDx2yma7uG2XoyRZTq1uv3M/o7imD0= github.com/tj/go-kinesis v0.0.0-20171128231115-08b17f58cb1b/go.mod h1:/yhzCV0xPfx6jb1bBgRFjl5lytqVqZXEaeqWP8lTEao= github.com/tj/go-spin v1.1.0/go.mod h1:Mg1mzmePZm4dva8Qz60H2lHwmJ2loum4VIrLgVnKwh4= -github.com/tjfoc/gmsm v1.3.0/go.mod h1:HaUcFuY0auTiaHB9MHFGCPx5IaLhTUd2atbCFBQXn9w= -github.com/tklauser/go-sysconf v0.3.9/go.mod h1:11DU/5sG7UexIrp/O6g35hrWzu0JxlwQ3LSFUzyeuhs= +github.com/tklauser/go-sysconf v0.3.10 h1:IJ1AZGZRWbY8T5Vfk04D9WOA5WSejdflXxP03OUqALw= github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk= -github.com/tklauser/numcpus v0.3.0/go.mod h1:yFGUr7TUHQRAhyqBcEg0Ge34zDBAsIvJJcyE6boqnA8= +github.com/tklauser/numcpus v0.4.0 h1:E53Dm1HjH1/R2/aoCtXtPgzmElmn51aOkhCFSuZq//o= github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20200427203606-3cfed13b9966/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tomarrell/wrapcheck/v2 v2.4.0/go.mod h1:68bQ/eJg55BROaRTbMjC7vuhL2OgfoG8bLp9ZyoBfyY= -github.com/tomarrell/wrapcheck/v2 v2.6.1/go.mod h1:Eo+Opt6pyMW1b6cNllOcDSSoHO0aTJ+iF6BfCUbHltA= -github.com/tomarrell/wrapcheck/v2 v2.6.2/go.mod h1:ao7l5p0aOlUNJKI0qVwB4Yjlqutd0IvAB9Rdwyilxvg= github.com/tomarrell/wrapcheck/v2 v2.7.0/go.mod h1:ao7l5p0aOlUNJKI0qVwB4Yjlqutd0IvAB9Rdwyilxvg= github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce/go.mod h1:o8v6yHRoik09Xen7gje4m9ERNah1d1PPsVq1VEx9vE4= github.com/tommy-muehle/go-mnd v1.1.1/go.mod h1:dSUh0FtTP8VhvkL1S+gUR1OKd9ZnSaozuI6r3m6wOig= github.com/tommy-muehle/go-mnd v1.3.1-0.20200224220436-e6f9a994e8fa/go.mod h1:dSUh0FtTP8VhvkL1S+gUR1OKd9ZnSaozuI6r3m6wOig= -github.com/tommy-muehle/go-mnd/v2 v2.4.0/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= -github.com/tommy-muehle/go-mnd/v2 v2.5.0/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= github.com/tommy-muehle/go-mnd/v2 v2.5.1/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= github.com/tonistiigi/fsutil v0.0.0-20201103201449-0834f99b7b85/go.mod h1:a7cilN64dG941IOXfhJhlH0qB92hxJ9A1ewrdUmJ6xo= github.com/tonistiigi/fsutil v0.0.0-20220115021204-b19f7f9cb274/go.mod h1:oPAfvw32vlUJSjyDcQ3Bu0nb2ON2B+G0dtVN/SZNJiA= @@ -2348,20 +2666,23 @@ github.com/tonistiigi/go-actions-cache v0.0.0-20220404170428-0bdeb6e1eac7/go.mod github.com/tonistiigi/go-archvariant v1.0.0/go.mod h1:TxFmO5VS6vMq2kvs3ht04iPXtu2rUT/erOnGFYfk5Ho= github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea/go.mod h1:WPnis/6cRcDZSUvVmezrxJPkiO87ThFYsoUiMwWNDJk= github.com/tonistiigi/vt100 v0.0.0-20210615222946-8066bb97264f/go.mod h1:ulncasL3N9uLrVann0m+CDlJKWsIAP34MPcOJF6VRvc= -github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31/go.mod h1:onvgF043R+lC5RZ8IT9rBXDaEDnpnw/Cl+HFiw+v/7Q= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= -github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= -github.com/tyler-smith/go-bip39 v1.0.2 h1:+t3w+KwLXO6154GNJY+qUtIxLTmFjfUmpguQT1OlOT8= -github.com/tyler-smith/go-bip39 v1.0.2/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= +github.com/tyler-smith/go-bip39 v1.1.0 h1:5eUemwrMargf3BSLRRCalXT93Ns6pQJIjYQN2nyfOP8= +github.com/tyler-smith/go-bip39 v1.1.0/go.mod h1:gUYDtqQw1JS3ZJ8UWVcGTGqqr6YIN3CWg+kkNaLt55U= github.com/uber/jaeger-client-go v2.25.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= github.com/ulikunitz/xz v0.5.6/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= github.com/ulikunitz/xz v0.5.7/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= +github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ultraware/funlen v0.0.2/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= github.com/ultraware/whitespace v0.0.4/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= @@ -2370,13 +2691,19 @@ github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.4 h1:u7tSpNPPswAFymm8IehJhy4uJMlUuU/GmqSkvJ1InXA= github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli/v2 v2.17.2-0.20221006022127-8f469abc00aa h1:5SqCsI/2Qya2bCzK15ozrqo2sZxkh0FHynJZOTVoV6Q= +github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= github.com/uudashr/gocognit v1.0.1/go.mod h1:j44Ayx2KW4+oB6SWMv8KsmHzZrOInQav7D3cQMJ5JUM= -github.com/uudashr/gocognit v1.0.5/go.mod h1:wgYz0mitoKOTysqxTDMOUXg+Jb5SvtihkfmugIZYpEA= github.com/uudashr/gocognit v1.0.6/go.mod h1:nAIUuVBnYU7pcninia3BHOvQkpQCeO76Uscky5BOwcY= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasthttp v1.2.0/go.mod h1:4vX61m6KN+xDduDNwXrhIAVZaZaZiQ1luJk8LWSxF3s= +github.com/valyala/fasthttp v1.6.0/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w= github.com/valyala/fasthttp v1.30.0/go.mod h1:2rsYD01CKFrjjsvFxx75KlEUNpWNBY9JWD3K/7o2Cus= +github.com/valyala/fasthttp v1.40.0/go.mod h1:t/G+3rLek+CyY9bnIE+YlMRddxVAAGjhxndDB4i4C0I= +github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= +github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= github.com/valyala/quicktemplate v1.2.0/go.mod h1:EH+4AkTd43SvgIbQHYu59/cJyxDoOVRUAfrukLPuGJ4= github.com/valyala/quicktemplate v1.7.0/go.mod h1:sqKJnoaOF88V07vkO+9FL8fb9uZg/VPSJnLYn+LmLk8= github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= @@ -2393,17 +2720,14 @@ github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmF github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= -github.com/vmihailenco/msgpack/v5 v5.1.4/go.mod h1:C5gboKD0TJPqWDTVTtrQNfRbiBwHZGo8UTqP/9/XvLI= -github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= +github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= +github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= github.com/vmware/govmomi v0.20.3/go.mod h1:URlwyTFZX72RmxtxuaFL2Uj3fD1JTvZdx59bHWk6aFU= github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= -github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208 h1:1cngl9mPEoITZG8s8cVcUy5CeIBYhEESkOB7m6Gmkrk= -github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees= github.com/xanzy/go-gitlab v0.31.0/go.mod h1:sPLojNBn68fMUWSxIJtdVVIP8uSBYqesTfDUseX11Ug= github.com/xanzy/go-gitlab v0.32.0/go.mod h1:sPLojNBn68fMUWSxIJtdVVIP8uSBYqesTfDUseX11Ug= -github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= -github.com/xdg/stringprep v1.0.0/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= +github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= @@ -2413,12 +2737,11 @@ github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMx github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod h1:2MuV+tbUrU1zIOPMxZ5EncGwgmMJsa+9ucAQZXxsObs= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/xtaci/kcp-go v5.4.20+incompatible/go.mod h1:bN6vIwHQbfHaHtFpEssmWsN45a+AZwO7eyRCmEIbtvE= -github.com/xtaci/lossyconn v0.0.0-20190602105132-8df528c0c9ae/go.mod h1:gXtu8J62kEgmN++bm9BVICuT/e8yiLI2KFobd/TRFsE= +github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk= -github.com/ybbus/jsonrpc v2.1.2+incompatible/go.mod h1:XJrh1eMSzdIYFbM08flv0wp5G35eRniyeGut1z+LSiE= -github.com/yeya24/promlinter v0.1.0/go.mod h1:rs5vtZzeBHqqMwXqFScncpCF6u06lezhZepno9AB1Oc= +github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0/go.mod h1:/LWChgwKmvncFJFHJ7Gvn9wZArjbV5/FppcK2fKk/tI= github.com/yeya24/promlinter v0.2.0/go.mod h1:u54lkmBOZrpEbQQ6gox2zWKKLKu2SGe+2KOiextY+IA= +github.com/yosssi/ace v0.0.5/go.mod h1:ALfIzm2vT7t5ZE7uoIZqF3TQ7SAOyupFZnkrF5id+K0= github.com/yudai/gojsondiff v1.0.0/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg= github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM= github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc= @@ -2434,32 +2757,32 @@ github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQ github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= -github.com/zondax/hid v0.9.0 h1:eiT3P6vNxAEVxXMw66eZUAAnU2zD33JBkfG/EnfAKl8= -github.com/zondax/hid v0.9.0/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= -gitlab.com/bosi/decorder v0.2.1/go.mod h1:6C/nhLSbF6qZbYD8bRmISBwc6vcWdNsiIBkRvjJFrH0= +github.com/zondax/hid v0.9.1 h1:gQe66rtmyZ8VeGFcOpbuH3r7erYtNEAezCAYu8LdkJo= +github.com/zondax/hid v0.9.1/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= +github.com/zondax/ledger-go v0.14.0/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= +github.com/zondax/ledger-go v0.14.1 h1:Pip65OOl4iJ84WTpA4BKChvOufMhhbxED3BaihoZN4c= +github.com/zondax/ledger-go v0.14.1/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= gitlab.com/bosi/decorder v0.2.3/go.mod h1:9K1RB5+VPNQYtXtTDAzd2OEftsZb1oV0IrJrzChSdGE= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= -go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ= +go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= go.etcd.io/etcd v0.0.0-20200513171258-e048e166ab9c/go.mod h1:xCI7ZzBfRuGgBXyXO6yfWfDmlWd35khcWpUa4L0xI/k= go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/api/v3 v3.5.2/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A= go.etcd.io/etcd/api/v3 v3.5.4/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A= go.etcd.io/etcd/api/v3 v3.5.5/go.mod h1:KFtNaxGDw4Yx/BA4iPPwevUTAuqcsPxzyX8PHydchN8= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/pkg/v3 v3.5.2/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/pkg/v3 v3.5.4/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/pkg/v3 v3.5.5/go.mod h1:ggrwbk069qxpKPq8/FKkQ3Xq9y39kbFR4LnKszpRXeQ= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs= -go.etcd.io/etcd/client/v2 v2.305.2/go.mod h1:2D7ZejHVMIfog1221iLSYlQRzrtECw3kz4I4VAQm3qI= go.etcd.io/etcd/client/v2 v2.305.4/go.mod h1:Ud+VUwIi9/uQHOMA+4ekToJ12lTxlv0zB/+DHwTGEbU= go.etcd.io/etcd/client/v2 v2.305.5/go.mod h1:zQjKllfqfBVyVStbt4FaosoX2iYd8fV/GRy/PbowgP4= go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= @@ -2468,6 +2791,7 @@ go.etcd.io/etcd/client/v3 v3.5.5/go.mod h1:aApjR4WGlSumpnJ2kloS75h6aHUmAyaPLjHMx go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= +go.etcd.io/gofail v0.1.0/go.mod h1:VZBCXYGZhHAinaBiiqYvuDynvahNsAyLFwB3kEHKz1M= go.mozilla.org/mozlog v0.0.0-20170222151521-4bb13139d403/go.mod h1:jHoPAGnDrCy6kaI2tAze5Prf0Nr0w/oNkROt2lw3n3o= go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= go.opencensus.io v0.15.0/go.mod h1:UffZAU+4sDEINUGP/B7UfBBkq4fqLu9zXAX7ke6CHW0= @@ -2483,11 +2807,13 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= 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 v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.28.0/go.mod h1:vEhqr0m4eTc+DWxfsXoXue2GBgV2uUwVznkGIHW/e5w= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.29.0/go.mod h1:LsankqVDx4W+RhZNA5uWarULII/MBhF5qwCYxTuyXjs= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.34.0/go.mod h1:fk1+icoN47ytLSgkoWHLJrtVTSQ+HgmkNgPTKrk/Nsc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.33.0/go.mod h1:y/SlJpJQPd2UzfBCj0E9Flk9FDCtTyqUmaCB41qFrWI= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3/go.mod h1:Dts42MGkzZne2yCru741+bFiTMWkIj/LLRizad7b9tw= go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.29.0/go.mod h1:vHItvsnJtp7ES++nFLLFBzUWny7fJQSvTlxFcqQGUr4= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= @@ -2496,7 +2822,7 @@ go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzox go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs= go.opentelemetry.io/otel v1.4.0/go.mod h1:jeAqMFKy2uLIxCtKxoFj0FAL5zAPKQagc3+GtBWakzk= go.opentelemetry.io/otel v1.4.1/go.mod h1:StM6F/0fSwpd8dKWDCdRr7uRvEPYdW0hBSlbdTiUde4= -go.opentelemetry.io/otel v1.9.0/go.mod h1:np4EoPGzoPs3O67xUVNoPPcmSvsfOxNlNA4F4AC+0Eo= +go.opentelemetry.io/otel v1.8.0/go.mod h1:2pkj+iMj0o03Y+cW6/m8Y4WkRdYN3AvCXCnzRMp9yvM= go.opentelemetry.io/otel v1.11.0/go.mod h1:H2KtuEphyMvlhZ+F7tg9GRhAOe60moNx61Ex+WmiKkk= go.opentelemetry.io/otel/exporters/jaeger v1.4.1/go.mod h1:ZW7vkOu9nC1CxsD8bHNHCia5JUbwP39vxgd1q4Z5rCI= go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= @@ -2511,7 +2837,6 @@ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.4.1/go.mod h1 go.opentelemetry.io/otel/internal/metric v0.27.0/go.mod h1:n1CVxRqKqYZtqyTh9U/onvKapPGv7y/rpyOTI+LFNzw= go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= go.opentelemetry.io/otel/metric v0.27.0/go.mod h1:raXDJ7uP2/Jc0nVZWQjJtzoyssOYWu/+pjZqRzfvZ7g= -go.opentelemetry.io/otel/metric v0.32.3/go.mod h1:pgiGmKohxHyTPHGOff+vrtIH39/R9fiO/WoenUQ3kcc= go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs= @@ -2522,11 +2847,12 @@ go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16g go.opentelemetry.io/otel/trace v1.3.0/go.mod h1:c/VDhno8888bvQYmbYLqe41/Ldmr/KKunbvWM4/fEjk= go.opentelemetry.io/otel/trace v1.4.0/go.mod h1:uc3eRsqDfWs9R7b92xbQbU42/eTNz4N+gLP8qJCi4aE= go.opentelemetry.io/otel/trace v1.4.1/go.mod h1:iYEVbroFCNut9QkwEczV9vMRPHNKSSwYZjulEtsmhFc= -go.opentelemetry.io/otel/trace v1.9.0/go.mod h1:2737Q0MuG8q1uILYm2YYVkAyLtOofiTNGg6VODnOiPo= +go.opentelemetry.io/otel/trace v1.8.0/go.mod h1:0Bt3PXY8w+3pheS3hQUt+wow8b1ojPaTBoTCh2zIFI4= go.opentelemetry.io/otel/trace v1.11.0/go.mod h1:nyYjis9jy0gytE9LXGU+/m1sHTKbRY0fX0hulNNDP1U= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opentelemetry.io/proto/otlp v0.11.0/go.mod h1:QpEjXPrNQzrFDZgoTo49dgHR9RYRSrg3NAKnUGl9YpQ= go.opentelemetry.io/proto/otlp v0.12.0/go.mod h1:TsIjwGWIx5VFYv9KGVlOpxoBl5Dy+63SUguV7GGvlSQ= +go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= 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= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= @@ -2570,21 +2896,15 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190909091759-094676da4a83/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191002192127-34f69633bfdc/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20191219195013-becbf705a915/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200204104054-c9f3fb736b72/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= @@ -2595,17 +2915,30 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210915214749-c084706c2272/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211202192323-5770296d904e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220313003712-b769efc7c000/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU= +golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= +golang.org/x/crypto v0.2.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +golang.org/x/crypto v0.4.0/go.mod h1:3quD/ATkf6oY+rnes5c3ExXTbLc8mueNue5/DoinL80= +golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= +golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= +golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A= +golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -2613,9 +2946,7 @@ golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= @@ -2623,8 +2954,13 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e h1:+WEEuIdZHnUeJJmEUjyYC2gfUMj69yZXw17EnHg/otA= +golang.org/x/exp v0.0.0-20200513190911-00229845015e/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA= +golang.org/x/exp v0.0.0-20221019170559-20944726eadf/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= +golang.org/x/exp v0.0.0-20230131160201-f062dba9d201/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/exp v0.0.0-20230213192124-5e25df0256eb/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug= +golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20220613132600-b0d781184e0d/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= @@ -2632,16 +2968,8 @@ golang.org/x/exp/typeparams v0.0.0-20220827204233-334a2380cb91/go.mod h1:AbB0pIl golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= -golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= -golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= -golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20181217174547-8f45f776aaf1/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -2656,12 +2984,10 @@ golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPI golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mobile v0.0.0-20200801112145-973feb4309de/go.mod h1:skQtrUTUwhdJvXM/2KKJzY8pDgNr9I/FOMqDVRPBUS4= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191209134235-331c550502dd/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -2672,9 +2998,13 @@ golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= +golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180911220305-26e67e76b6c3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -2689,6 +3019,7 @@ golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190327091125-710a502c58a2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -2722,7 +3053,6 @@ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= @@ -2745,12 +3075,10 @@ golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211208012354-db4efeb81f4b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= @@ -2764,12 +3092,24 @@ golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220726230323-06994584191e/go.mod h1:AaygXjzTFtRAg2ttMY5RMuhpJ3cNnI0XpyFJD1iQRSM= golang.org/x/net v0.0.0-20220812174116-3211cb980234/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221002022538-bcab6841153b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221017152216-f25eb7ecb193/go.mod h1:RpDiru2p0u2F0lLpEoqnP2+7xs0ifAuOcJ442g6GU2s= -golang.org/x/net v0.1.0 h1:hZ/3BUoy5aId7sCpA/Tc5lt8DkFgdVS2onTpJsZ/fl0= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= +golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= +golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/oauth2 v0.0.0-20180724155351-3d292e4d0cdc/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -2800,7 +3140,12 @@ golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7Lm golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= +golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= +golang.org/x/oauth2 v0.5.0 h1:HuArIo48skDwlrvM3sEdHXElYslAMsf3KwRkkW4MC4s= +golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -2819,13 +3164,13 @@ golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180926160741-c2ed4eda69e7/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181029174526-d69651ed3497/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -2851,10 +3196,10 @@ golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190620070143-6f217b454f45/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190812073006-9eafafc0a87e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -2881,7 +3226,6 @@ golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200219091948-cb0a6d8edb6c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -2899,7 +3243,6 @@ golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200817155316-9781c653f443/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200824131525-c12d262b63d8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -2909,13 +3252,13 @@ golang.org/x/sys v0.0.0-20200922070232-aee5d888a860/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201013081832-0aaa2718063a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201015000850-e3ed0017c211/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201117170446-d9b008d0a637/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201207223542-d4d67f95c62d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -2923,7 +3266,6 @@ golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210313202042-bd2e13477e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -2944,7 +3286,6 @@ golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210816074244-15123e1e1f71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -2952,30 +3293,30 @@ golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210915083310-ed5796bab164/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210909193231-528a39cd75f3/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211013075003-97ac67df715c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211031064116-611d5d643895/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211103235746-7861aae1554b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211105183446-c75c47738b0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211113001501-0c823b97ae02/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211213223007-03aa0b5f6827/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220111092808-5a964db01320/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220204135822-1c1b9b1eba6a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220315194320-039c03cc5b86/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220403020550-483a9cbc67c0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220405210540-1e041c57c461/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220406163625-3f8b81556e12/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -2990,28 +3331,41 @@ golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220702020025-31831981b65f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220727055044-e65921a090b8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220818161305-2296e01440c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220817070843-5a390386f1f2/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220915200043-7b5979e65e41/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220919091848-fb04ddd9f9c8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20221013171732-95e765b1cc43/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.0.0-20220411215600-e5f449aeb171/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.0.0-20220919170432-7a66f970e087/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.1.0 h1:g6Z6vPFA9dYBAF7DWcH6sCcOntplXsDKcliusYijMlw= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= +golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= +golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/term v0.7.0 h1:BEvjmm5fURWqcfbSKTdpkDXYBrUS1c0m8agp14W48vQ= +golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -3023,25 +3377,39 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= -golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220609170525-579cf78fd858 h1:Dpdu/EMxGMFgq0CeYMh4fazTD2vtlZRYE7wyynxJb9U= +golang.org/x/time v0.0.0-20211116232009-f0f3c7e86c11/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20220609170525-579cf78fd858/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.1.0 h1:xYY+Bajn2a7VBmTM5GikTmnK8ZuX8YgnQCqZpbBNtmA= +golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181117154741-2ddaf7f79a09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181219222714-6e267b5cc78e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181221001348-537d06c36207/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190110163146-51295c7ec13a/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190221204921-83362c3779f5/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -3053,6 +3421,7 @@ golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190321232350-e250d351ecad/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190322203728-c1a832b0ad89/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190327201419-c70d86f8b7cf/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190422233926-fe54fb35175b/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -3072,7 +3441,6 @@ golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190916130336-e45ffcd953cc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191010075000-0337d82405ff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -3090,7 +3458,6 @@ golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200102140908-9497f49d5709/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117012304-6edc0a871e69/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -3099,7 +3466,6 @@ golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200204192400-7124308813f3/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200221224223-e1da425f72fd/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= @@ -3136,18 +3502,13 @@ golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82u golang.org/x/tools v0.0.0-20200916195026-c9a70fc28ce3/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/tools v0.0.0-20201001104356-43ebab892c4c/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/tools v0.0.0-20201002184944-ecd9fd270d5d/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= -golang.org/x/tools v0.0.0-20201022035929-9cf592e881e9/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201023174141-c8cfbd0f21e6/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201028025901-8cd080b735b3/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201114224030-61ea331ec02b/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201118003311-bd56c0adb394/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201230224404-63754364767c/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210101214203-2dba1e4ea05c/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210104081019-d8d6ddbec6ee/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -3159,18 +3520,18 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.6/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.9-0.20211228192929-ee1ca4ffc4da/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= -golang.org/x/tools v0.1.11-0.20220316014157-77aa08bb151a/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.1.11-0.20220513221640-090b14e8501f/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= golang.org/x/tools v0.1.12-0.20220628192153-7743d1d949f1/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= +golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -3178,18 +3539,14 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0= gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= -gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= -gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= -gonum.org/v1/gonum v0.12.0/go.mod h1:73TDxJfAAHeA8Mk9mf8NlIppyhQNo5GLTcYeqgo2lvY= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= -gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= -gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= google.golang.org/api v0.0.0-20160322025152-9bf6e6e569ff/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= @@ -3253,8 +3610,14 @@ google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaE google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= +google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= +google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.110.0 h1:l+rh0KYUooe9JGbGVx71tbFo4SMbMTXK3I3ia2QSEeU= +google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -3264,9 +3627,11 @@ google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -3293,12 +3658,10 @@ google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24/go.mod h1:n3cpQtvx google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200218151345-dad8c97a84f5/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200324203455-a04cca1dde73/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= @@ -3317,8 +3680,6 @@ google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201111145450-ac7456db90a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201119123407-9b1e624d6bc4/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= @@ -3350,14 +3711,12 @@ google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEc google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211101144312-62acf1d99145/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220118154757-00ab72f36ad5/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= @@ -3366,6 +3725,7 @@ google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2 google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220314164441-57ef72a4c106/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= @@ -3400,10 +3760,80 @@ google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53B google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= 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-20221024183307-1bc688fe9f3e h1:S9GbmC1iCgvbLyAokVCwiO6tVIrU9Y7c5oMx1V/ki/Y= +google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/grpc v1.33.2 h1:EQyQC3sa8M+p6Ulc8yy9SWSS2GVwyRc83gAbG8lrl4o= +google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= +google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE= +google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230202175211-008b39050e57/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44 h1:EfLuoKW5WfkgVdDy7dTK8qSbH37AX5mj/MFh+bGPz14= +google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= +google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= +google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.0/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +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.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= +google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= +google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= +google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= +google.golang.org/grpc v1.54.0 h1:EhTqbhiYeixwWQtAEZAxmV9MGqcjEU2mFx52xCzNyag= +google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= 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= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -3421,11 +3851,12 @@ google.golang.org/protobuf v1.27.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8 h1:KR8+MyP7/qOlV+8Af01LtjL04bu7on42eVsxT4EyBQk= google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.2-0.20230208135220-49eaa78c6c9c/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/bsm/ratelimit.v1 v1.0.0-20160220154919-db14e161995a/go.mod h1:KF9sEfUPAXdG8Oev9e99iLGnl2uJMjc5B+4y3O7x610= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20141024133853-64131543e789/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -3435,41 +3866,35 @@ gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/cheggaaa/pb.v1 v1.0.28/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.0/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= +gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= +gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.51.1/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.56.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.63.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.66.6/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/jcmturner/aescts.v1 v1.0.1/go.mod h1:nsR8qBOg+OucoIW+WMhB3GspUQXq9XorLnQb9XtvcOo= -gopkg.in/jcmturner/dnsutils.v1 v1.0.1/go.mod h1:m3v+5svpVOhtFAP/wSz+yzh4Mc0Fg7eRhxkJMWSIz9Q= -gopkg.in/jcmturner/goidentity.v3 v3.0.0/go.mod h1:oG2kH0IvSYNIu80dVAyu/yoefjq1mNfM5bm88whjWx4= -gopkg.in/jcmturner/gokrb5.v7 v7.5.0/go.mod h1:l8VISx+WGYp+Fp7KRbsiUuXTTOnxIc3Tuvyavf11/WM= -gopkg.in/jcmturner/rpc.v1 v1.1.0/go.mod h1:YIdkC4XfD6GXbzje11McwsDuOlZQSb9W4vfLvuNnlv8= +gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce h1:+JknDZhAj8YMt7GC73Ei8pv4MzjDUNPHgQWJdtMAaDU= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= -gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6 h1:a6cXbcDDUkSBlpnkWV1bJ+vv3mOgQEltEJ2rPxroVu0= -gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= -gopkg.in/redis.v4 v4.2.4/go.mod h1:8KREHdypkCEojGKQcjMqAODMICIVwZAONWq8RowTITA= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/urfave/cli.v1 v1.20.0 h1:NdAVW6RYxDif9DhDHaAortIu956m2c0v+09AZBPTbE0= -gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0= gopkg.in/warnings.v0 v0.1.1/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= @@ -3484,17 +3909,24 @@ gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20191120175047-4206685974f2/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= +gotest.tools/v3 v3.1.0/go.mod h1:fHy7eyTmJFO5bQbUsEGQ1v4m2J3Jz9eWL54TP2/ZuYQ= gotest.tools/v3 v3.2.0/go.mod h1:Mcr9QNxkg0uMvy/YElmo4SpXgJKWgQvYrT7Kw5RzJ1A= +gotest.tools/v3 v3.3.0/go.mod h1:Mcr9QNxkg0uMvy/YElmo4SpXgJKWgQvYrT7Kw5RzJ1A= +gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= +gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20180920025451-e3ad64cb4ed3/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -3504,9 +3936,6 @@ honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.5/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= -honnef.co/go/tools v0.2.1/go.mod h1:lPVVZ2BS5TfnjLyizF7o7hv7j9/L+8cZY2hLyjP9cGY= -honnef.co/go/tools v0.3.1/go.mod h1:vlRD9XErLMGT+mDuofSr0mMMquscM/1nQqtRSsh6m70= honnef.co/go/tools v0.3.3/go.mod h1:jzwdWgg7Jdq75wlfblQxO4neNaFFSvgc1tD5Wv8U0Yw= k8s.io/api v0.0.0-20180904230853-4e7be11eab3f/go.mod h1:iuAfoD4hCxJ8Onx9kaTIt30j7jUFS00AXQi6QMi99vA= k8s.io/api v0.17.4/go.mod h1:5qxx6vjmwUVG2nHQTKGlLts8Tbok8PzHl4vHtVFuZCA= @@ -3589,20 +4018,21 @@ modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk= modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs= modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I= -mvdan.cc/gofumpt v0.1.1/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48= -mvdan.cc/gofumpt v0.3.1/go.mod h1:w3ymliuxvzVx8DAutBnVyDqYb1Niy/yCJt/lk821YCE= +moul.io/http2curl v1.0.0/go.mod h1:f6cULg+e4Md/oW1cYmwW4IWQOVl2lGbmCNGOHvzX2kE= mvdan.cc/gofumpt v0.4.0/go.mod h1:PljLOHDeZqgS8opHRKLzp2It2VBuSdteAgqUfzMTxlQ= mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc= mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= mvdan.cc/unparam v0.0.0-20190720180237-d51796306d8f/go.mod h1:4G1h5nDURzA3bwVMZIVpwbkw+04kSxk3rAtzlimaUJw= mvdan.cc/unparam v0.0.0-20200501210554-b37ab49443f7/go.mod h1:HGC5lll35J70Y5v7vCGb9oLhHoScFwkHDJm/05RdSTc= -mvdan.cc/unparam v0.0.0-20210104141923-aac4ce9116a7/go.mod h1:hBpJkZE8H/sb+VRFvw2+rBpHNsTBcvSpk61hr8mzXZE= -mvdan.cc/unparam v0.0.0-20211214103731-d0ef000c54e5/go.mod h1:b8RRCBm0eeiWR8cfN88xeq2G5SG3VKGO+5UPWi5FSOY= mvdan.cc/unparam v0.0.0-20220706161116-678bad134442/go.mod h1:F/Cxw/6mVrNKqrR2YjFf5CaW0Bw4RL8RfbEf4GRggJk= nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= pack.ag/amqp v0.11.2/go.mod h1:4/cbmt4EJXSKlG6LCfWHoqmN0uFdy5i/+YFz+fTfhV4= +pgregory.net/rapid v0.4.7/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU= +pgregory.net/rapid v0.5.2/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= pgregory.net/rapid v0.5.3/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA= +pgregory.net/rapid v0.5.5/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= @@ -3620,6 +4050,7 @@ sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZa sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0= diff --git a/proto/buf.gen.doc.yml b/proto/buf.gen.doc.yml new file mode 100644 index 00000000..43c1f10f --- /dev/null +++ b/proto/buf.gen.doc.yml @@ -0,0 +1,5 @@ +version: v1 +plugins: + - name: doc + out: ../docs/proto + opt: ../docs/proto/protodoc-markdown.tmpl,proto-docs.md \ No newline at end of file diff --git a/proto/buf.gen.gogo.yml b/proto/buf.gen.gogo.yml new file mode 100644 index 00000000..855ea251 --- /dev/null +++ b/proto/buf.gen.gogo.yml @@ -0,0 +1,8 @@ +version: v1 +plugins: + - name: gocosmos + out: .. + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + - name: grpc-gateway + out: .. + opt: logtostderr=true,allow_colon_final_segments=true \ No newline at end of file diff --git a/proto/buf.gen.pulsar.yaml b/proto/buf.gen.pulsar.yaml new file mode 100644 index 00000000..fada5e7d --- /dev/null +++ b/proto/buf.gen.pulsar.yaml @@ -0,0 +1,17 @@ +version: v1 +managed: + enabled: true + go_package_prefix: + default: cosmossdk.io/api + except: + - buf.build/googleapis/googleapis + - buf.build/cosmos/gogo-proto + - buf.build/cosmos/cosmos-proto + override: +plugins: + - name: go-pulsar + out: ../api + opt: paths=source_relative + - name: go-grpc + out: ../api + opt: paths=source_relative diff --git a/proto/buf.gen.swagger.yaml b/proto/buf.gen.swagger.yaml new file mode 100644 index 00000000..d9e3d720 --- /dev/null +++ b/proto/buf.gen.swagger.yaml @@ -0,0 +1,10 @@ +version: v1 + +plugins: + - name: swagger + out: ../tmp-swagger-gen + opt: + - logtostderr=true + - fqn_for_swagger_name=true + - simple_operation_ids=true + strategy: directory diff --git a/proto/buf.gen.ts.yaml b/proto/buf.gen.ts.yaml new file mode 100644 index 00000000..77ac7550 --- /dev/null +++ b/proto/buf.gen.ts.yaml @@ -0,0 +1,13 @@ +version: v1 +managed: + enabled: true +plugins: + - plugin: buf.build/community/stephenh-ts-proto + out: ../client/proto-ts/gen/proto + opt: + - esModuleInterop=true + - forceLong=string + - env=both + - outputClientImpl=grpc-web + - exportCommonSymbols=false + - useExactTypes=false \ No newline at end of file diff --git a/proto/buf.lock b/proto/buf.lock new file mode 100644 index 00000000..c64133e8 --- /dev/null +++ b/proto/buf.lock @@ -0,0 +1,23 @@ +# Generated by buf. DO NOT EDIT. +version: v1 +deps: + - remote: buf.build + owner: cosmos + repository: cosmos-proto + commit: 1935555c206d4afb9e94615dfd0fad31 + - remote: buf.build + owner: cosmos + repository: cosmos-sdk + commit: 954f7b05f38440fc8250134b15adec47 + - remote: buf.build + owner: cosmos + repository: gogo-proto + commit: 34d970b699f84aa382f3c29773a60836 + - remote: buf.build + owner: cosmwasm + repository: wasmd + commit: a1300d1deb89456ea5c792cfd6130ce4 + - remote: buf.build + owner: googleapis + repository: googleapis + commit: 75b4300737fb4efca0831636be94e517 diff --git a/proto/buf.md b/proto/buf.md new file mode 100644 index 00000000..4cadbd36 --- /dev/null +++ b/proto/buf.md @@ -0,0 +1,3 @@ +# Protobufs + +This is the public protocol buffers API for [Injective core](https://github.com/InjectiveLabs/injective-core). \ No newline at end of file diff --git a/proto/buf.yaml b/proto/buf.yaml new file mode 100644 index 00000000..bc667220 --- /dev/null +++ b/proto/buf.yaml @@ -0,0 +1,22 @@ +version: v1 +name: buf.build/InjectiveLabs/injective-core +deps: + - buf.build/cosmos/cosmos-proto + - buf.build/cosmos/cosmos-sdk:v0.47.0 + - buf.build/cosmos/gogo-proto + - buf.build/cosmwasm/wasmd +breaking: + use: + - FILE +lint: + use: + - DEFAULT + - COMMENTS + - FILE_LOWER_SNAKE_CASE + except: + - UNARY_RPC + - COMMENT_FIELD + - SERVICE_SUFFIX + - PACKAGE_VERSION_SUFFIX + - RPC_REQUEST_STANDARD_NAME + - PACKAGE_DIRECTORY_MATCH diff --git a/proto/injective/auction/v1beta1/auction.proto b/proto/injective/auction/v1beta1/auction.proto index fffb2230..530859f1 100644 --- a/proto/injective/auction/v1beta1/auction.proto +++ b/proto/injective/auction/v1beta1/auction.proto @@ -59,6 +59,10 @@ message EventAuctionStart { uint64 round = 1; // ending_timestamp describes auction end time int64 ending_timestamp = 2; - // new_basket describes auction module balance at the time of new auction start - repeated cosmos.base.v1beta1.Coin new_basket = 3 [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"]; + // new_basket describes auction module balance at the time of new auction + // start + repeated cosmos.base.v1beta1.Coin new_basket = 3 [ + (gogoproto.nullable) = false, + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" + ]; } \ No newline at end of file diff --git a/proto/injective/auction/v1beta1/genesis.proto b/proto/injective/auction/v1beta1/genesis.proto index e1b48051..f0c9e155 100644 --- a/proto/injective/auction/v1beta1/genesis.proto +++ b/proto/injective/auction/v1beta1/genesis.proto @@ -9,7 +9,7 @@ option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/mod // GenesisState defines the auction module's genesis state. message GenesisState { // params defines all the parameters of related to auction. - Params params = 1 [(gogoproto.nullable) = false]; + Params params = 1 [ (gogoproto.nullable) = false ]; // current auction round uint64 auction_round = 2; diff --git a/proto/injective/auction/v1beta1/query.proto b/proto/injective/auction/v1beta1/query.proto index 7fc9b4fc..2a546f5f 100644 --- a/proto/injective/auction/v1beta1/query.proto +++ b/proto/injective/auction/v1beta1/query.proto @@ -12,36 +12,40 @@ option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/mod service Query { // Retrieves auction params - rpc AuctionParams(QueryAuctionParamsRequest) returns (QueryAuctionParamsResponse) { + rpc AuctionParams(QueryAuctionParamsRequest) + returns (QueryAuctionParamsResponse) { option (google.api.http).get = "/injective/auction/v1beta1/params"; } // Retrieves current auction basket with current highest bid and bidder - rpc CurrentAuctionBasket(QueryCurrentAuctionBasketRequest) returns (QueryCurrentAuctionBasketResponse) { + rpc CurrentAuctionBasket(QueryCurrentAuctionBasketRequest) + returns (QueryCurrentAuctionBasketResponse) { option (google.api.http).get = "/injective/auction/v1beta1/basket"; }; // Retrieves the entire auction module's state - rpc AuctionModuleState(QueryModuleStateRequest) returns (QueryModuleStateResponse) { + rpc AuctionModuleState(QueryModuleStateRequest) + returns (QueryModuleStateResponse) { option (google.api.http).get = "/injective/auction/v1beta1/module_state"; } - } -// QueryAuctionParamsRequest is the request type for the Query/AuctionParams RPC method. +// QueryAuctionParamsRequest is the request type for the Query/AuctionParams RPC +// method. message QueryAuctionParamsRequest {} -// QueryAuctionParamsRequest is the response type for the Query/AuctionParams RPC method. +// QueryAuctionParamsRequest is the response type for the Query/AuctionParams +// RPC method. message QueryAuctionParamsResponse { - Params params = 1 [ - (gogoproto.nullable) = false - ]; + Params params = 1 [ (gogoproto.nullable) = false ]; } -// QueryCurrentAuctionBasketRequest is the request type for the Query/CurrentAuctionBasket RPC method. +// QueryCurrentAuctionBasketRequest is the request type for the +// Query/CurrentAuctionBasket RPC method. message QueryCurrentAuctionBasketRequest {} -// QueryCurrentAuctionBasketResponse is the response type for the Query/CurrentAuctionBasket RPC method. +// QueryCurrentAuctionBasketResponse is the response type for the +// Query/CurrentAuctionBasket RPC method. message QueryCurrentAuctionBasketResponse { // amount describes the amount put on auction repeated cosmos.base.v1beta1.Coin amount = 1 [ @@ -61,11 +65,10 @@ message QueryCurrentAuctionBasketResponse { ]; } - -// QueryModuleStateRequest is the request type for the Query/AuctionModuleState RPC method. +// QueryModuleStateRequest is the request type for the Query/AuctionModuleState +// RPC method. message QueryModuleStateRequest {} -// QueryModuleStateResponse is the response type for the Query/AuctionModuleState RPC method. -message QueryModuleStateResponse { - GenesisState state = 1; -} \ No newline at end of file +// QueryModuleStateResponse is the response type for the +// Query/AuctionModuleState RPC method. +message QueryModuleStateResponse { GenesisState state = 1; } \ No newline at end of file diff --git a/proto/injective/auction/v1beta1/tx.proto b/proto/injective/auction/v1beta1/tx.proto index c871f212..9e7eb5b9 100644 --- a/proto/injective/auction/v1beta1/tx.proto +++ b/proto/injective/auction/v1beta1/tx.proto @@ -3,6 +3,10 @@ package injective.auction.v1beta1; import "gogoproto/gogo.proto"; import "cosmos/base/v1beta1/coin.proto"; +import "cosmos/msg/v1/msg.proto"; +import "cosmos_proto/cosmos.proto"; +import "injective/auction/v1beta1/auction.proto"; + option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/auction/types"; // Msg defines the auction Msg service. @@ -10,17 +14,36 @@ service Msg { // Bid defines a method for placing a bid for an auction rpc Bid(MsgBid) returns (MsgBidResponse); + + rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); } // Bid defines a SDK message for placing a bid for an auction message MsgBid { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; // amount of the bid in INJ tokens - cosmos.base.v1beta1.Coin bid_amount = 2 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin bid_amount = 2 [ (gogoproto.nullable) = false ]; // the current auction round being bid on uint64 round = 3; } -message MsgBidResponse{} +message MsgBidResponse {} + +message MsgUpdateParams { + option (cosmos.msg.v1.signer) = "authority"; + + // authority is the address of the governance account. + string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + + // params defines the ocr parameters to update. + // + // NOTE: All parameters must be supplied. + Params params = 2 [ (gogoproto.nullable) = false ]; +} + +message MsgUpdateParamsResponse {} \ No newline at end of file diff --git a/proto/injective/exchange/v1beta1/events.proto b/proto/injective/exchange/v1beta1/events.proto index f7392a23..22d30340 100644 --- a/proto/injective/exchange/v1beta1/events.proto +++ b/proto/injective/exchange/v1beta1/events.proto @@ -8,7 +8,6 @@ import "injective/exchange/v1beta1/exchange.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types"; - message EventBatchSpotExecution { string market_id = 1; bool is_buy = 2; @@ -67,9 +66,7 @@ message EventAllPositionsHaircut { } message EventBinaryOptionsMarketUpdate { - BinaryOptionsMarket market = 1 [ - (gogoproto.nullable) = false - ]; + BinaryOptionsMarket market = 1 [ (gogoproto.nullable) = false ]; } message EventNewSpotOrders { @@ -86,43 +83,28 @@ message EventNewDerivativeOrders { message EventCancelSpotOrder { string market_id = 1; - SpotLimitOrder order = 2 [ - (gogoproto.nullable) = false - ]; + SpotLimitOrder order = 2 [ (gogoproto.nullable) = false ]; } message EventSpotMarketUpdate { - SpotMarket market = 1 [ - (gogoproto.nullable) = false - ]; + SpotMarket market = 1 [ (gogoproto.nullable) = false ]; } message EventPerpetualMarketUpdate { - DerivativeMarket market = 1 [ - (gogoproto.nullable) = false - ]; - PerpetualMarketInfo perpetual_market_info = 2[ - (gogoproto.nullable) = true - ]; - PerpetualMarketFunding funding = 3[ - (gogoproto.nullable) = true - ]; + DerivativeMarket market = 1 [ (gogoproto.nullable) = false ]; + PerpetualMarketInfo perpetual_market_info = 2 [ (gogoproto.nullable) = true ]; + PerpetualMarketFunding funding = 3 [ (gogoproto.nullable) = true ]; } message EventExpiryFuturesMarketUpdate { - DerivativeMarket market = 1 [ - (gogoproto.nullable) = false - ]; - ExpiryFuturesMarketInfo expiry_futures_market_info = 3[ - (gogoproto.nullable) = true - ]; + DerivativeMarket market = 1 [ (gogoproto.nullable) = false ]; + ExpiryFuturesMarketInfo expiry_futures_market_info = 3 + [ (gogoproto.nullable) = true ]; } message EventPerpetualMarketFundingUpdate { string market_id = 1; - PerpetualMarketFunding funding = 2[ - (gogoproto.nullable) = false - ]; + PerpetualMarketFunding funding = 2 [ (gogoproto.nullable) = false ]; bool is_hourly_funding = 3; string funding_rate = 4 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", @@ -137,29 +119,25 @@ message EventPerpetualMarketFundingUpdate { message EventSubaccountDeposit { string src_address = 1; bytes subaccount_id = 2; - cosmos.base.v1beta1.Coin amount = 3 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin amount = 3 [ (gogoproto.nullable) = false ]; } message EventSubaccountWithdraw { bytes subaccount_id = 1; string dst_address = 2; - cosmos.base.v1beta1.Coin amount = 3 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin amount = 3 [ (gogoproto.nullable) = false ]; } message EventSubaccountBalanceTransfer { string src_subaccount_id = 1; string dst_subaccount_id = 2; - cosmos.base.v1beta1.Coin amount = 3 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin amount = 3 [ (gogoproto.nullable) = false ]; } -message EventBatchDepositUpdate { - repeated DepositUpdate deposit_updates = 1; -} +message EventBatchDepositUpdate { repeated DepositUpdate deposit_updates = 1; } message DerivativeMarketOrderCancel { - DerivativeMarketOrder market_order = 1 [ - (gogoproto.nullable) = true - ]; + DerivativeMarketOrder market_order = 1 [ (gogoproto.nullable) = true ]; string cancel_quantity = 2 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false @@ -169,17 +147,12 @@ message DerivativeMarketOrderCancel { message EventCancelDerivativeOrder { string market_id = 1; bool isLimitCancel = 2; - DerivativeLimitOrder limit_order = 3 [ - (gogoproto.nullable) = true - ]; - DerivativeMarketOrderCancel market_order_cancel = 4 [ - (gogoproto.nullable) = true - ]; + DerivativeLimitOrder limit_order = 3 [ (gogoproto.nullable) = true ]; + DerivativeMarketOrderCancel market_order_cancel = 4 + [ (gogoproto.nullable) = true ]; } -message EventFeeDiscountSchedule { - FeeDiscountSchedule schedule = 1; -} +message EventFeeDiscountSchedule { FeeDiscountSchedule schedule = 1; } message EventTradingRewardCampaignUpdate { TradingRewardCampaignInfo campaign_info = 1; @@ -200,12 +173,8 @@ message EventNewConditionalDerivativeOrder { message EventCancelConditionalDerivativeOrder { string market_id = 1; bool isLimitCancel = 2; - DerivativeLimitOrder limit_order = 3 [ - (gogoproto.nullable) = true - ]; - DerivativeMarketOrder market_order = 4 [ - (gogoproto.nullable) = true - ]; + DerivativeLimitOrder limit_order = 3 [ (gogoproto.nullable) = true ]; + DerivativeMarketOrder market_order = 4 [ (gogoproto.nullable) = true ]; } message EventConditionalDerivativeOrderTrigger { diff --git a/proto/injective/exchange/v1beta1/exchange.proto b/proto/injective/exchange/v1beta1/exchange.proto index 7f47becf..2d9e07b8 100644 --- a/proto/injective/exchange/v1beta1/exchange.proto +++ b/proto/injective/exchange/v1beta1/exchange.proto @@ -7,7 +7,6 @@ import "injective/oracle/v1beta1/oracle.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types"; - enum AtomicMarketOrderAccessLevel { Nobody = 0; // currently unsupported @@ -16,69 +15,78 @@ enum AtomicMarketOrderAccessLevel { Everyone = 3; } - message Params { option (gogoproto.equal) = true; - // spot_market_instant_listing_fee defines the expedited fee in INJ required to create a spot market by bypassing governance - cosmos.base.v1beta1.Coin spot_market_instant_listing_fee = 1 [ - (gogoproto.nullable) = false - ]; + // spot_market_instant_listing_fee defines the expedited fee in INJ required + // to create a spot market by bypassing governance + cosmos.base.v1beta1.Coin spot_market_instant_listing_fee = 1 + [ (gogoproto.nullable) = false ]; - // derivative_market_instant_listing_fee defines the expedited fee in INJ required to create a derivative market by bypassing governance - cosmos.base.v1beta1.Coin derivative_market_instant_listing_fee = 2 [ - (gogoproto.nullable) = false - ]; + // derivative_market_instant_listing_fee defines the expedited fee in INJ + // required to create a derivative market by bypassing governance + cosmos.base.v1beta1.Coin derivative_market_instant_listing_fee = 2 + [ (gogoproto.nullable) = false ]; - // default_spot_maker_fee defines the default exchange trade fee for makers on a spot market + // default_spot_maker_fee defines the default exchange trade fee for makers on + // a spot market string default_spot_maker_fee_rate = 3 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // default_spot_taker_fee_rate defines the default exchange trade fee rate for takers on a new spot market + // default_spot_taker_fee_rate defines the default exchange trade fee rate for + // takers on a new spot market string default_spot_taker_fee_rate = 4 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // default_derivative_maker_fee defines the default exchange trade fee for makers on a new derivative market + // default_derivative_maker_fee defines the default exchange trade fee for + // makers on a new derivative market string default_derivative_maker_fee_rate = 5 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // default_derivative_taker_fee defines the default exchange trade fee for takers on a new derivative market + // default_derivative_taker_fee defines the default exchange trade fee for + // takers on a new derivative market string default_derivative_taker_fee_rate = 6 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // default_initial_margin_ratio defines the default initial margin ratio on a new derivative market + // default_initial_margin_ratio defines the default initial margin ratio on a + // new derivative market string default_initial_margin_ratio = 7 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // default_maintenance_margin_ratio defines the default maintenance margin ratio on a new derivative market + // default_maintenance_margin_ratio defines the default maintenance margin + // ratio on a new derivative market string default_maintenance_margin_ratio = 8 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // default_funding_interval defines the default funding interval on a derivative market + // default_funding_interval defines the default funding interval on a + // derivative market int64 default_funding_interval = 9; - // funding_multiple defines the timestamp multiple that the funding timestamp should be a multiple of + // funding_multiple defines the timestamp multiple that the funding timestamp + // should be a multiple of int64 funding_multiple = 10; - // relayer_fee_share_rate defines the trade fee share percentage that goes to relayers + // relayer_fee_share_rate defines the trade fee share percentage that goes to + // relayers string relayer_fee_share_rate = 11 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // default_hourly_funding_rate_cap defines the default maximum absolute value of the hourly funding rate + // default_hourly_funding_rate_cap defines the default maximum absolute value + // of the hourly funding rate string default_hourly_funding_rate_cap = 12 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false @@ -90,43 +98,51 @@ message Params { (gogoproto.nullable) = false ]; - // max_derivative_order_side_count defines the maximum number of derivative active orders a subaccount can have for a given orderbook side + // max_derivative_order_side_count defines the maximum number of derivative + // active orders a subaccount can have for a given orderbook side uint32 max_derivative_order_side_count = 14; - // inj_reward_staked_requirement_threshold defines the threshold on INJ rewards after which one also needs staked INJ to receive more + // inj_reward_staked_requirement_threshold defines the threshold on INJ + // rewards after which one also needs staked INJ to receive more string inj_reward_staked_requirement_threshold = 15 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = false ]; - // the trading_rewards_vesting_duration defines the vesting times for trading rewards + // the trading_rewards_vesting_duration defines the vesting times for trading + // rewards int64 trading_rewards_vesting_duration = 16; - // liquidator_reward_share_rate defines the ratio of the split of the surplus collateral that goes to the liquidator + // liquidator_reward_share_rate defines the ratio of the split of the surplus + // collateral that goes to the liquidator string liquidator_reward_share_rate = 17 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // binary_options_market_instant_listing_fee defines the expedited fee in INJ required to create a derivative market by bypassing governance - cosmos.base.v1beta1.Coin binary_options_market_instant_listing_fee = 18 [ - (gogoproto.nullable) = false - ]; - // atomic_market_order_access_level defines the required access permissions for executing atomic market orders + // binary_options_market_instant_listing_fee defines the expedited fee in INJ + // required to create a derivative market by bypassing governance + cosmos.base.v1beta1.Coin binary_options_market_instant_listing_fee = 18 + [ (gogoproto.nullable) = false ]; + // atomic_market_order_access_level defines the required access permissions + // for executing atomic market orders AtomicMarketOrderAccessLevel atomic_market_order_access_level = 19; - // spot_atomic_market_order_fee_multiplier defines the default multiplier for executing atomic market orders in spot markets + // spot_atomic_market_order_fee_multiplier defines the default multiplier for + // executing atomic market orders in spot markets string spot_atomic_market_order_fee_multiplier = 20 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // derivative_atomic_market_order_fee_multiplier defines the default multiplier for executing atomic market orders in derivative markets + // derivative_atomic_market_order_fee_multiplier defines the default + // multiplier for executing atomic market orders in derivative markets string derivative_atomic_market_order_fee_multiplier = 21 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // binary_options_atomic_market_order_fee_multiplier defines the default multiplier for executing atomic market orders in binary markets + // binary_options_atomic_market_order_fee_multiplier defines the default + // multiplier for executing atomic market orders in binary markets string binary_options_atomic_market_order_fee_multiplier = 22 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false @@ -138,7 +154,8 @@ message Params { (gogoproto.nullable) = false ]; - // is_instant_derivative_market_launch_enabled defines whether instant derivative market launch is enabled + // is_instant_derivative_market_launch_enabled defines whether instant + // derivative market launch is enabled bool is_instant_derivative_market_launch_enabled = 24; } @@ -179,12 +196,14 @@ message DerivativeMarket { string quote_denom = 6; // Unique market ID. string market_id = 7; - // initial_margin_ratio defines the initial margin ratio of a derivative market + // initial_margin_ratio defines the initial margin ratio of a derivative + // market string initial_margin_ratio = 8 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // maintenance_margin_ratio defines the maintenance margin ratio of a derivative market + // maintenance_margin_ratio defines the maintenance margin ratio of a + // derivative market string maintenance_margin_ratio = 9 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false @@ -199,26 +218,29 @@ message DerivativeMarket { (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // relayer_fee_share_rate defines the percentage of the transaction fee shared with the relayer in a derivative market + // relayer_fee_share_rate defines the percentage of the transaction fee shared + // with the relayer in a derivative market string relayer_fee_share_rate = 12 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // true if the market is a perpetual market. false if the market is an expiry futures market + // true if the market is a perpetual market. false if the market is an expiry + // futures market bool isPerpetual = 13; // Status of the market MarketStatus status = 14; - // min_price_tick_size defines the minimum tick size that the price and margin required for orders in the market + // min_price_tick_size defines the minimum tick size that the price and margin + // required for orders in the market string min_price_tick_size = 15 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // min_quantity_tick_size defines the minimum tick size of the quantity required for orders in the market + // min_quantity_tick_size defines the minimum tick size of the quantity + // required for orders in the market string min_quantity_tick_size = 16 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - } // An object describing a binary options market in Injective Protocol. message BinaryOptionsMarket { @@ -254,19 +276,22 @@ message BinaryOptionsMarket { (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // relayer_fee_share_rate defines the percentage of the transaction fee shared with the relayer in a derivative market + // relayer_fee_share_rate defines the percentage of the transaction fee shared + // with the relayer in a derivative market string relayer_fee_share_rate = 13 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; // Status of the market MarketStatus status = 14; - // min_price_tick_size defines the minimum tick size that the price and margin required for orders in the market + // min_price_tick_size defines the minimum tick size that the price and margin + // required for orders in the market string min_price_tick_size = 15 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // min_quantity_tick_size defines the minimum tick size of the quantity required for orders in the market + // min_quantity_tick_size defines the minimum tick size of the quantity + // required for orders in the market string min_quantity_tick_size = 16 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false @@ -281,16 +306,20 @@ message BinaryOptionsMarket { message ExpiryFuturesMarketInfo { // market ID. string market_id = 1; - // expiration_timestamp defines the expiration time for a time expiry futures market. + // expiration_timestamp defines the expiration time for a time expiry futures + // market. int64 expiration_timestamp = 2; - // expiration_twap_start_timestamp defines the start time of the TWAP calculation window + // expiration_twap_start_timestamp defines the start time of the TWAP + // calculation window int64 twap_start_timestamp = 3; - // expiration_twap_start_price_cumulative defines the cumulative price for the start of the TWAP window + // expiration_twap_start_price_cumulative defines the cumulative price for the + // start of the TWAP window string expiration_twap_start_price_cumulative = 4 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // settlement_price defines the settlement price for a time expiry futures market. + // settlement_price defines the settlement price for a time expiry futures + // market. string settlement_price = 5 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false @@ -300,7 +329,8 @@ message ExpiryFuturesMarketInfo { message PerpetualMarketInfo { // market ID. string market_id = 1; - // hourly_funding_rate_cap defines the maximum absolute value of the hourly funding rate + // hourly_funding_rate_cap defines the maximum absolute value of the hourly + // funding rate string hourly_funding_rate_cap = 2 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false @@ -310,9 +340,11 @@ message PerpetualMarketInfo { (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // next_funding_timestamp defines the next funding timestamp in seconds of a perpetual market + // next_funding_timestamp defines the next funding timestamp in seconds of a + // perpetual market int64 next_funding_timestamp = 4; - // funding_interval defines the next funding interval in seconds of a perpetual market. + // funding_interval defines the next funding interval in seconds of a + // perpetual market. int64 funding_interval = 5; } @@ -322,7 +354,8 @@ message PerpetualMarketFunding { (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // cumulative_price defines the cumulative price for the current hour up to the last timestamp + // cumulative_price defines the cumulative price for the current hour up to + // the last timestamp string cumulative_price = 2 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false @@ -340,13 +373,30 @@ message DerivativeMarketSettlementInfo { ]; } -message NextFundingTimestamp { - int64 next_timestamp = 1; +message NextFundingTimestamp { int64 next_timestamp = 1; } + +message MidPriceAndTOB { + // mid price of the market + string mid_price = 1 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = true + ]; + // best buy price of the market + string best_buy_price = 2 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = true + ]; + // best sell price of the market + string best_sell_price = 3 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = true + ]; } // An object describing trade pair of two assets. message SpotMarket { - // A name of the pair in format AAA/BBB, where AAA is base asset, BBB is quote asset. + // A name of the pair in format AAA/BBB, where AAA is base asset, BBB is quote + // asset. string ticker = 1; // Coin denom used for the base asset string base_denom = 2; @@ -362,7 +412,8 @@ message SpotMarket { (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // relayer_fee_share_rate defines the percentage of the transaction fee shared with the relayer in a derivative market + // relayer_fee_share_rate defines the percentage of the transaction fee shared + // with the relayer in a derivative market string relayer_fee_share_rate = 6 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false @@ -371,12 +422,14 @@ message SpotMarket { string market_id = 7; // Status of the market MarketStatus status = 8; - // min_price_tick_size defines the minimum tick size that the price required for orders in the market + // min_price_tick_size defines the minimum tick size that the price required + // for orders in the market string min_price_tick_size = 9 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // min_quantity_tick_size defines the minimum tick size of the quantity required for orders in the market + // min_quantity_tick_size defines the minimum tick size of the quantity + // required for orders in the market string min_quantity_tick_size = 10 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false @@ -395,9 +448,7 @@ message Deposit { ]; } -message SubaccountTradeNonce { - uint32 nonce = 1; -} +message SubaccountTradeNonce { uint32 nonce = 1; } message OrderInfo { // bytes32 subaccount ID that created the order @@ -417,24 +468,24 @@ message OrderInfo { } enum OrderType { - UNSPECIFIED = 0 [(gogoproto.enumvalue_customname) = "UNSPECIFIED"]; - BUY = 1 [(gogoproto.enumvalue_customname) = "BUY"]; - SELL = 2 [(gogoproto.enumvalue_customname) = "SELL"]; - STOP_BUY = 3 [(gogoproto.enumvalue_customname) = "STOP_BUY"]; - STOP_SELL = 4 [(gogoproto.enumvalue_customname) = "STOP_SELL"]; - TAKE_BUY = 5 [(gogoproto.enumvalue_customname) = "TAKE_BUY"]; - TAKE_SELL = 6 [(gogoproto.enumvalue_customname) = "TAKE_SELL"]; - BUY_PO = 7 [(gogoproto.enumvalue_customname) = "BUY_PO"]; - SELL_PO = 8 [(gogoproto.enumvalue_customname) = "SELL_PO"]; - BUY_ATOMIC = 9 [(gogoproto.enumvalue_customname) = "BUY_ATOMIC"]; - SELL_ATOMIC = 10 [(gogoproto.enumvalue_customname) = "SELL_ATOMIC"]; + UNSPECIFIED = 0 [ (gogoproto.enumvalue_customname) = "UNSPECIFIED" ]; + BUY = 1 [ (gogoproto.enumvalue_customname) = "BUY" ]; + SELL = 2 [ (gogoproto.enumvalue_customname) = "SELL" ]; + STOP_BUY = 3 [ (gogoproto.enumvalue_customname) = "STOP_BUY" ]; + STOP_SELL = 4 [ (gogoproto.enumvalue_customname) = "STOP_SELL" ]; + TAKE_BUY = 5 [ (gogoproto.enumvalue_customname) = "TAKE_BUY" ]; + TAKE_SELL = 6 [ (gogoproto.enumvalue_customname) = "TAKE_SELL" ]; + BUY_PO = 7 [ (gogoproto.enumvalue_customname) = "BUY_PO" ]; + SELL_PO = 8 [ (gogoproto.enumvalue_customname) = "SELL_PO" ]; + BUY_ATOMIC = 9 [ (gogoproto.enumvalue_customname) = "BUY_ATOMIC" ]; + SELL_ATOMIC = 10 [ (gogoproto.enumvalue_customname) = "SELL_ATOMIC" ]; } message SpotOrder { // market_id represents the unique ID of the market string market_id = 1; // order_info contains the information of the order - OrderInfo order_info = 2 [(gogoproto.nullable) = false]; + OrderInfo order_info = 2 [ (gogoproto.nullable) = false ]; // order types OrderType order_type = 3; // trigger_price is the trigger price used by stop/take orders @@ -447,7 +498,7 @@ message SpotOrder { // A valid Spot limit order with Metadata. message SpotLimitOrder { // order_info contains the information of the order - OrderInfo order_info = 1 [(gogoproto.nullable) = false]; + OrderInfo order_info = 1 [ (gogoproto.nullable) = false ]; // order types OrderType order_type = 2; // the amount of the quantity remaining fillable @@ -466,7 +517,7 @@ message SpotLimitOrder { // A valid Spot market order with Metadata. message SpotMarketOrder { // order_info contains the information of the order - OrderInfo order_info = 1 [(gogoproto.nullable) = false]; + OrderInfo order_info = 1 [ (gogoproto.nullable) = false ]; string balance_hold = 2 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false @@ -485,7 +536,7 @@ message DerivativeOrder { // market_id represents the unique ID of the market string market_id = 1; // order_info contains the information of the order - OrderInfo order_info = 2 [(gogoproto.nullable) = false]; + OrderInfo order_info = 2 [ (gogoproto.nullable) = false ]; // order types OrderType order_type = 3; // margin is the margin used by the limit order @@ -503,12 +554,14 @@ message DerivativeOrder { message SubaccountOrderbookMetadata { uint32 vanilla_limit_order_count = 1; uint32 reduce_only_limit_order_count = 2; - // AggregateReduceOnlyQuantity is the aggregate fillable quantity of the subaccount's reduce-only limit orders in the given direction. + // AggregateReduceOnlyQuantity is the aggregate fillable quantity of the + // subaccount's reduce-only limit orders in the given direction. string aggregate_reduce_only_quantity = 3 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // AggregateVanillaQuantity is the aggregate fillable quantity of the subaccount's vanilla limit orders in the given direction. + // AggregateVanillaQuantity is the aggregate fillable quantity of the + // subaccount's vanilla limit orders in the given direction. string aggregate_vanilla_quantity = 4 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false @@ -540,7 +593,7 @@ message SubaccountOrderData { // A valid Derivative limit order with Metadata. message DerivativeLimitOrder { // order_info contains the information of the order - OrderInfo order_info = 1 [(gogoproto.nullable) = false]; + OrderInfo order_info = 1 [ (gogoproto.nullable) = false ]; // order types OrderType order_type = 2; // margin is the margin used by the limit order @@ -564,7 +617,7 @@ message DerivativeLimitOrder { // A valid Derivative market order with Metadata. message DerivativeMarketOrder { // order_info contains the information of the order - OrderInfo order_info = 1 [(gogoproto.nullable) = false]; + OrderInfo order_info = 1 [ (gogoproto.nullable) = false ]; // order types OrderType order_type = 2; string margin = 3 [ @@ -625,9 +678,7 @@ message TradeLog { (gogoproto.nullable) = false ]; bytes order_hash = 5; - bytes fee_recipient_address = 6 [ - (gogoproto.nullable) = true - ]; + bytes fee_recipient_address = 6 [ (gogoproto.nullable) = true ]; } message PositionDelta { @@ -658,9 +709,7 @@ message DerivativeTradeLog { (gogoproto.nullable) = false ]; bytes order_hash = 5; - bytes fee_recipient_address = 6 [ - (gogoproto.nullable) = true - ]; + bytes fee_recipient_address = 6 [ (gogoproto.nullable) = true ]; } enum ExecutionType { @@ -701,18 +750,17 @@ message PointsMultiplier { message TradingRewardCampaignBoostInfo { repeated string boosted_spot_market_ids = 1; - repeated PointsMultiplier spot_market_multipliers = 2 [ - (gogoproto.nullable) = false - ]; + repeated PointsMultiplier spot_market_multipliers = 2 + [ (gogoproto.nullable) = false ]; repeated string boosted_derivative_market_ids = 3; - repeated PointsMultiplier derivative_market_multipliers = 4 [ - (gogoproto.nullable) = false - ]; + repeated PointsMultiplier derivative_market_multipliers = 4 + [ (gogoproto.nullable) = false ]; } message CampaignRewardPool { int64 start_timestamp = 1; - // max_campaign_rewards are the maximum reward amounts to be disbursed at the end of the campaign + // max_campaign_rewards are the maximum reward amounts to be disbursed at the + // end of the campaign repeated cosmos.base.v1beta1.Coin max_campaign_rewards = 2 [ (gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" @@ -731,19 +779,19 @@ message TradingRewardCampaignInfo { } message FeeDiscountTierInfo { - string maker_discount_rate = 1[ + string maker_discount_rate = 1 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - string taker_discount_rate = 2[ + string taker_discount_rate = 2 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - string staked_amount = 3[ + string staked_amount = 3 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = false ]; - string volume = 4[ + string volume = 4 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; @@ -752,11 +800,13 @@ message FeeDiscountTierInfo { message FeeDiscountSchedule { uint64 bucket_count = 1; int64 bucket_duration = 2; - // the trading fee quote denoms which will be counted for the fee paid contribution + // the trading fee quote denoms which will be counted for the fee paid + // contribution repeated string quote_denoms = 3; // the fee discount tiers repeated FeeDiscountTierInfo tier_infos = 4; - // the marketIDs which are disqualified from contributing to the fee paid amount + // the marketIDs which are disqualified from contributing to the fee paid + // amount repeated string disqualified_market_ids = 5; } @@ -766,11 +816,11 @@ message FeeDiscountTierTTL { } message VolumeRecord { - string maker_volume = 1[ + string maker_volume = 1 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - string taker_volume = 2[ + string taker_volume = 2 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; @@ -789,9 +839,7 @@ message TradeRecords { repeated TradeRecord latest_trade_records = 2; } -message SubaccountIDs { - repeated bytes subaccount_ids = 1; -} +message SubaccountIDs { repeated bytes subaccount_ids = 1; } message TradeRecord { int64 timestamp = 1; @@ -808,17 +856,20 @@ message TradeRecord { } enum OrderMask { - UNUSED = 0 [(gogoproto.enumvalue_customname) = "UNUSED"]; - ANY = 1 [(gogoproto.enumvalue_customname) = "ANY"]; - REGULAR = 2 [(gogoproto.enumvalue_customname) = "REGULAR"]; - CONDITIONAL = 4 [(gogoproto.enumvalue_customname) = "CONDITIONAL"]; - DIRECTION_BUY_OR_HIGHER = 8 [(gogoproto.enumvalue_customname) = "BUY_OR_HIGHER"]; // for conditional orders means HIGHER - DIRECTION_SELL_OR_LOWER = 16 [(gogoproto.enumvalue_customname) = "SELL_OR_LOWER"]; // for conditional orders means LOWER - TYPE_MARKET = 32 [(gogoproto.enumvalue_customname) = "MARKET"]; - TYPE_LIMIT = 64 [(gogoproto.enumvalue_customname) = "LIMIT"]; + UNUSED = 0 [ (gogoproto.enumvalue_customname) = "UNUSED" ]; + ANY = 1 [ (gogoproto.enumvalue_customname) = "ANY" ]; + REGULAR = 2 [ (gogoproto.enumvalue_customname) = "REGULAR" ]; + CONDITIONAL = 4 [ (gogoproto.enumvalue_customname) = "CONDITIONAL" ]; + DIRECTION_BUY_OR_HIGHER = 8 + [ (gogoproto.enumvalue_customname) = + "BUY_OR_HIGHER" ]; // for conditional orders means HIGHER + DIRECTION_SELL_OR_LOWER = 16 + [ (gogoproto.enumvalue_customname) = + "SELL_OR_LOWER" ]; // for conditional orders means LOWER + TYPE_MARKET = 32 [ (gogoproto.enumvalue_customname) = "MARKET" ]; + TYPE_LIMIT = 64 [ (gogoproto.enumvalue_customname) = "LIMIT" ]; } - message Level { // price string p = 1 [ @@ -844,9 +895,7 @@ message AggregateAccountVolumeRecord { message MarketVolume { string market_id = 1; - VolumeRecord volume = 2[ - (gogoproto.nullable) = false - ]; + VolumeRecord volume = 2 [ (gogoproto.nullable) = false ]; } message DenomDecimals { diff --git a/proto/injective/exchange/v1beta1/genesis.proto b/proto/injective/exchange/v1beta1/genesis.proto index c879f62b..51b99045 100644 --- a/proto/injective/exchange/v1beta1/genesis.proto +++ b/proto/injective/exchange/v1beta1/genesis.proto @@ -10,7 +10,7 @@ option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/mod // GenesisState defines the exchange module's genesis state. message GenesisState { // params defines all the parameters of related to exchange. - Params params = 1 [(gogoproto.nullable) = false]; + Params params = 1 [ (gogoproto.nullable) = false ]; // spot_markets is an array containing the genesis trade pairs repeated SpotMarket spot_markets = 2; @@ -19,31 +19,44 @@ message GenesisState { repeated DerivativeMarket derivative_markets = 3; // spot_orderbook defines the spot exchange limit orderbook active at genesis. - repeated SpotOrderBook spot_orderbook = 4 [(gogoproto.nullable) = false]; + repeated SpotOrderBook spot_orderbook = 4 [ (gogoproto.nullable) = false ]; - // derivative_orderbook defines the derivative exchange limit orderbook active at genesis. - repeated DerivativeOrderBook derivative_orderbook = 5 [(gogoproto.nullable) = false]; + // derivative_orderbook defines the derivative exchange limit orderbook active + // at genesis. + repeated DerivativeOrderBook derivative_orderbook = 5 + [ (gogoproto.nullable) = false ]; // balances defines the exchange users balances active at genesis. - repeated Balance balances = 6 [(gogoproto.nullable) = false]; + repeated Balance balances = 6 [ (gogoproto.nullable) = false ]; // positions defines the exchange derivative positions at genesis - repeated DerivativePosition positions = 7 [(gogoproto.nullable) = false]; - - // subaccount_trade_nonces defines the subaccount trade nonces for the subaccounts at genesis - repeated SubaccountNonce subaccount_trade_nonces = 8 [(gogoproto.nullable) = false]; - - // expiry_futures_market_info defines the market info for the expiry futures markets at genesis - repeated ExpiryFuturesMarketInfoState expiry_futures_market_info_state = 9 [(gogoproto.nullable) = false]; - - // perpetual_market_info defines the market info for the perpetual derivative markets at genesis - repeated PerpetualMarketInfo perpetual_market_info = 10 [(gogoproto.nullable) = false]; - - // perpetual_market_funding_state defines the funding state for the perpetual derivative markets at genesis - repeated PerpetualMarketFundingState perpetual_market_funding_state = 11 [(gogoproto.nullable) = false]; - - // derivative_market_settlement_scheduled defines the scheduled markets for settlement at genesis - repeated DerivativeMarketSettlementInfo derivative_market_settlement_scheduled = 12 [(gogoproto.nullable) = false]; + repeated DerivativePosition positions = 7 [ (gogoproto.nullable) = false ]; + + // subaccount_trade_nonces defines the subaccount trade nonces for the + // subaccounts at genesis + repeated SubaccountNonce subaccount_trade_nonces = 8 + [ (gogoproto.nullable) = false ]; + + // expiry_futures_market_info defines the market info for the expiry futures + // markets at genesis + repeated ExpiryFuturesMarketInfoState expiry_futures_market_info_state = 9 + [ (gogoproto.nullable) = false ]; + + // perpetual_market_info defines the market info for the perpetual derivative + // markets at genesis + repeated PerpetualMarketInfo perpetual_market_info = 10 + [ (gogoproto.nullable) = false ]; + + // perpetual_market_funding_state defines the funding state for the perpetual + // derivative markets at genesis + repeated PerpetualMarketFundingState perpetual_market_funding_state = 11 + [ (gogoproto.nullable) = false ]; + + // derivative_market_settlement_scheduled defines the scheduled markets for + // settlement at genesis + repeated DerivativeMarketSettlementInfo + derivative_market_settlement_scheduled = 12 + [ (gogoproto.nullable) = false ]; // sets spot markets as enabled bool is_spot_exchange_enabled = 13; @@ -58,7 +71,8 @@ message GenesisState { repeated CampaignRewardPool trading_reward_pool_campaign_schedule = 16; // the current trading reward account points - repeated TradingRewardCampaignAccountPoints trading_reward_campaign_account_points = 17; + repeated TradingRewardCampaignAccountPoints + trading_reward_campaign_account_points = 17; // the fee discount schedule FeeDiscountSchedule fee_discount_schedule = 18; @@ -67,38 +81,47 @@ message GenesisState { repeated FeeDiscountAccountTierTTL fee_discount_account_tier_ttl = 19; // the fee discount paid by accounts in all buckets - repeated FeeDiscountBucketVolumeAccounts fee_discount_bucket_volume_accounts = 20; + repeated FeeDiscountBucketVolumeAccounts fee_discount_bucket_volume_accounts = + 20; // sets the first fee cycle as finished bool is_first_fee_cycle_finished = 21; // the current and upcoming trading reward campaign pending pools - repeated CampaignRewardPool pending_trading_reward_pool_campaign_schedule = 22; + repeated CampaignRewardPool pending_trading_reward_pool_campaign_schedule = + 22; // the pending trading reward account points - repeated TradingRewardCampaignAccountPendingPoints pending_trading_reward_campaign_account_points = 23; + repeated TradingRewardCampaignAccountPendingPoints + pending_trading_reward_campaign_account_points = 23; // the addresses opting out of trading rewards repeated string rewards_opt_out_addresses = 24; repeated TradeRecords historical_trade_records = 25; - // binary_options_markets is an array containing the genesis binary options markets + // binary_options_markets is an array containing the genesis binary options + // markets repeated BinaryOptionsMarket binary_options_markets = 26; - // binary_options_markets_scheduled_for_settlement contains the marketIDs of binary options markets scheduled for next-block settlement + // binary_options_markets_scheduled_for_settlement contains the marketIDs of + // binary options markets scheduled for next-block settlement repeated string binary_options_market_ids_scheduled_for_settlement = 27; - // spot_market_ids_scheduled_to_force_close defines the scheduled markets for forced closings at genesis + // spot_market_ids_scheduled_to_force_close defines the scheduled markets for + // forced closings at genesis repeated string spot_market_ids_scheduled_to_force_close = 28; // denom_decimals defines the denom decimals for the exchange. - repeated DenomDecimals denom_decimals = 29 [(gogoproto.nullable) = false]; + repeated DenomDecimals denom_decimals = 29 [ (gogoproto.nullable) = false ]; - // conditional_derivative_orderbook contains conditional orderbooks for all markets (both lmit and market conditional orders) - repeated ConditionalDerivativeOrderBook conditional_derivative_orderbooks = 30; + // conditional_derivative_orderbook contains conditional orderbooks for all + // markets (both lmit and market conditional orders) + repeated ConditionalDerivativeOrderBook conditional_derivative_orderbooks = + 30; - // market_fee_multipliers contains any non-default atomic order fee multipliers + // market_fee_multipliers contains any non-default atomic order fee + // multipliers repeated MarketFeeMultiplier market_fee_multipliers = 31; repeated OrderbookSequence orderbook_sequences = 32; @@ -199,7 +222,8 @@ message SubaccountNonce { option (gogoproto.goproto_getters) = false; string subaccount_id = 1; - SubaccountTradeNonce subaccount_trade_nonce = 2 [(gogoproto.nullable) = false]; + SubaccountTradeNonce subaccount_trade_nonce = 2 + [ (gogoproto.nullable) = false ]; } message ExpiryFuturesMarketInfoState { diff --git a/proto/injective/exchange/v1beta1/query.proto b/proto/injective/exchange/v1beta1/query.proto index 8c9f21e9..773b8d88 100644 --- a/proto/injective/exchange/v1beta1/query.proto +++ b/proto/injective/exchange/v1beta1/query.proto @@ -7,60 +7,79 @@ import "injective/exchange/v1beta1/genesis.proto"; import "injective/oracle/v1beta1/oracle.proto"; import "gogoproto/gogo.proto"; - option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types"; // Query defines the gRPC querier service. service Query { // Retrieves exchange params - rpc QueryExchangeParams(QueryExchangeParamsRequest) returns (QueryExchangeParamsResponse) { + rpc QueryExchangeParams(QueryExchangeParamsRequest) + returns (QueryExchangeParamsResponse) { option (google.api.http).get = "/injective/exchange/v1beta1/exchangeParams"; } // Retrieves a Subaccount's Deposits - rpc SubaccountDeposits(QuerySubaccountDepositsRequest) returns (QuerySubaccountDepositsResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/exchange/subaccountDeposits"; + rpc SubaccountDeposits(QuerySubaccountDepositsRequest) + returns (QuerySubaccountDepositsResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/exchange/subaccountDeposits"; } // Retrieves a Subaccount's Deposits - rpc SubaccountDeposit(QuerySubaccountDepositRequest) returns (QuerySubaccountDepositResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/exchange/subaccountDeposit"; + rpc SubaccountDeposit(QuerySubaccountDepositRequest) + returns (QuerySubaccountDepositResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/exchange/subaccountDeposit"; } // Retrieves all of the balances of all users on the exchange. - rpc ExchangeBalances(QueryExchangeBalancesRequest) returns (QueryExchangeBalancesResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/exchange/exchangeBalances"; + rpc ExchangeBalances(QueryExchangeBalancesRequest) + returns (QueryExchangeBalancesResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/exchange/exchangeBalances"; } // Retrieves the aggregate volumes for the specified account or subaccount - rpc AggregateVolume(QueryAggregateVolumeRequest) returns (QueryAggregateVolumeResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/exchange/aggregateVolume/{account}"; + rpc AggregateVolume(QueryAggregateVolumeRequest) + returns (QueryAggregateVolumeResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/exchange/aggregateVolume/{account}"; } // Retrieves the aggregate volumes for specified accounts - rpc AggregateVolumes(QueryAggregateVolumesRequest) returns (QueryAggregateVolumesResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/exchange/aggregateVolumes"; + rpc AggregateVolumes(QueryAggregateVolumesRequest) + returns (QueryAggregateVolumesResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/exchange/aggregateVolumes"; } // Retrieves the aggregate volume for the specified market - rpc AggregateMarketVolume(QueryAggregateMarketVolumeRequest) returns (QueryAggregateMarketVolumeResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/exchange/aggregateMarketVolume/{market_id}"; + rpc AggregateMarketVolume(QueryAggregateMarketVolumeRequest) + returns (QueryAggregateMarketVolumeResponse) { + option (google.api.http).get = "/injective/exchange/v1beta1/exchange/" + "aggregateMarketVolume/{market_id}"; } // Retrieves the aggregate market volumes for specified markets - rpc AggregateMarketVolumes(QueryAggregateMarketVolumesRequest) returns (QueryAggregateMarketVolumesResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/exchange/aggregateMarketVolumes"; + rpc AggregateMarketVolumes(QueryAggregateMarketVolumesRequest) + returns (QueryAggregateMarketVolumesResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/exchange/aggregateMarketVolumes"; } // Retrieves the denom decimals for a denom. - rpc DenomDecimal(QueryDenomDecimalRequest) returns (QueryDenomDecimalResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/exchange/denom_decimal/{denom}"; + rpc DenomDecimal(QueryDenomDecimalRequest) + returns (QueryDenomDecimalResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/exchange/denom_decimal/{denom}"; } - // Retrieves the denom decimals for multiple denoms. Returns all denom decimals if unspecified. - rpc DenomDecimals(QueryDenomDecimalsRequest) returns (QueryDenomDecimalsResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/exchange/denom_decimals"; + // Retrieves the denom decimals for multiple denoms. Returns all denom + // decimals if unspecified. + rpc DenomDecimals(QueryDenomDecimalsRequest) + returns (QueryDenomDecimalsResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/exchange/denom_decimals"; } // Retrieves a list of spot markets. @@ -70,86 +89,153 @@ service Query { // Retrieves a spot market by ticker rpc SpotMarket(QuerySpotMarketRequest) returns (QuerySpotMarketResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/spot/markets/{market_id}"; + option (google.api.http).get = + "/injective/exchange/v1beta1/spot/markets/{market_id}"; + } + + // Retrieves a list of spot markets with extra information. + rpc FullSpotMarkets(QueryFullSpotMarketsRequest) + returns (QueryFullSpotMarketsResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/spot/full_markets"; + } + + // Retrieves a spot market with extra information. + rpc FullSpotMarket(QueryFullSpotMarketRequest) + returns (QueryFullSpotMarketResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/spot/full_market/{market_id}"; } // Retrieves a spot market's orderbook by marketID - rpc SpotOrderbook(QuerySpotOrderbookRequest) returns (QuerySpotOrderbookResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/spot/orderbook/{market_id}"; + rpc SpotOrderbook(QuerySpotOrderbookRequest) + returns (QuerySpotOrderbookResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/spot/orderbook/{market_id}"; } // Retrieves a trader's spot orders - rpc TraderSpotOrders(QueryTraderSpotOrdersRequest) returns (QueryTraderSpotOrdersResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/spot/orders/{market_id}/{subaccount_id}"; + rpc TraderSpotOrders(QueryTraderSpotOrdersRequest) + returns (QueryTraderSpotOrdersResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/spot/orders/{market_id}/{subaccount_id}"; + } + + // Retrieves all account address spot orders + rpc AccountAddressSpotOrders(QueryAccountAddressSpotOrdersRequest) + returns (QueryAccountAddressSpotOrdersResponse) { + option (google.api.http).get = "/injective/exchange/v1beta1/spot/orders/" + "{market_id}/account/{account_address}"; } - // Retrieves spot orders corresponding to specified order hashes for a given subaccountID and marketID - rpc SpotOrdersByHashes(QuerySpotOrdersByHashesRequest) returns (QuerySpotOrdersByHashesResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/spot/orders_by_hashes/{market_id}/{subaccount_id}"; + // Retrieves spot orders corresponding to specified order hashes for a given + // subaccountID and marketID + rpc SpotOrdersByHashes(QuerySpotOrdersByHashesRequest) + returns (QuerySpotOrdersByHashesResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/spot/orders_by_hashes/{market_id}/" + "{subaccount_id}"; } // Retrieves subaccount's orders - rpc SubaccountOrders(QuerySubaccountOrdersRequest) returns (QuerySubaccountOrdersResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/orders/{subaccount_id}"; + rpc SubaccountOrders(QuerySubaccountOrdersRequest) + returns (QuerySubaccountOrdersResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/orders/{subaccount_id}"; } // Retrieves a trader's transient spot orders - rpc TraderSpotTransientOrders(QueryTraderSpotOrdersRequest) returns (QueryTraderSpotOrdersResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/spot/transient_orders/{market_id}/{subaccount_id}"; + rpc TraderSpotTransientOrders(QueryTraderSpotOrdersRequest) + returns (QueryTraderSpotOrdersResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/spot/transient_orders/{market_id}/" + "{subaccount_id}"; } // Retrieves a spot market's mid-price - rpc SpotMidPriceAndTOB(QuerySpotMidPriceAndTOBRequest) returns (QuerySpotMidPriceAndTOBResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/spot/mid_price_and_tob/{market_id}"; + rpc SpotMidPriceAndTOB(QuerySpotMidPriceAndTOBRequest) + returns (QuerySpotMidPriceAndTOBResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/spot/mid_price_and_tob/{market_id}"; } // Retrieves a derivative market's mid-price - rpc DerivativeMidPriceAndTOB(QueryDerivativeMidPriceAndTOBRequest) returns (QueryDerivativeMidPriceAndTOBResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/derivative/mid_price_and_tob/{market_id}"; + rpc DerivativeMidPriceAndTOB(QueryDerivativeMidPriceAndTOBRequest) + returns (QueryDerivativeMidPriceAndTOBResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/derivative/mid_price_and_tob/{market_id}"; } // Retrieves a derivative market's orderbook by marketID - rpc DerivativeOrderbook(QueryDerivativeOrderbookRequest) returns (QueryDerivativeOrderbookResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/derivative/orderbook/{market_id}"; + rpc DerivativeOrderbook(QueryDerivativeOrderbookRequest) + returns (QueryDerivativeOrderbookResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/derivative/orderbook/{market_id}"; } // Retrieves a trader's derivative orders - rpc TraderDerivativeOrders(QueryTraderDerivativeOrdersRequest) returns (QueryTraderDerivativeOrdersResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/derivative/orders/{market_id}/{subaccount_id}"; + rpc TraderDerivativeOrders(QueryTraderDerivativeOrdersRequest) + returns (QueryTraderDerivativeOrdersResponse) { + option (google.api.http).get = "/injective/exchange/v1beta1/derivative/" + "orders/{market_id}/{subaccount_id}"; + } + + // Retrieves all account address derivative orders + rpc AccountAddressDerivativeOrders(QueryAccountAddressDerivativeOrdersRequest) + returns (QueryAccountAddressDerivativeOrdersResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/derivative/orders/{market_id}/account/" + "{account_address}"; } // Retrieves a trader's derivative orders - rpc DerivativeOrdersByHashes(QueryDerivativeOrdersByHashesRequest) returns (QueryDerivativeOrdersByHashesResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/derivative/orders_by_hashes/{market_id}/{subaccount_id}"; + rpc DerivativeOrdersByHashes(QueryDerivativeOrdersByHashesRequest) + returns (QueryDerivativeOrdersByHashesResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/derivative/orders_by_hashes/{market_id}/" + "{subaccount_id}"; } // Retrieves a trader's transient derivative orders - rpc TraderDerivativeTransientOrders(QueryTraderDerivativeOrdersRequest) returns (QueryTraderDerivativeOrdersResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/derivative/transient_orders/{market_id}/{subaccount_id}"; + rpc TraderDerivativeTransientOrders(QueryTraderDerivativeOrdersRequest) + returns (QueryTraderDerivativeOrdersResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/derivative/transient_orders/{market_id}/" + "{subaccount_id}"; } // Retrieves a list of derivative markets. - rpc DerivativeMarkets(QueryDerivativeMarketsRequest) returns (QueryDerivativeMarketsResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/derivative/markets"; + rpc DerivativeMarkets(QueryDerivativeMarketsRequest) + returns (QueryDerivativeMarketsResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/derivative/markets"; } // Retrieves a derivative market by ticker - rpc DerivativeMarket(QueryDerivativeMarketRequest) returns (QueryDerivativeMarketResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/derivative/markets/{market_id}"; + rpc DerivativeMarket(QueryDerivativeMarketRequest) + returns (QueryDerivativeMarketResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/derivative/markets/{market_id}"; } - // Retrieves a derivative market's corresponding address for fees that contribute to the market's insurance fund - rpc DerivativeMarketAddress(QueryDerivativeMarketAddressRequest) returns (QueryDerivativeMarketAddressResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/derivative/market_address/{market_id}"; + // Retrieves a derivative market's corresponding address for fees that + // contribute to the market's insurance fund + rpc DerivativeMarketAddress(QueryDerivativeMarketAddressRequest) + returns (QueryDerivativeMarketAddressResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/derivative/market_address/{market_id}"; } // Retrieves a subaccount's trade nonce - rpc SubaccountTradeNonce(QuerySubaccountTradeNonceRequest) returns (QuerySubaccountTradeNonceResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/exchange/{subaccount_id}"; + rpc SubaccountTradeNonce(QuerySubaccountTradeNonceRequest) + returns (QuerySubaccountTradeNonceResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/exchange/{subaccount_id}"; } // Retrieves the entire exchange module's state - rpc ExchangeModuleState(QueryModuleStateRequest) returns (QueryModuleStateResponse) { + rpc ExchangeModuleState(QueryModuleStateRequest) + returns (QueryModuleStateResponse) { option (google.api.http).get = "/injective/exchange/v1beta1/module_state"; } @@ -159,122 +245,173 @@ service Query { } // Retrieves subaccount's positions - rpc SubaccountPositions(QuerySubaccountPositionsRequest) returns (QuerySubaccountPositionsResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/positions/{subaccount_id}"; + rpc SubaccountPositions(QuerySubaccountPositionsRequest) + returns (QuerySubaccountPositionsResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/positions/{subaccount_id}"; } // Retrieves subaccount's position in market - rpc SubaccountPositionInMarket(QuerySubaccountPositionInMarketRequest) returns (QuerySubaccountPositionInMarketResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/positions/{subaccount_id}/{market_id}"; + rpc SubaccountPositionInMarket(QuerySubaccountPositionInMarketRequest) + returns (QuerySubaccountPositionInMarketResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/positions/{subaccount_id}/{market_id}"; } // Retrieves subaccount's position in market - rpc SubaccountEffectivePositionInMarket(QuerySubaccountEffectivePositionInMarketRequest) returns (QuerySubaccountEffectivePositionInMarketResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/effective_positions/{subaccount_id}/{market_id}"; + rpc SubaccountEffectivePositionInMarket( + QuerySubaccountEffectivePositionInMarketRequest) + returns (QuerySubaccountEffectivePositionInMarketResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/effective_positions/{subaccount_id}/" + "{market_id}"; } // Retrieves perpetual market info - rpc PerpetualMarketInfo(QueryPerpetualMarketInfoRequest) returns (QueryPerpetualMarketInfoResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/perpetual_market_info/{market_id}"; + rpc PerpetualMarketInfo(QueryPerpetualMarketInfoRequest) + returns (QueryPerpetualMarketInfoResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/perpetual_market_info/{market_id}"; } // Retrieves expiry market info - rpc ExpiryFuturesMarketInfo(QueryExpiryFuturesMarketInfoRequest) returns (QueryExpiryFuturesMarketInfoResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/expiry_market_info/{market_id}"; + rpc ExpiryFuturesMarketInfo(QueryExpiryFuturesMarketInfoRequest) + returns (QueryExpiryFuturesMarketInfoResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/expiry_market_info/{market_id}"; } // Retrieves perpetual market funding - rpc PerpetualMarketFunding(QueryPerpetualMarketFundingRequest) returns (QueryPerpetualMarketFundingResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/perpetual_market_funding/{market_id}"; + rpc PerpetualMarketFunding(QueryPerpetualMarketFundingRequest) + returns (QueryPerpetualMarketFundingResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/perpetual_market_funding/{market_id}"; } // Retrieves subaccount's order metadata - rpc SubaccountOrderMetadata(QuerySubaccountOrderMetadataRequest) returns (QuerySubaccountOrderMetadataResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/order_metadata/{subaccount_id}"; + rpc SubaccountOrderMetadata(QuerySubaccountOrderMetadataRequest) + returns (QuerySubaccountOrderMetadataResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/order_metadata/{subaccount_id}"; } // Retrieves the account and total trade rewards points - rpc TradeRewardPoints(QueryTradeRewardPointsRequest) returns (QueryTradeRewardPointsResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/trade_reward_points"; + rpc TradeRewardPoints(QueryTradeRewardPointsRequest) + returns (QueryTradeRewardPointsResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/trade_reward_points"; } // Retrieves the pending account and total trade rewards points - rpc PendingTradeRewardPoints(QueryTradeRewardPointsRequest) returns (QueryTradeRewardPointsResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/pending_trade_reward_points"; + rpc PendingTradeRewardPoints(QueryTradeRewardPointsRequest) + returns (QueryTradeRewardPointsResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/pending_trade_reward_points"; } // Retrieves the trade reward campaign - rpc TradeRewardCampaign(QueryTradeRewardCampaignRequest) returns (QueryTradeRewardCampaignResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/trade_reward_campaign"; + rpc TradeRewardCampaign(QueryTradeRewardCampaignRequest) + returns (QueryTradeRewardCampaignResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/trade_reward_campaign"; } // Retrieves the account's fee discount info - rpc FeeDiscountAccountInfo(QueryFeeDiscountAccountInfoRequest) returns (QueryFeeDiscountAccountInfoResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/fee_discount_account_info/{account}"; + rpc FeeDiscountAccountInfo(QueryFeeDiscountAccountInfoRequest) + returns (QueryFeeDiscountAccountInfoResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/fee_discount_account_info/{account}"; } // Retrieves the fee discount schedule - rpc FeeDiscountSchedule(QueryFeeDiscountScheduleRequest) returns (QueryFeeDiscountScheduleResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/fee_discount_schedule"; + rpc FeeDiscountSchedule(QueryFeeDiscountScheduleRequest) + returns (QueryFeeDiscountScheduleResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/fee_discount_schedule"; } // Retrieves mismatches between available vs. total balance - rpc BalanceMismatches(QueryBalanceMismatchesRequest) returns (QueryBalanceMismatchesResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/balance_mismatches/{dust_factor}"; + rpc BalanceMismatches(QueryBalanceMismatchesRequest) + returns (QueryBalanceMismatchesResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/balance_mismatches/{dust_factor}"; } // Retrieves available and total balances with balance holds - rpc BalanceWithBalanceHolds(QueryBalanceWithBalanceHoldsRequest) returns (QueryBalanceWithBalanceHoldsResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/balances_with_balance_holds"; + rpc BalanceWithBalanceHolds(QueryBalanceWithBalanceHoldsRequest) + returns (QueryBalanceWithBalanceHoldsResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/balances_with_balance_holds"; } // Retrieves fee discount tier stats - rpc FeeDiscountTierStatistics(QueryFeeDiscountTierStatisticsRequest) returns (QueryFeeDiscountTierStatisticsResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/fee_discount_tier_stats"; + rpc FeeDiscountTierStatistics(QueryFeeDiscountTierStatisticsRequest) + returns (QueryFeeDiscountTierStatisticsResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/fee_discount_tier_stats"; } // Retrieves market making pool info rpc MitoVaultInfos(MitoVaultInfosRequest) returns (MitoVaultInfosResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/mito_vault_infos"; + option (google.api.http).get = + "/injective/exchange/v1beta1/mito_vault_infos"; } // QueryMarketIDFromVault returns the market ID for a given vault subaccount ID rpc QueryMarketIDFromVault(QueryMarketIDFromVaultRequest) returns (QueryMarketIDFromVaultResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/vault_market_id/{vault_subaccount_id}"; + option (google.api.http).get = "/injective/exchange/v1beta1/vault_market_id/{vault_address}"; } // Retrieves historical trade records for a given market ID - rpc HistoricalTradeRecords(QueryHistoricalTradeRecordsRequest) returns (QueryHistoricalTradeRecordsResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/historical_trade_records"; + rpc HistoricalTradeRecords(QueryHistoricalTradeRecordsRequest) + returns (QueryHistoricalTradeRecordsResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/historical_trade_records"; } // Retrieves if the account is opted out of rewards - rpc IsOptedOutOfRewards(QueryIsOptedOutOfRewardsRequest) returns (QueryIsOptedOutOfRewardsResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/is_opted_out_of_rewards/{account}"; + rpc IsOptedOutOfRewards(QueryIsOptedOutOfRewardsRequest) + returns (QueryIsOptedOutOfRewardsResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/is_opted_out_of_rewards/{account}"; } // Retrieves all accounts opted out of rewards - rpc OptedOutOfRewardsAccounts(QueryOptedOutOfRewardsAccountsRequest) returns (QueryOptedOutOfRewardsAccountsResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/opted_out_of_rewards_accounts"; + rpc OptedOutOfRewardsAccounts(QueryOptedOutOfRewardsAccountsRequest) + returns (QueryOptedOutOfRewardsAccountsResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/opted_out_of_rewards_accounts"; } - // MarketVolatility computes the volatility for spot and derivative markets trading history. - rpc MarketVolatility(QueryMarketVolatilityRequest) returns (QueryMarketVolatilityResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/market_volatility/{market_id}"; + // MarketVolatility computes the volatility for spot and derivative markets + // trading history. + rpc MarketVolatility(QueryMarketVolatilityRequest) + returns (QueryMarketVolatilityResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/market_volatility/{market_id}"; } // Retrieves a spot market's orderbook by marketID - rpc BinaryOptionsMarkets(QueryBinaryMarketsRequest) returns (QueryBinaryMarketsResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/binary_options/markets"; + rpc BinaryOptionsMarkets(QueryBinaryMarketsRequest) + returns (QueryBinaryMarketsResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/binary_options/markets"; } // Retrieves a trader's derivative conditional orders - rpc TraderDerivativeConditionalOrders(QueryTraderDerivativeConditionalOrdersRequest) returns (QueryTraderDerivativeConditionalOrdersResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/derivative/orders/conditional/{market_id}/{subaccount_id}"; + rpc TraderDerivativeConditionalOrders( + QueryTraderDerivativeConditionalOrdersRequest) + returns (QueryTraderDerivativeConditionalOrdersResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/derivative/orders/conditional/{market_id}/" + "{subaccount_id}"; } - rpc MarketAtomicExecutionFeeMultiplier(QueryMarketAtomicExecutionFeeMultiplierRequest) returns (QueryMarketAtomicExecutionFeeMultiplierResponse) { - option (google.api.http).get = "/injective/exchange/v1beta1/atomic_order_fee_multiplier"; + rpc MarketAtomicExecutionFeeMultiplier( + QueryMarketAtomicExecutionFeeMultiplierRequest) + returns (QueryMarketAtomicExecutionFeeMultiplierResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/atomic_order_fee_multiplier"; } } @@ -299,58 +436,61 @@ message SubaccountOrderbookMetadataWithMarket { bool isBuy = 3; } -// QueryExchangeParamsRequest is the request type for the Query/ExchangeParams RPC method. +// QueryExchangeParamsRequest is the request type for the Query/ExchangeParams +// RPC method. message QueryExchangeParamsRequest {} -// QueryExchangeParamsRequest is the response type for the Query/ExchangeParams RPC method. +// QueryExchangeParamsRequest is the response type for the Query/ExchangeParams +// RPC method. message QueryExchangeParamsResponse { - Params params = 1 [ - (gogoproto.nullable) = false - ]; + Params params = 1 [ (gogoproto.nullable) = false ]; } -// QuerySubaccountDepositsRequest is the request type for the Query/SubaccountDeposits RPC method. +// QuerySubaccountDepositsRequest is the request type for the +// Query/SubaccountDeposits RPC method. message QuerySubaccountDepositsRequest { string subaccount_id = 1; - Subaccount subaccount = 2[ - (gogoproto.nullable) = true - ]; + Subaccount subaccount = 2 [ (gogoproto.nullable) = true ]; } -// QuerySubaccountDepositsResponse is the response type for the Query/SubaccountDeposits RPC method. -message QuerySubaccountDepositsResponse { - map deposits = 1; -} +// QuerySubaccountDepositsResponse is the response type for the +// Query/SubaccountDeposits RPC method. +message QuerySubaccountDepositsResponse { map deposits = 1; } -// QueryExchangeBalancesRequest is the request type for the Query/ExchangeBalances RPC method. +// QueryExchangeBalancesRequest is the request type for the +// Query/ExchangeBalances RPC method. message QueryExchangeBalancesRequest {} -// QuerySubaccountDepositsResponse is the response type for the Query/SubaccountDeposits RPC method. +// QuerySubaccountDepositsResponse is the response type for the +// Query/SubaccountDeposits RPC method. message QueryExchangeBalancesResponse { - repeated Balance balances = 1 [ - (gogoproto.nullable) = false - ]; + repeated Balance balances = 1 [ (gogoproto.nullable) = false ]; } -// QueryAggregateVolumeRequest is the request type for the Query/AggregateVolume RPC method. +// QueryAggregateVolumeRequest is the request type for the Query/AggregateVolume +// RPC method. message QueryAggregateVolumeRequest { // can either be an address or a subaccount string account = 1; } -// QueryAggregateVolumeResponse is the response type for the Query/AggregateVolume RPC method. +// QueryAggregateVolumeResponse is the response type for the +// Query/AggregateVolume RPC method. message QueryAggregateVolumeResponse { - // if an address is specified, then the aggregate_volumes will aggregate the volumes across all subaccounts for the address + // if an address is specified, then the aggregate_volumes will aggregate the + // volumes across all subaccounts for the address repeated MarketVolume aggregate_volumes = 1; } -// QueryAggregateVolumesRequest is the request type for the Query/AggregateVolumes RPC method. +// QueryAggregateVolumesRequest is the request type for the +// Query/AggregateVolumes RPC method. message QueryAggregateVolumesRequest { repeated string accounts = 1; repeated string market_ids = 2; } -// QueryAggregateVolumesResponse is the response type for the Query/AggregateVolumes RPC method. +// QueryAggregateVolumesResponse is the response type for the +// Query/AggregateVolumes RPC method. message QueryAggregateVolumesResponse { // the aggregate volume records for the accounts specified repeated AggregateAccountVolumeRecord aggregate_account_volumes = 1; @@ -358,100 +498,157 @@ message QueryAggregateVolumesResponse { repeated MarketVolume aggregate_market_volumes = 2; } +// QueryAggregateMarketVolumeRequest is the request type for the +// Query/AggregateMarketVolume RPC method. +message QueryAggregateMarketVolumeRequest { string market_id = 1; } -// QueryAggregateMarketVolumeRequest is the request type for the Query/AggregateMarketVolume RPC method. -message QueryAggregateMarketVolumeRequest { - string market_id = 1; -} - -// QueryAggregateMarketVolumeResponse is the response type for the Query/AggregateMarketVolume RPC method. +// QueryAggregateMarketVolumeResponse is the response type for the +// Query/AggregateMarketVolume RPC method. message QueryAggregateMarketVolumeResponse { - VolumeRecord volume = 1[ - (gogoproto.nullable) = false - ]; + VolumeRecord volume = 1 [ (gogoproto.nullable) = false ]; } -// QueryDenomDecimalRequest is the request type for the Query/DenomDecimal RPC method. -message QueryDenomDecimalRequest { - string denom = 1; -} +// QueryDenomDecimalRequest is the request type for the Query/DenomDecimal RPC +// method. +message QueryDenomDecimalRequest { string denom = 1; } -// QueryDenomDecimalResponse is the response type for the Query/DenomDecimal RPC method. -message QueryDenomDecimalResponse { - uint64 decimal = 1; -} +// QueryDenomDecimalResponse is the response type for the Query/DenomDecimal RPC +// method. +message QueryDenomDecimalResponse { uint64 decimal = 1; } -// QueryDenomDecimalsRequest is the request type for the Query/DenomDecimals RPC method. +// QueryDenomDecimalsRequest is the request type for the Query/DenomDecimals RPC +// method. message QueryDenomDecimalsRequest { // denoms can be empty to query all denom decimals repeated string denoms = 1; } -// QueryDenomDecimalsRequest is the response type for the Query/DenomDecimals RPC method. +// QueryDenomDecimalsRequest is the response type for the Query/DenomDecimals +// RPC method. message QueryDenomDecimalsResponse { - repeated DenomDecimals denom_decimals = 1[ - (gogoproto.nullable) = false - ]; + repeated DenomDecimals denom_decimals = 1 [ (gogoproto.nullable) = false ]; } -// QueryAggregateMarketVolumesRequest is the request type for the Query/AggregateMarketVolumes RPC method. -message QueryAggregateMarketVolumesRequest { - repeated string market_ids = 1; -} +// QueryAggregateMarketVolumesRequest is the request type for the +// Query/AggregateMarketVolumes RPC method. +message QueryAggregateMarketVolumesRequest { repeated string market_ids = 1; } -// QueryAggregateMarketVolumesResponse is the response type for the Query/AggregateMarketVolumes RPC method. +// QueryAggregateMarketVolumesResponse is the response type for the +// Query/AggregateMarketVolumes RPC method. message QueryAggregateMarketVolumesResponse { // the aggregate volumes for the entire market repeated MarketVolume volumes = 1; } -// QuerySubaccountDepositsRequest is the request type for the Query/SubaccountDeposits RPC method. +// QuerySubaccountDepositsRequest is the request type for the +// Query/SubaccountDeposits RPC method. message QuerySubaccountDepositRequest { string subaccount_id = 1; string denom = 2; } -// QuerySubaccountDepositsResponse is the response type for the Query/SubaccountDeposits RPC method. -message QuerySubaccountDepositResponse { - Deposit deposits = 1; -} +// QuerySubaccountDepositsResponse is the response type for the +// Query/SubaccountDeposits RPC method. +message QuerySubaccountDepositResponse { Deposit deposits = 1; } -// QuerySpotMarketsRequest is the request type for the Query/SpotMarkets RPC method. +// QuerySpotMarketsRequest is the request type for the Query/SpotMarkets RPC +// method. message QuerySpotMarketsRequest { // Status of the market, for convenience it is set to string - not enum string status = 1; -} -// QuerySpotMarketsResponse is the response type for the Query/SpotMarkets RPC method. -message QuerySpotMarketsResponse { - repeated SpotMarket markets = 1; + // Filter by market IDs + repeated string market_ids = 2; } -// QuerySpotMarketRequest is the request type for the Query/SpotMarket RPC method. +// QuerySpotMarketsResponse is the response type for the Query/SpotMarkets RPC +// method. +message QuerySpotMarketsResponse { repeated SpotMarket markets = 1; } + +// QuerySpotMarketRequest is the request type for the Query/SpotMarket RPC +// method. message QuerySpotMarketRequest { // Market ID for the market string market_id = 1; } -// QuerySpotMarketResponse is the response type for the Query/SpotMarket RPC method. -message QuerySpotMarketResponse { - SpotMarket market = 1; +// QuerySpotMarketResponse is the response type for the Query/SpotMarket RPC +// method. +message QuerySpotMarketResponse { SpotMarket market = 1; } + + +enum OrderSide { + // will return both + Side_Unspecified = 0; + Buy = 1; + Sell = 2; } -// QuerySpotOrderbookRequest is the request type for the Query/SpotOrderbook RPC method. +// QuerySpotOrderbookRequest is the request type for the Query/SpotOrderbook RPC +// method. message QuerySpotOrderbookRequest { // Market ID for the market string market_id = 1; uint64 limit = 2; + OrderSide order_side = 3; + string limit_cumulative_notional = 4 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = true + ]; + string limit_cumulative_quantity = 5 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = true + ]; } -// QuerySpotOrderbookResponse is the response type for the Query/SpotOrderbook RPC method. +// QuerySpotOrderbookResponse is the response type for the Query/SpotOrderbook +// RPC method. message QuerySpotOrderbookResponse { repeated Level buys_price_level = 1; repeated Level sells_price_level = 2; } -// QueryTraderSpotOrdersRequest is the request type for the Query/TraderSpotOrders RPC method. +message FullSpotMarket { + SpotMarket market = 1; + // mid_price_and_tob defines the mid price for this market and the best ask + // and bid orders + MidPriceAndTOB mid_price_and_tob = 2 [ (gogoproto.nullable) = true ]; +} + +// QueryFullSpotMarketsRequest is the request type for the Query/FullSpotMarkets +// RPC method. +message QueryFullSpotMarketsRequest { + // Status of the market, for convenience it is set to string - not enum + string status = 1; + + // Filter by market IDs + repeated string market_ids = 2; + + // Flag to return the markets mid price and top of the book buy and sell + // orders. + bool with_mid_price_and_tob = 3; +} + +// QueryFullSpotMarketsResponse is the response type for the +// Query/FullSpotMarkets RPC method. +message QueryFullSpotMarketsResponse { repeated FullSpotMarket markets = 1; } + +// QuerySpotMarketRequest is the request type for the Query/SpotMarket RPC +// method. +message QueryFullSpotMarketRequest { + // Market ID for the market + string market_id = 1; + // Flag to return the markets mid price and top of the book buy and sell + // orders. + bool with_mid_price_and_tob = 2; +} + +// QuerySpotMarketResponse is the response type for the Query/SpotMarket RPC +// method. +message QueryFullSpotMarketResponse { FullSpotMarket market = 1; } + +// QuerySpotOrdersByHashesRequest is the request type for the +// Query/SpotOrdersByHashes RPC method. message QuerySpotOrdersByHashesRequest { // Market ID for the market string market_id = 1; @@ -461,12 +658,14 @@ message QuerySpotOrdersByHashesRequest { repeated string order_hashes = 3; } -// QuerySpotOrdersByHashesResponse is the response type for the Query/SpotOrdersByHashes RPC method. +// QuerySpotOrdersByHashesResponse is the response type for the +// Query/SpotOrdersByHashes RPC method. message QuerySpotOrdersByHashesResponse { repeated TrimmedSpotLimitOrder orders = 1; } -// QueryTraderSpotOrdersRequest is the request type for the Query/TraderSpotOrders RPC method. +// QueryTraderSpotOrdersRequest is the request type for the +// Query/TraderSpotOrders RPC method. message QueryTraderSpotOrdersRequest { // Market ID for the market string market_id = 1; @@ -474,6 +673,15 @@ message QueryTraderSpotOrdersRequest { string subaccount_id = 2; } +// QueryAccountAddressSpotOrdersRequest is the request type for the +// Query/AccountAddressSpotOrders RPC method. +message QueryAccountAddressSpotOrdersRequest { + // Market ID for the market + string market_id = 1; + // Account address of the trader + string account_address = 2; +} + message TrimmedSpotLimitOrder { // price of the order string price = 1 [ @@ -495,19 +703,27 @@ message TrimmedSpotLimitOrder { string order_hash = 5; } -// QueryTraderSpotOrdersResponse is the response type for the Query/TraderSpotOrders RPC method. +// QueryTraderSpotOrdersResponse is the response type for the +// Query/TraderSpotOrders RPC method. message QueryTraderSpotOrdersResponse { repeated TrimmedSpotLimitOrder orders = 1; } +// QueryAccountAddressSpotOrdersResponse is the response type for the +// Query/AccountAddressSpotOrders RPC method. +message QueryAccountAddressSpotOrdersResponse { + repeated TrimmedSpotLimitOrder orders = 1; +} -// QuerySpotMidPriceAndTOBRequest is the request type for the Query/SpotMidPriceAndTOB RPC method. +// QuerySpotMidPriceAndTOBRequest is the request type for the +// Query/SpotMidPriceAndTOB RPC method. message QuerySpotMidPriceAndTOBRequest { // Market ID for the market string market_id = 1; } -// QuerySpotMidPriceAndTOBResponse is the response type for the Query/SpotMidPriceAndTOB RPC method. +// QuerySpotMidPriceAndTOBResponse is the response type for the +// Query/SpotMidPriceAndTOB RPC method. message QuerySpotMidPriceAndTOBResponse { // mid price of the market string mid_price = 1 [ @@ -526,13 +742,15 @@ message QuerySpotMidPriceAndTOBResponse { ]; } -// QueryDerivativeMidPriceAndTOBRequest is the request type for the Query/GetDerivativeMidPriceAndTOB RPC method. +// QueryDerivativeMidPriceAndTOBRequest is the request type for the +// Query/GetDerivativeMidPriceAndTOB RPC method. message QueryDerivativeMidPriceAndTOBRequest { // Market ID for the market string market_id = 1; } -// QueryDerivativeMidPriceAndTOBResponse is the response type for the Query/GetDerivativeMidPriceAndTOB RPC method. +// QueryDerivativeMidPriceAndTOBResponse is the response type for the +// Query/GetDerivativeMidPriceAndTOB RPC method. message QueryDerivativeMidPriceAndTOBResponse { // mid price of the market string mid_price = 1 [ @@ -551,14 +769,20 @@ message QueryDerivativeMidPriceAndTOBResponse { ]; } -// QueryDerivativeOrderbookRequest is the request type for the Query/DerivativeOrderbook RPC method. +// QueryDerivativeOrderbookRequest is the request type for the +// Query/DerivativeOrderbook RPC method. message QueryDerivativeOrderbookRequest { // Market ID for the market string market_id = 1; uint64 limit = 2; + string limit_cumulative_notional = 3 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = true + ]; } -// QueryDerivativeOrderbookResponse is the response type for the Query/DerivativeOrderbook RPC method. +// QueryDerivativeOrderbookResponse is the response type for the +// Query/DerivativeOrderbook RPC method. message QueryDerivativeOrderbookResponse { repeated Level buys_price_level = 1; repeated Level sells_price_level = 2; @@ -573,10 +797,12 @@ enum CancellationStrategy { // e.g. for buy orders from higest to lowest price FromBestToWorst = 2; - // more strategies could be imagined like cancel buy first or cancel sell first + // more strategies could be imagined like cancel buy first or cancel sell + // first } -// QueryTraderSpotOrdersToCancelUpToAmountRequest is the request type for the Query/TraderSpotOrdersToCancelUpToAmountRequest RPC method. +// QueryTraderSpotOrdersToCancelUpToAmountRequest is the request type for the +// Query/TraderSpotOrdersToCancelUpToAmountRequest RPC method. message QueryTraderSpotOrdersToCancelUpToAmountRequest { // Market ID for the market string market_id = 1; @@ -594,14 +820,16 @@ message QueryTraderSpotOrdersToCancelUpToAmountRequest { ]; // The cancellation strategy CancellationStrategy strategy = 5; - // The reference price for the cancellation strategy, e.g. mid price or mark price + // The reference price for the cancellation strategy, e.g. mid price or mark + // price string reference_price = 6 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true ]; } -// QueryTraderDerivativeOrdersToCancelUpToAmountRequest is the request type for the Query/TraderDerivativeOrdersToCancelUpToAmountRequest RPC method. +// QueryTraderDerivativeOrdersToCancelUpToAmountRequest is the request type for +// the Query/TraderDerivativeOrdersToCancelUpToAmountRequest RPC method. message QueryTraderDerivativeOrdersToCancelUpToAmountRequest { // Market ID for the market string market_id = 1; @@ -614,14 +842,16 @@ message QueryTraderDerivativeOrdersToCancelUpToAmountRequest { ]; // The cancellation strategy CancellationStrategy strategy = 4; - // The reference price for the cancellation strategy, e.g. mid price or mark price + // The reference price for the cancellation strategy, e.g. mid price or mark + // price string reference_price = 5 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true ]; } -// QueryTraderDerivativeOrdersRequest is the request type for the Query/TraderDerivativeOrders RPC method. +// QueryTraderDerivativeOrdersRequest is the request type for the +// Query/TraderDerivativeOrders RPC method. message QueryTraderDerivativeOrdersRequest { // Market ID for the market string market_id = 1; @@ -629,6 +859,15 @@ message QueryTraderDerivativeOrdersRequest { string subaccount_id = 2; } +// QueryAccountAddressSpotOrdersRequest is the request type for the +// Query/AccountAddressDerivativeOrders RPC method. +message QueryAccountAddressDerivativeOrdersRequest { + // Market ID for the market + string market_id = 1; + // Account address of the trader + string account_address = 2; +} + message TrimmedDerivativeLimitOrder { // price of the order string price = 1 [ @@ -651,16 +890,25 @@ message TrimmedDerivativeLimitOrder { (gogoproto.nullable) = false ]; // true if the order is a buy - bool isBuy = 5[(gogoproto.jsontag) = "isBuy"]; // ensure omitempty is not in jsontag + bool isBuy = 5 + [ (gogoproto.jsontag) = "isBuy" ]; // ensure omitempty is not in jsontag string order_hash = 6; } -// QueryTraderDerivativeOrdersResponse is the response type for the Query/TraderDerivativeOrders RPC method. +// QueryTraderDerivativeOrdersResponse is the response type for the +// Query/TraderDerivativeOrders RPC method. message QueryTraderDerivativeOrdersResponse { repeated TrimmedDerivativeLimitOrder orders = 1; } -// QueryTraderDerivativeOrdersRequest is the request type for the Query/TraderDerivativeOrders RPC method. +// QueryAccountAddressDerivativeOrdersResponse is the response type for the +// Query/AccountAddressDerivativeOrders RPC method. +message QueryAccountAddressDerivativeOrdersResponse { + repeated TrimmedDerivativeLimitOrder orders = 1; +} + +// QueryTraderDerivativeOrdersRequest is the request type for the +// Query/TraderDerivativeOrders RPC method. message QueryDerivativeOrdersByHashesRequest { // Market ID for the market string market_id = 1; @@ -670,15 +918,24 @@ message QueryDerivativeOrdersByHashesRequest { repeated string order_hashes = 3; } -// QueryDerivativeOrdersByHashesResponse is the response type for the Query/DerivativeOrdersByHashes RPC method. +// QueryDerivativeOrdersByHashesResponse is the response type for the +// Query/DerivativeOrdersByHashes RPC method. message QueryDerivativeOrdersByHashesResponse { repeated TrimmedDerivativeLimitOrder orders = 1; } -// QueryDerivativeMarketsRequest is the request type for the Query/DerivativeMarkets RPC method. +// QueryDerivativeMarketsRequest is the request type for the +// Query/DerivativeMarkets RPC method. message QueryDerivativeMarketsRequest { // Status of the market, for convenience it is set to string - not enum string status = 1; + + // Filter by market IDs + repeated string market_ids = 2; + + // Flag to return the markets mid price and top of the book buy and sell + // orders. + bool with_mid_price_and_tob = 3; } message PriceLevel { @@ -704,35 +961,42 @@ message FullDerivativeMarket { PerpetualMarketState perpetual_info = 2; ExpiryFuturesMarketInfo futures_info = 3; } - string mark_price = 4[ + string mark_price = 4 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; + + // mid_price_and_tob defines the mid price for this market and the best ask + // and bid orders + MidPriceAndTOB mid_price_and_tob = 5 [ (gogoproto.nullable) = true ]; } -// QueryDerivativeMarketsResponse is the response type for the Query/DerivativeMarkets RPC method. +// QueryDerivativeMarketsResponse is the response type for the +// Query/DerivativeMarkets RPC method. message QueryDerivativeMarketsResponse { repeated FullDerivativeMarket markets = 1; } -// QueryDerivativeMarketRequest is the request type for the Query/DerivativeMarket RPC method. +// QueryDerivativeMarketRequest is the request type for the +// Query/DerivativeMarket RPC method. message QueryDerivativeMarketRequest { // Market ID for the market string market_id = 1; } -// QueryDerivativeMarketResponse is the response type for the Query/DerivativeMarket RPC method. -message QueryDerivativeMarketResponse { - FullDerivativeMarket market = 1; -} +// QueryDerivativeMarketResponse is the response type for the +// Query/DerivativeMarket RPC method. +message QueryDerivativeMarketResponse { FullDerivativeMarket market = 1; } -// QueryDerivativeMarketAddressRequest is the request type for the Query/DerivativeMarketAddress RPC method. +// QueryDerivativeMarketAddressRequest is the request type for the +// Query/DerivativeMarketAddress RPC method. message QueryDerivativeMarketAddressRequest { // Market ID for the market string market_id = 1; } -// QueryDerivativeMarketAddressResponse is the response type for the Query/DerivativeMarketAddress RPC method. +// QueryDerivativeMarketAddressResponse is the response type for the +// Query/DerivativeMarketAddress RPC method. message QueryDerivativeMarketAddressResponse { // address for the market string address = 1; @@ -740,41 +1004,42 @@ message QueryDerivativeMarketAddressResponse { string subaccount_id = 2; } -// QuerySubaccountTradeNonceRequest is the request type for the Query/SubaccountTradeNonce RPC method. -message QuerySubaccountTradeNonceRequest { - string subaccount_id = 1; -} +// QuerySubaccountTradeNonceRequest is the request type for the +// Query/SubaccountTradeNonce RPC method. +message QuerySubaccountTradeNonceRequest { string subaccount_id = 1; } -// QuerySubaccountPositionsRequest is the request type for the Query/SubaccountPositions RPC method. -message QuerySubaccountPositionsRequest { - string subaccount_id = 1; -} +// QuerySubaccountPositionsRequest is the request type for the +// Query/SubaccountPositions RPC method. +message QuerySubaccountPositionsRequest { string subaccount_id = 1; } -// QuerySubaccountPositionInMarketRequest is the request type for the Query/SubaccountPositionInMarket RPC method. +// QuerySubaccountPositionInMarketRequest is the request type for the +// Query/SubaccountPositionInMarket RPC method. message QuerySubaccountPositionInMarketRequest { string subaccount_id = 1; string market_id = 2; } -// QuerySubaccountEffectivePositionInMarketRequest is the request type for the Query/SubaccountEffectivePositionInMarket RPC method. +// QuerySubaccountEffectivePositionInMarketRequest is the request type for the +// Query/SubaccountEffectivePositionInMarket RPC method. message QuerySubaccountEffectivePositionInMarketRequest { string subaccount_id = 1; string market_id = 2; } -// QuerySubaccountOrderMetadataRequest is the request type for the Query/SubaccountOrderMetadata RPC method. -message QuerySubaccountOrderMetadataRequest { - string subaccount_id = 1; -} +// QuerySubaccountOrderMetadataRequest is the request type for the +// Query/SubaccountOrderMetadata RPC method. +message QuerySubaccountOrderMetadataRequest { string subaccount_id = 1; } -// QuerySubaccountPositionsResponse is the response type for the Query/SubaccountPositions RPC method. +// QuerySubaccountPositionsResponse is the response type for the +// Query/SubaccountPositions RPC method. message QuerySubaccountPositionsResponse { - repeated DerivativePosition state = 1[(gogoproto.nullable) = false]; + repeated DerivativePosition state = 1 [ (gogoproto.nullable) = false ]; } -// QuerySubaccountPositionInMarketResponse is the response type for the Query/SubaccountPositionInMarket RPC method. +// QuerySubaccountPositionInMarketResponse is the response type for the +// Query/SubaccountPositionInMarket RPC method. message QuerySubaccountPositionInMarketResponse { - Position state = 1[(gogoproto.nullable) = true]; + Position state = 1 [ (gogoproto.nullable) = true ]; } message EffectivePosition { @@ -793,74 +1058,79 @@ message EffectivePosition { ]; } -// QuerySubaccountEffectivePositionInMarketResponse is the response type for the Query/SubaccountEffectivePositionInMarket RPC method. +// QuerySubaccountEffectivePositionInMarketResponse is the response type for the +// Query/SubaccountEffectivePositionInMarket RPC method. message QuerySubaccountEffectivePositionInMarketResponse { - EffectivePosition state = 1[(gogoproto.nullable) = true]; + EffectivePosition state = 1 [ (gogoproto.nullable) = true ]; } -// QueryPerpetualMarketInfoRequest is the request type for the Query/PerpetualMarketInfo RPC method. -message QueryPerpetualMarketInfoRequest { - string market_id = 1; -} +// QueryPerpetualMarketInfoRequest is the request type for the +// Query/PerpetualMarketInfo RPC method. +message QueryPerpetualMarketInfoRequest { string market_id = 1; } -// QueryPerpetualMarketInfoResponse is the response type for the Query/PerpetualMarketInfo RPC method. +// QueryPerpetualMarketInfoResponse is the response type for the +// Query/PerpetualMarketInfo RPC method. message QueryPerpetualMarketInfoResponse { - PerpetualMarketInfo info = 1[(gogoproto.nullable) = false]; + PerpetualMarketInfo info = 1 [ (gogoproto.nullable) = false ]; } -// QueryExpiryFuturesMarketInfoRequest is the request type for the Query/ ExpiryFuturesMarketInfo RPC method. -message QueryExpiryFuturesMarketInfoRequest { - string market_id = 1; -} +// QueryExpiryFuturesMarketInfoRequest is the request type for the Query/ +// ExpiryFuturesMarketInfo RPC method. +message QueryExpiryFuturesMarketInfoRequest { string market_id = 1; } -// QueryExpiryFuturesMarketInfoResponse is the response type for the Query/ ExpiryFuturesMarketInfo RPC method. +// QueryExpiryFuturesMarketInfoResponse is the response type for the Query/ +// ExpiryFuturesMarketInfo RPC method. message QueryExpiryFuturesMarketInfoResponse { - ExpiryFuturesMarketInfo info = 1[(gogoproto.nullable) = false]; + ExpiryFuturesMarketInfo info = 1 [ (gogoproto.nullable) = false ]; } -// QueryPerpetualMarketFundingRequest is the request type for the Query/PerpetualMarketFunding RPC method. -message QueryPerpetualMarketFundingRequest { - string market_id = 1; -} +// QueryPerpetualMarketFundingRequest is the request type for the +// Query/PerpetualMarketFunding RPC method. +message QueryPerpetualMarketFundingRequest { string market_id = 1; } -// QueryPerpetualMarketFundingResponse is the response type for the Query/PerpetualMarketFunding RPC method. +// QueryPerpetualMarketFundingResponse is the response type for the +// Query/PerpetualMarketFunding RPC method. message QueryPerpetualMarketFundingResponse { - PerpetualMarketFunding state = 1[(gogoproto.nullable) = false]; + PerpetualMarketFunding state = 1 [ (gogoproto.nullable) = false ]; } -// QuerySubaccountOrderMetadataResponse is the response type for the Query/SubaccountOrderMetadata RPC method. +// QuerySubaccountOrderMetadataResponse is the response type for the +// Query/SubaccountOrderMetadata RPC method. message QuerySubaccountOrderMetadataResponse { - repeated SubaccountOrderbookMetadataWithMarket metadata = 1[(gogoproto.nullable) = false]; + repeated SubaccountOrderbookMetadataWithMarket metadata = 1 + [ (gogoproto.nullable) = false ]; } -// QuerySubaccountTradeNonceResponse is the response type for the Query/SubaccountTradeNonce RPC method. -message QuerySubaccountTradeNonceResponse { - uint32 nonce = 1; -} +// QuerySubaccountTradeNonceResponse is the response type for the +// Query/SubaccountTradeNonce RPC method. +message QuerySubaccountTradeNonceResponse { uint32 nonce = 1; } -// QueryModuleStateRequest is the request type for the Query/ExchangeModuleState RPC method. +// QueryModuleStateRequest is the request type for the Query/ExchangeModuleState +// RPC method. message QueryModuleStateRequest {} -// QueryModuleStateResponse is the response type for the Query/ExchangeModuleState RPC method. -message QueryModuleStateResponse { - GenesisState state = 1; -} +// QueryModuleStateResponse is the response type for the +// Query/ExchangeModuleState RPC method. +message QueryModuleStateResponse { GenesisState state = 1; } // QueryPositionsRequest is the request type for the Query/Positions RPC method. message QueryPositionsRequest {} -// QueryPositionsResponse is the response type for the Query/Positions RPC method. +// QueryPositionsResponse is the response type for the Query/Positions RPC +// method. message QueryPositionsResponse { - repeated DerivativePosition state = 1[(gogoproto.nullable) = false]; + repeated DerivativePosition state = 1 [ (gogoproto.nullable) = false ]; } -// QueryTradeRewardPointsRequest is the request type for the Query/TradeRewardPoints RPC method. +// QueryTradeRewardPointsRequest is the request type for the +// Query/TradeRewardPoints RPC method. message QueryTradeRewardPointsRequest { repeated string accounts = 1; int64 pending_pool_timestamp = 2; } -// QueryTradeRewardPointsResponse is the response type for the Query/TradeRewardPoints RPC method. +// QueryTradeRewardPointsResponse is the response type for the +// Query/TradeRewardPoints RPC method. message QueryTradeRewardPointsResponse { repeated string account_trade_reward_points = 1 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", @@ -868,10 +1138,12 @@ message QueryTradeRewardPointsResponse { ]; } -// QueryTradeRewardCampaignRequest is the request type for the Query/TradeRewardCampaign RPC method. +// QueryTradeRewardCampaignRequest is the request type for the +// Query/TradeRewardCampaign RPC method. message QueryTradeRewardCampaignRequest {} -// QueryTradeRewardCampaignResponse is the response type for the Query/TradeRewardCampaign RPC method. +// QueryTradeRewardCampaignResponse is the response type for the +// Query/TradeRewardCampaign RPC method. message QueryTradeRewardCampaignResponse { TradingRewardCampaignInfo trading_reward_campaign_info = 1; repeated CampaignRewardPool trading_reward_pool_campaign_schedule = 2; @@ -886,49 +1158,47 @@ message QueryTradeRewardCampaignResponse { ]; } -// QueryIsRegisteredDMMRequest is the request type for the Query/IsRegisteredDMM RPC method. -message QueryIsOptedOutOfRewardsRequest { - string account = 1; -} +// QueryIsRegisteredDMMRequest is the request type for the Query/IsRegisteredDMM +// RPC method. +message QueryIsOptedOutOfRewardsRequest { string account = 1; } -// QueryIsRegisteredDMMResponse is the response type for the Query/IsRegisteredDMM RPC method. -message QueryIsOptedOutOfRewardsResponse { - bool is_opted_out = 1; -} +// QueryIsRegisteredDMMResponse is the response type for the +// Query/IsRegisteredDMM RPC method. +message QueryIsOptedOutOfRewardsResponse { bool is_opted_out = 1; } -// QueryRegisteredDMMsRequest is the request type for the Query/RegisteredDMMs RPC method. -message QueryOptedOutOfRewardsAccountsRequest { -} +// QueryRegisteredDMMsRequest is the request type for the Query/RegisteredDMMs +// RPC method. +message QueryOptedOutOfRewardsAccountsRequest {} -// QueryRegisteredDMMsResponse is the response type for the Query/RegisteredDMMs RPC method. -message QueryOptedOutOfRewardsAccountsResponse { - repeated string accounts = 1; -} +// QueryRegisteredDMMsResponse is the response type for the Query/RegisteredDMMs +// RPC method. +message QueryOptedOutOfRewardsAccountsResponse { repeated string accounts = 1; } -// QueryFeeDiscountAccountInfoRequest is the request type for the Query/FeeDiscountAccountInfo RPC method. -message QueryFeeDiscountAccountInfoRequest { - string account = 1; -} +// QueryFeeDiscountAccountInfoRequest is the request type for the +// Query/FeeDiscountAccountInfo RPC method. +message QueryFeeDiscountAccountInfoRequest { string account = 1; } -// QueryFeeDiscountAccountInfoResponse is the response type for the Query/FeeDiscountAccountInfo RPC method. +// QueryFeeDiscountAccountInfoResponse is the response type for the +// Query/FeeDiscountAccountInfo RPC method. message QueryFeeDiscountAccountInfoResponse { uint64 tier_level = 1; FeeDiscountTierInfo account_info = 2; FeeDiscountTierTTL account_ttl = 3; } -// QueryFeeDiscountScheduleRequest is the request type for the Query/FeeDiscountSchedule RPC method. +// QueryFeeDiscountScheduleRequest is the request type for the +// Query/FeeDiscountSchedule RPC method. message QueryFeeDiscountScheduleRequest {} -// QueryFeeDiscountScheduleResponse is the response type for the Query/FeeDiscountSchedule RPC method. +// QueryFeeDiscountScheduleResponse is the response type for the +// Query/FeeDiscountSchedule RPC method. message QueryFeeDiscountScheduleResponse { FeeDiscountSchedule fee_discount_schedule = 1; } -// QueryBalanceMismatchesRequest is the request type for the Query/QueryBalanceMismatches RPC method. -message QueryBalanceMismatchesRequest { - int64 dust_factor = 1; -} +// QueryBalanceMismatchesRequest is the request type for the +// Query/QueryBalanceMismatches RPC method. +message QueryBalanceMismatchesRequest { int64 dust_factor = 1; } message BalanceMismatch { string subaccountId = 1; @@ -955,12 +1225,14 @@ message BalanceMismatch { ]; } -// QueryBalanceMismatchesResponse is the response type for the Query/QueryBalanceMismatches RPC method. +// QueryBalanceMismatchesResponse is the response type for the +// Query/QueryBalanceMismatches RPC method. message QueryBalanceMismatchesResponse { repeated BalanceMismatch balance_mismatches = 1; } -// QueryBalanceWithBalanceHoldsRequest is the request type for the Query/QueryBalanceWithBalanceHolds RPC method. +// QueryBalanceWithBalanceHoldsRequest is the request type for the +// Query/QueryBalanceWithBalanceHolds RPC method. message QueryBalanceWithBalanceHoldsRequest {} message BalanceWithMarginHold { @@ -980,12 +1252,14 @@ message BalanceWithMarginHold { ]; } -// QueryBalanceWithBalanceHoldsResponse is the response type for the Query/QueryBalanceWithBalanceHolds RPC method. +// QueryBalanceWithBalanceHoldsResponse is the response type for the +// Query/QueryBalanceWithBalanceHolds RPC method. message QueryBalanceWithBalanceHoldsResponse { repeated BalanceWithMarginHold balance_with_balance_holds = 1; } -// QueryFeeDiscountTierStatisticsRequest is the request type for the Query/QueryFeeDiscountTierStatistics RPC method. +// QueryFeeDiscountTierStatisticsRequest is the request type for the +// Query/QueryFeeDiscountTierStatistics RPC method. message QueryFeeDiscountTierStatisticsRequest {} message TierStatistic { @@ -993,16 +1267,18 @@ message TierStatistic { uint64 count = 2; } -// QueryFeeDiscountTierStatisticsResponse is the response type for the Query/QueryFeeDiscountTierStatistics RPC method. +// QueryFeeDiscountTierStatisticsResponse is the response type for the +// Query/QueryFeeDiscountTierStatistics RPC method. message QueryFeeDiscountTierStatisticsResponse { repeated TierStatistic statistics = 1; } -// MitoVaultInfosRequest is the request type for the Query/MitoVaultInfos RPC method. -message MitoVaultInfosRequest { -} +// MitoVaultInfosRequest is the request type for the Query/MitoVaultInfos RPC +// method. +message MitoVaultInfosRequest {} -// MitoVaultInfosResponse is the response type for the Query/MitoVaultInfos RPC method. +// MitoVaultInfosResponse is the response type for the Query/MitoVaultInfos RPC +// method. message MitoVaultInfosResponse { repeated string master_addresses = 1; repeated string derivative_addresses = 2; @@ -1012,60 +1288,64 @@ message MitoVaultInfosResponse { // QueryMarketIDFromVaultRequest is the request type for the Query/QueryMarketIDFromVault RPC method. message QueryMarketIDFromVaultRequest { - string vault_subaccount_id = 1; + string vault_address = 1; } -// QueryMarketIDFromVaultResponse is the response type for the Query/QueryMarketIDFromVault RPC method. -message QueryMarketIDFromVaultResponse { - string market_id = 1; -} +// QueryMarketIDFromVaultResponse is the response type for the +// Query/QueryMarketIDFromVault RPC method. +message QueryMarketIDFromVaultResponse { string market_id = 1; } -message QueryHistoricalTradeRecordsRequest { - string market_id = 1; -} +message QueryHistoricalTradeRecordsRequest { string market_id = 1; } message QueryHistoricalTradeRecordsResponse { repeated TradeRecords trade_records = 1; } -// TradeHistoryOptions are the optional params for Query/MarketVolatility RPC method. +// TradeHistoryOptions are the optional params for Query/MarketVolatility RPC +// method. message TradeHistoryOptions { // TradeGroupingSec of 0 means use the chain's default grouping uint64 trade_grouping_sec = 1; - // MaxAge restricts the trade records oldest age in seconds from the current block time to consider. - // A value of 0 means use all the records present on the chain. + // MaxAge restricts the trade records oldest age in seconds from the current block time to consider. + // A value of 0 means use all the records present on the chain. uint64 max_age = 2; - // If IncludeRawHistory is true, the raw underlying data used for the computation is included in the response + // If IncludeRawHistory is true, the raw underlying data used for the + // computation is included in the response bool include_raw_history = 4; - // If IncludeMetadata is true, metadata on the computation is included in the response + // If IncludeMetadata is true, metadata on the computation is included in the + // response bool include_metadata = 5; } -// QueryMarketVolatilityRequest are the request params for the Query/MarketVolatility RPC method. +// QueryMarketVolatilityRequest are the request params for the +// Query/MarketVolatility RPC method. message QueryMarketVolatilityRequest { string market_id = 1; TradeHistoryOptions trade_history_options = 2; } -// QueryMarketVolatilityResponse is the response type for the Query/MarketVolatility RPC method. +// QueryMarketVolatilityResponse is the response type for the +// Query/MarketVolatility RPC method. message QueryMarketVolatilityResponse { - string volatility = 1 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec"]; + string volatility = 1 + [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec" ]; injective.oracle.v1beta1.MetadataStatistics history_metadata = 2; repeated TradeRecord raw_history = 3; } -// QuerBinaryMarketsRequest is the request type for the Query/BinaryMarkets RPC method. +// QuerBinaryMarketsRequest is the request type for the Query/BinaryMarkets RPC +// method. message QueryBinaryMarketsRequest { // Status of the market, for convenience it is set to string - not enum string status = 1; } -// QueryBinaryMarketsResponse is the response type for the Query/BinaryMarkets RPC method. -message QueryBinaryMarketsResponse { - repeated BinaryOptionsMarket markets = 1; -} +// QueryBinaryMarketsResponse is the response type for the Query/BinaryMarkets +// RPC method. +message QueryBinaryMarketsResponse { repeated BinaryOptionsMarket markets = 1; } -// QueryConditionalOrdersRequest is the request type for the Query/ConditionalOrders RPC method. +// QueryConditionalOrdersRequest is the request type for the +// Query/ConditionalOrders RPC method. message QueryTraderDerivativeConditionalOrdersRequest { string subaccount_id = 1; string market_id = 2; @@ -1093,19 +1373,19 @@ message TrimmedDerivativeConditionalOrder { (gogoproto.nullable) = false ]; // true if the order is a buy - bool isBuy = 5[(gogoproto.jsontag) = "isBuy"]; // ensure omitempty is not in jsontag - bool isLimit = 6[(gogoproto.jsontag) = "isLimit"]; + bool isBuy = 5 + [ (gogoproto.jsontag) = "isBuy" ]; // ensure omitempty is not in jsontag + bool isLimit = 6 [ (gogoproto.jsontag) = "isLimit" ]; string order_hash = 7; } -// QueryTraderDerivativeOrdersResponse is the response type for the Query/TraderDerivativeOrders RPC method. +// QueryTraderDerivativeOrdersResponse is the response type for the +// Query/TraderDerivativeOrders RPC method. message QueryTraderDerivativeConditionalOrdersResponse { repeated TrimmedDerivativeConditionalOrder orders = 1; } -message QueryMarketAtomicExecutionFeeMultiplierRequest { - string market_id = 1; -} +message QueryMarketAtomicExecutionFeeMultiplierRequest { string market_id = 1; } message QueryMarketAtomicExecutionFeeMultiplierResponse { string multiplier = 1 [ diff --git a/proto/injective/exchange/v1beta1/tx.proto b/proto/injective/exchange/v1beta1/tx.proto index 3fb85b57..e90848a7 100644 --- a/proto/injective/exchange/v1beta1/tx.proto +++ b/proto/injective/exchange/v1beta1/tx.proto @@ -1,142 +1,213 @@ syntax = "proto3"; package injective.exchange.v1beta1; -import "gogoproto/gogo.proto"; -import "injective/oracle/v1beta1/oracle.proto"; -import "injective/exchange/v1beta1/exchange.proto"; import "cosmos/base/v1beta1/coin.proto"; import "cosmos/distribution/v1beta1/distribution.proto"; +import "cosmos/msg/v1/msg.proto"; import "cosmos_proto/cosmos.proto"; +import "gogoproto/gogo.proto"; +import "injective/exchange/v1beta1/exchange.proto"; +import "injective/oracle/v1beta1/oracle.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types"; // Msg defines the exchange Msg service. service Msg { - - // Deposit defines a method for transferring coins from the sender's bank balance into the subaccount's exchange deposits + // Deposit defines a method for transferring coins from the sender's bank + // balance into the subaccount's exchange deposits rpc Deposit(MsgDeposit) returns (MsgDepositResponse); - // Withdraw defines a method for withdrawing coins from a subaccount's deposits to the user's bank balance + // Withdraw defines a method for withdrawing coins from a subaccount's + // deposits to the user's bank balance rpc Withdraw(MsgWithdraw) returns (MsgWithdrawResponse); - // InstantSpotMarketLaunch defines method for creating a spot market by paying listing fee without governance - rpc InstantSpotMarketLaunch(MsgInstantSpotMarketLaunch) returns (MsgInstantSpotMarketLaunchResponse); + // InstantSpotMarketLaunch defines method for creating a spot market by paying + // listing fee without governance + rpc InstantSpotMarketLaunch(MsgInstantSpotMarketLaunch) + returns (MsgInstantSpotMarketLaunchResponse); - // InstantPerpetualMarketLaunch defines a method for creating a new perpetual futures market by paying listing fee without governance - rpc InstantPerpetualMarketLaunch(MsgInstantPerpetualMarketLaunch) returns (MsgInstantPerpetualMarketLaunchResponse); + // InstantPerpetualMarketLaunch defines a method for creating a new perpetual + // futures market by paying listing fee without governance + rpc InstantPerpetualMarketLaunch(MsgInstantPerpetualMarketLaunch) + returns (MsgInstantPerpetualMarketLaunchResponse); - // InstantExpiryFuturesMarketLaunch defines a method for creating a new expiry futures market by paying listing fee without governance - rpc InstantExpiryFuturesMarketLaunch(MsgInstantExpiryFuturesMarketLaunch) returns (MsgInstantExpiryFuturesMarketLaunchResponse); + // InstantExpiryFuturesMarketLaunch defines a method for creating a new expiry + // futures market by paying listing fee without governance + rpc InstantExpiryFuturesMarketLaunch(MsgInstantExpiryFuturesMarketLaunch) + returns (MsgInstantExpiryFuturesMarketLaunchResponse); // CreateSpotLimitOrder defines a method for creating a new spot limit order. - rpc CreateSpotLimitOrder(MsgCreateSpotLimitOrder) returns (MsgCreateSpotLimitOrderResponse); + rpc CreateSpotLimitOrder(MsgCreateSpotLimitOrder) + returns (MsgCreateSpotLimitOrderResponse); - // BatchCreateSpotLimitOrder defines a method for creating a new batch of spot limit orders. - rpc BatchCreateSpotLimitOrders(MsgBatchCreateSpotLimitOrders) returns (MsgBatchCreateSpotLimitOrdersResponse); + // BatchCreateSpotLimitOrder defines a method for creating a new batch of spot + // limit orders. + rpc BatchCreateSpotLimitOrders(MsgBatchCreateSpotLimitOrders) + returns (MsgBatchCreateSpotLimitOrdersResponse); - // CreateSpotMarketOrder defines a method for creating a new spot market order. - rpc CreateSpotMarketOrder(MsgCreateSpotMarketOrder) returns (MsgCreateSpotMarketOrderResponse); + // CreateSpotMarketOrder defines a method for creating a new spot market + // order. + rpc CreateSpotMarketOrder(MsgCreateSpotMarketOrder) + returns (MsgCreateSpotMarketOrderResponse); // MsgCancelSpotOrder defines a method for cancelling a spot order. rpc CancelSpotOrder(MsgCancelSpotOrder) returns (MsgCancelSpotOrderResponse); - // BatchCancelSpotOrders defines a method for cancelling a batch of spot orders in a given market. - rpc BatchCancelSpotOrders(MsgBatchCancelSpotOrders) returns (MsgBatchCancelSpotOrdersResponse); + // BatchCancelSpotOrders defines a method for cancelling a batch of spot + // orders in a given market. + rpc BatchCancelSpotOrders(MsgBatchCancelSpotOrders) + returns (MsgBatchCancelSpotOrdersResponse); // BatchUpdateOrders defines a method for updating a batch of orders. - rpc BatchUpdateOrders(MsgBatchUpdateOrders) returns (MsgBatchUpdateOrdersResponse); - - // PrivilegedExecuteContract defines a method for executing a Cosmwasm contract from the exchange module with privileged capabilities. - rpc PrivilegedExecuteContract(MsgPrivilegedExecuteContract) returns (MsgPrivilegedExecuteContractResponse); - - // CreateDerivativeLimitOrder defines a method for creating a new derivative limit order. - rpc CreateDerivativeLimitOrder(MsgCreateDerivativeLimitOrder) returns (MsgCreateDerivativeLimitOrderResponse); - - // BatchCreateDerivativeLimitOrders defines a method for creating a new batch of derivative limit orders. - rpc BatchCreateDerivativeLimitOrders(MsgBatchCreateDerivativeLimitOrders) returns (MsgBatchCreateDerivativeLimitOrdersResponse); - - // MsgCreateDerivativeLimitOrder defines a method for creating a new derivative market order. - rpc CreateDerivativeMarketOrder(MsgCreateDerivativeMarketOrder) returns (MsgCreateDerivativeMarketOrderResponse); - - // MsgCancelDerivativeOrder defines a method for cancelling a derivative order. - rpc CancelDerivativeOrder(MsgCancelDerivativeOrder) returns (MsgCancelDerivativeOrderResponse); - - // MsgBatchCancelDerivativeOrders defines a method for cancelling a batch of derivative limit orders. - rpc BatchCancelDerivativeOrders(MsgBatchCancelDerivativeOrders) returns (MsgBatchCancelDerivativeOrdersResponse); - - // InstantBinaryOptionsMarketLaunch defines method for creating a binary options market by paying listing fee without governance - rpc InstantBinaryOptionsMarketLaunch(MsgInstantBinaryOptionsMarketLaunch) returns (MsgInstantBinaryOptionsMarketLaunchResponse); - - // CreateBinaryOptionsLimitOrder defines a method for creating a new binary options limit order. - rpc CreateBinaryOptionsLimitOrder(MsgCreateBinaryOptionsLimitOrder) returns (MsgCreateBinaryOptionsLimitOrderResponse); - - // CreateBinaryOptionsMarketOrder defines a method for creating a new binary options market order. - rpc CreateBinaryOptionsMarketOrder(MsgCreateBinaryOptionsMarketOrder) returns (MsgCreateBinaryOptionsMarketOrderResponse); - - // MsgCancelBinaryOptionsOrder defines a method for cancelling a binary options order. - rpc CancelBinaryOptionsOrder(MsgCancelBinaryOptionsOrder) returns (MsgCancelBinaryOptionsOrderResponse); - - // BatchCancelBinaryOptionsOrders defines a method for cancelling a batch of binary options limit orders. - rpc BatchCancelBinaryOptionsOrders(MsgBatchCancelBinaryOptionsOrders) returns (MsgBatchCancelBinaryOptionsOrdersResponse); + rpc BatchUpdateOrders(MsgBatchUpdateOrders) + returns (MsgBatchUpdateOrdersResponse); + + // PrivilegedExecuteContract defines a method for executing a Cosmwasm + // contract from the exchange module with privileged capabilities. + rpc PrivilegedExecuteContract(MsgPrivilegedExecuteContract) + returns (MsgPrivilegedExecuteContractResponse); + + // CreateDerivativeLimitOrder defines a method for creating a new derivative + // limit order. + rpc CreateDerivativeLimitOrder(MsgCreateDerivativeLimitOrder) + returns (MsgCreateDerivativeLimitOrderResponse); + + // BatchCreateDerivativeLimitOrders defines a method for creating a new batch + // of derivative limit orders. + rpc BatchCreateDerivativeLimitOrders(MsgBatchCreateDerivativeLimitOrders) + returns (MsgBatchCreateDerivativeLimitOrdersResponse); + + // MsgCreateDerivativeLimitOrder defines a method for creating a new + // derivative market order. + rpc CreateDerivativeMarketOrder(MsgCreateDerivativeMarketOrder) + returns (MsgCreateDerivativeMarketOrderResponse); + + // MsgCancelDerivativeOrder defines a method for cancelling a derivative + // order. + rpc CancelDerivativeOrder(MsgCancelDerivativeOrder) + returns (MsgCancelDerivativeOrderResponse); + + // MsgBatchCancelDerivativeOrders defines a method for cancelling a batch of + // derivative limit orders. + rpc BatchCancelDerivativeOrders(MsgBatchCancelDerivativeOrders) + returns (MsgBatchCancelDerivativeOrdersResponse); + + // InstantBinaryOptionsMarketLaunch defines method for creating a binary + // options market by paying listing fee without governance + rpc InstantBinaryOptionsMarketLaunch(MsgInstantBinaryOptionsMarketLaunch) + returns (MsgInstantBinaryOptionsMarketLaunchResponse); + + // CreateBinaryOptionsLimitOrder defines a method for creating a new binary + // options limit order. + rpc CreateBinaryOptionsLimitOrder(MsgCreateBinaryOptionsLimitOrder) + returns (MsgCreateBinaryOptionsLimitOrderResponse); + + // CreateBinaryOptionsMarketOrder defines a method for creating a new binary + // options market order. + rpc CreateBinaryOptionsMarketOrder(MsgCreateBinaryOptionsMarketOrder) + returns (MsgCreateBinaryOptionsMarketOrderResponse); + + // MsgCancelBinaryOptionsOrder defines a method for cancelling a binary + // options order. + rpc CancelBinaryOptionsOrder(MsgCancelBinaryOptionsOrder) + returns (MsgCancelBinaryOptionsOrderResponse); + + // BatchCancelBinaryOptionsOrders defines a method for cancelling a batch of + // binary options limit orders. + rpc BatchCancelBinaryOptionsOrders(MsgBatchCancelBinaryOptionsOrders) + returns (MsgBatchCancelBinaryOptionsOrdersResponse); // SubaccountTransfer defines a method for transfer between subaccounts - rpc SubaccountTransfer(MsgSubaccountTransfer) returns (MsgSubaccountTransferResponse); + rpc SubaccountTransfer(MsgSubaccountTransfer) + returns (MsgSubaccountTransferResponse); // ExternalTransfer defines a method for transfer between external accounts - rpc ExternalTransfer(MsgExternalTransfer) returns (MsgExternalTransferResponse); + rpc ExternalTransfer(MsgExternalTransfer) + returns (MsgExternalTransferResponse); // LiquidatePosition defines a method for liquidating a position - rpc LiquidatePosition(MsgLiquidatePosition) returns (MsgLiquidatePositionResponse); + rpc LiquidatePosition(MsgLiquidatePosition) + returns (MsgLiquidatePositionResponse); // IncreasePositionMargin defines a method for increasing margin of a position - rpc IncreasePositionMargin(MsgIncreasePositionMargin) returns (MsgIncreasePositionMarginResponse); + rpc IncreasePositionMargin(MsgIncreasePositionMargin) + returns (MsgIncreasePositionMarginResponse); // RewardsOptOut defines a method for opting out of rewards rpc RewardsOptOut(MsgRewardsOptOut) returns (MsgRewardsOptOutResponse); - // AdminUpdateBinaryOptionsMarket defines method for updating a binary options market by admin - rpc AdminUpdateBinaryOptionsMarket(MsgAdminUpdateBinaryOptionsMarket) returns (MsgAdminUpdateBinaryOptionsMarketResponse); + // AdminUpdateBinaryOptionsMarket defines method for updating a binary options + // market by admin + rpc AdminUpdateBinaryOptionsMarket(MsgAdminUpdateBinaryOptionsMarket) + returns (MsgAdminUpdateBinaryOptionsMarketResponse); + + // + rpc ReclaimLockedFunds(MsgReclaimLockedFunds) + returns (MsgReclaimLockedFundsResponse); + + rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); +} + +message MsgUpdateParams { + option (cosmos.msg.v1.signer) = "authority"; + + // authority is the address of the governance account. + string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + // params defines the exchange parameters to update. // - rpc ReclaimLockedFunds(MsgReclaimLockedFunds) returns (MsgReclaimLockedFundsResponse); + // NOTE: All parameters must be supplied. + Params params = 2 [ (gogoproto.nullable) = false ]; } -// MsgDeposit defines a SDK message for transferring coins from the sender's bank balance into the subaccount's exchange deposits +message MsgUpdateParamsResponse {} + +// MsgDeposit defines a SDK message for transferring coins from the sender's +// bank balance into the subaccount's exchange deposits message MsgDeposit { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; - // (Optional) bytes32 subaccount ID to deposit funds into. If empty, the coin will be deposited to the sender's default - // subaccount address. + // (Optional) bytes32 subaccount ID to deposit funds into. If empty, the coin + // will be deposited to the sender's default subaccount address. string subaccount_id = 2; - cosmos.base.v1beta1.Coin amount = 3 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin amount = 3 [ (gogoproto.nullable) = false ]; } // MsgDepositResponse defines the Msg/Deposit response type. message MsgDepositResponse {} -// MsgWithdraw defines a SDK message for withdrawing coins from a subaccount's deposits to the user's bank balance +// MsgWithdraw defines a SDK message for withdrawing coins from a subaccount's +// deposits to the user's bank balance message MsgWithdraw { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; // bytes32 subaccount ID to withdraw funds from string subaccount_id = 2; - cosmos.base.v1beta1.Coin amount = 3 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin amount = 3 [ (gogoproto.nullable) = false ]; } // MsgWithdraw defines the Msg/Withdraw response type. message MsgWithdrawResponse {} -// MsgCreateSpotLimitOrder defines a SDK message for creating a new spot limit order. +// MsgCreateSpotLimitOrder defines a SDK message for creating a new spot limit +// order. message MsgCreateSpotLimitOrder { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; - SpotOrder order = 2 [(gogoproto.nullable) = false]; + SpotOrder order = 2 [ (gogoproto.nullable) = false ]; } -// MsgCreateSpotLimitOrderResponse defines the Msg/CreateSpotOrder response type. +// MsgCreateSpotLimitOrderResponse defines the Msg/CreateSpotOrder response +// type. message MsgCreateSpotLimitOrderResponse { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -144,15 +215,19 @@ message MsgCreateSpotLimitOrderResponse { string order_hash = 1; } -// MsgBatchCreateSpotLimitOrders defines a SDK message for creating a new batch of spot limit orders. +// MsgBatchCreateSpotLimitOrders defines a SDK message for creating a new batch +// of spot limit orders. message MsgBatchCreateSpotLimitOrders { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; - repeated SpotOrder orders = 2 [(gogoproto.nullable) = false]; + repeated SpotOrder orders = 2 [ (gogoproto.nullable) = false ]; } -// MsgBatchCreateSpotLimitOrdersResponse defines the Msg/BatchCreateSpotLimitOrders response type. +// MsgBatchCreateSpotLimitOrdersResponse defines the +// Msg/BatchCreateSpotLimitOrders response type. message MsgBatchCreateSpotLimitOrdersResponse { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -160,10 +235,13 @@ message MsgBatchCreateSpotLimitOrdersResponse { repeated string order_hashes = 1; } -// MsgInstantSpotMarketLaunch defines a SDK message for creating a new spot market by paying listing fee without governance +// MsgInstantSpotMarketLaunch defines a SDK message for creating a new spot +// market by paying listing fee without governance message MsgInstantSpotMarketLaunch { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; // Ticker for the spot market. string ticker = 2; @@ -176,20 +254,25 @@ message MsgInstantSpotMarketLaunch { (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // min_quantity_tick_size defines the minimum tick size of the order's quantity + // min_quantity_tick_size defines the minimum tick size of the order's + // quantity string min_quantity_tick_size = 6 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; } -// MsgInstantSpotMarketLaunchResponse defines the Msg/InstantSpotMarketLaunch response type. +// MsgInstantSpotMarketLaunchResponse defines the Msg/InstantSpotMarketLaunch +// response type. message MsgInstantSpotMarketLaunchResponse {} -// MsgInstantPerpetualMarketLaunch defines a SDK message for creating a new perpetual futures market by paying listing fee without governance +// MsgInstantPerpetualMarketLaunch defines a SDK message for creating a new +// perpetual futures market by paying listing fee without governance message MsgInstantPerpetualMarketLaunch { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; // Ticker for the derivative market. string ticker = 2; @@ -203,46 +286,56 @@ message MsgInstantPerpetualMarketLaunch { uint32 oracle_scale_factor = 6; // Oracle type injective.oracle.v1beta1.OracleType oracle_type = 7; - // maker_fee_rate defines the trade fee rate for makers on the perpetual market + // maker_fee_rate defines the trade fee rate for makers on the perpetual + // market string maker_fee_rate = 8 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // taker_fee_rate defines the trade fee rate for takers on the perpetual market + // taker_fee_rate defines the trade fee rate for takers on the perpetual + // market string taker_fee_rate = 9 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // initial_margin_ratio defines the initial margin ratio for the perpetual market + // initial_margin_ratio defines the initial margin ratio for the perpetual + // market string initial_margin_ratio = 10 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // maintenance_margin_ratio defines the maintenance margin ratio for the perpetual market + // maintenance_margin_ratio defines the maintenance margin ratio for the + // perpetual market string maintenance_margin_ratio = 11 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // min_price_tick_size defines the minimum tick size of the order's price and margin + // min_price_tick_size defines the minimum tick size of the order's price and + // margin string min_price_tick_size = 12 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // min_quantity_tick_size defines the minimum tick size of the order's quantity + // min_quantity_tick_size defines the minimum tick size of the order's + // quantity string min_quantity_tick_size = 13 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; } -// MsgInstantPerpetualMarketLaunchResponse defines the Msg/InstantPerpetualMarketLaunchResponse response type. +// MsgInstantPerpetualMarketLaunchResponse defines the +// Msg/InstantPerpetualMarketLaunchResponse response type. message MsgInstantPerpetualMarketLaunchResponse {} -// MsgInstantBinaryOptionsMarketLaunch defines a SDK message for creating a new perpetual futures market by paying listing fee without governance +// MsgInstantBinaryOptionsMarketLaunch defines a SDK message for creating a new +// perpetual futures market by paying listing fee without governance message MsgInstantBinaryOptionsMarketLaunch { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; // Ticker for the derivative contract. string ticker = 2; @@ -254,13 +347,15 @@ message MsgInstantBinaryOptionsMarketLaunch { injective.oracle.v1beta1.OracleType oracle_type = 5; // Scale factor for oracle prices. uint32 oracle_scale_factor = 6; - // maker_fee_rate defines the trade fee rate for makers on the perpetual market + // maker_fee_rate defines the trade fee rate for makers on the perpetual + // market string maker_fee_rate = 7 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // taker_fee_rate defines the trade fee rate for takers on the perpetual market + // taker_fee_rate defines the trade fee rate for takers on the perpetual + // market string taker_fee_rate = 8 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false @@ -273,25 +368,31 @@ message MsgInstantBinaryOptionsMarketLaunch { string admin = 11; // Address of the quote currency denomination for the binary options contract string quote_denom = 12; - // min_price_tick_size defines the minimum tick size that the price and margin required for orders in the market + // min_price_tick_size defines the minimum tick size that the price and margin + // required for orders in the market string min_price_tick_size = 13 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // min_quantity_tick_size defines the minimum tick size of the quantity required for orders in the market + // min_quantity_tick_size defines the minimum tick size of the quantity + // required for orders in the market string min_quantity_tick_size = 14 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; } -// MsgInstantBinaryOptionsMarketLaunchResponse defines the Msg/InstantBinaryOptionsMarketLaunchResponse response type. +// MsgInstantBinaryOptionsMarketLaunchResponse defines the +// Msg/InstantBinaryOptionsMarketLaunchResponse response type. message MsgInstantBinaryOptionsMarketLaunchResponse {} -// MsgInstantExpiryFuturesMarketLaunch defines a SDK message for creating a new expiry futures market by paying listing fee without governance +// MsgInstantExpiryFuturesMarketLaunch defines a SDK message for creating a new +// expiry futures market by paying listing fee without governance message MsgInstantExpiryFuturesMarketLaunch { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; // Ticker for the derivative market. string ticker = 2; @@ -307,59 +408,68 @@ message MsgInstantExpiryFuturesMarketLaunch { uint32 oracle_scale_factor = 7; // Expiration time of the market int64 expiry = 8; - // maker_fee_rate defines the trade fee rate for makers on the expiry futures market + // maker_fee_rate defines the trade fee rate for makers on the expiry futures + // market string maker_fee_rate = 9 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // taker_fee_rate defines the trade fee rate for takers on the expiry futures market + // taker_fee_rate defines the trade fee rate for takers on the expiry futures + // market string taker_fee_rate = 10 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // initial_margin_ratio defines the initial margin ratio for the derivative market + // initial_margin_ratio defines the initial margin ratio for the derivative + // market string initial_margin_ratio = 11 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // maintenance_margin_ratio defines the maintenance margin ratio for the derivative market + // maintenance_margin_ratio defines the maintenance margin ratio for the + // derivative market string maintenance_margin_ratio = 12 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // min_price_tick_size defines the minimum tick size of the order's price and margin + // min_price_tick_size defines the minimum tick size of the order's price and + // margin string min_price_tick_size = 13 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // min_quantity_tick_size defines the minimum tick size of the order's quantity + // min_quantity_tick_size defines the minimum tick size of the order's + // quantity string min_quantity_tick_size = 14 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; } -// MsgInstantExpiryFuturesMarketLaunchResponse defines the Msg/InstantExpiryFuturesMarketLaunch response type. +// MsgInstantExpiryFuturesMarketLaunchResponse defines the +// Msg/InstantExpiryFuturesMarketLaunch response type. message MsgInstantExpiryFuturesMarketLaunchResponse {} -// MsgCreateSpotMarketOrder defines a SDK message for creating a new spot market order. +// MsgCreateSpotMarketOrder defines a SDK message for creating a new spot market +// order. message MsgCreateSpotMarketOrder { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; - SpotOrder order = 2 [(gogoproto.nullable) = false]; + SpotOrder order = 2 [ (gogoproto.nullable) = false ]; } -// MsgCreateSpotMarketOrderResponse defines the Msg/CreateSpotMarketLimitOrder response type. +// MsgCreateSpotMarketOrderResponse defines the Msg/CreateSpotMarketLimitOrder +// response type. message MsgCreateSpotMarketOrderResponse { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; string order_hash = 1; - SpotMarketOrderResults results = 2 [ - (gogoproto.nullable) = true - ]; + SpotMarketOrderResults results = 2 [ (gogoproto.nullable) = true ]; } message SpotMarketOrderResults { @@ -383,11 +493,14 @@ message SpotMarketOrderResults { // A Cosmos-SDK MsgCreateDerivativeLimitOrder message MsgCreateDerivativeLimitOrder { option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; - DerivativeOrder order = 2 [(gogoproto.nullable) = false]; + DerivativeOrder order = 2 [ (gogoproto.nullable) = false ]; } -// MsgCreateDerivativeLimitOrderResponse defines the Msg/CreateDerivativeMarketOrder response type. +// MsgCreateDerivativeLimitOrderResponse defines the +// Msg/CreateDerivativeMarketOrder response type. message MsgCreateDerivativeLimitOrderResponse { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -398,11 +511,14 @@ message MsgCreateDerivativeLimitOrderResponse { // A Cosmos-SDK MsgCreateBinaryOptionsLimitOrder message MsgCreateBinaryOptionsLimitOrder { option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; - DerivativeOrder order = 2 [(gogoproto.nullable) = false]; + DerivativeOrder order = 2 [ (gogoproto.nullable) = false ]; } -// MsgCreateBinaryOptionsLimitOrderResponse defines the Msg/CreateBinaryOptionsLimitOrder response type. +// MsgCreateBinaryOptionsLimitOrderResponse defines the +// Msg/CreateBinaryOptionsLimitOrder response type. message MsgCreateBinaryOptionsLimitOrderResponse { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -413,11 +529,14 @@ message MsgCreateBinaryOptionsLimitOrderResponse { // A Cosmos-SDK MsgBatchCreateDerivativeLimitOrders message MsgBatchCreateDerivativeLimitOrders { option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; - repeated DerivativeOrder orders = 2 [(gogoproto.nullable) = false]; + repeated DerivativeOrder orders = 2 [ (gogoproto.nullable) = false ]; } -// MsgBatchCreateDerivativeLimitOrdersResponse defines the Msg/BatchCreateDerivativeLimitOrders response type. +// MsgBatchCreateDerivativeLimitOrdersResponse defines the +// Msg/BatchCreateDerivativeLimitOrders response type. message MsgBatchCreateDerivativeLimitOrdersResponse { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -428,6 +547,8 @@ message MsgBatchCreateDerivativeLimitOrdersResponse { // MsgCancelSpotOrder defines the Msg/CancelSpotOrder response type. message MsgCancelSpotOrder { option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; string market_id = 2; string subaccount_id = 3; @@ -440,11 +561,14 @@ message MsgCancelSpotOrderResponse {} // MsgBatchCancelSpotOrders defines the Msg/BatchCancelSpotOrders response type. message MsgBatchCancelSpotOrders { option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; - repeated OrderData data = 2 [(gogoproto.nullable) = false]; + repeated OrderData data = 2 [ (gogoproto.nullable) = false ]; } -// MsgBatchCancelSpotOrdersResponse defines the Msg/BatchCancelSpotOrders response type. +// MsgBatchCancelSpotOrdersResponse defines the Msg/BatchCancelSpotOrders +// response type. message MsgBatchCancelSpotOrdersResponse { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -452,14 +576,18 @@ message MsgBatchCancelSpotOrdersResponse { repeated bool success = 1; } -// MsgBatchCancelBinaryOptionsOrders defines the Msg/BatchCancelBinaryOptionsOrders response type. +// MsgBatchCancelBinaryOptionsOrders defines the +// Msg/BatchCancelBinaryOptionsOrders response type. message MsgBatchCancelBinaryOptionsOrders { option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; - repeated OrderData data = 2 [(gogoproto.nullable) = false]; + repeated OrderData data = 2 [ (gogoproto.nullable) = false ]; } -// BatchCancelBinaryOptionsOrdersResponse defines the Msg/BatchCancelBinaryOptionsOrders response type. +// BatchCancelBinaryOptionsOrdersResponse defines the +// Msg/BatchCancelBinaryOptionsOrders response type. message MsgBatchCancelBinaryOptionsOrdersResponse { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -470,18 +598,25 @@ message MsgBatchCancelBinaryOptionsOrdersResponse { // MsgBatchUpdateOrders defines the Msg/BatchUpdateOrders response type. message MsgBatchUpdateOrders { option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; - // subaccount_id only used for the spot_market_ids_to_cancel_all and derivative_market_ids_to_cancel_all. + // subaccount_id only used for the spot_market_ids_to_cancel_all and + // derivative_market_ids_to_cancel_all. string subaccount_id = 2; repeated string spot_market_ids_to_cancel_all = 3; repeated string derivative_market_ids_to_cancel_all = 4; - repeated OrderData spot_orders_to_cancel = 5 [(gogoproto.nullable) = true]; - repeated OrderData derivative_orders_to_cancel = 6 [(gogoproto.nullable) = true]; - repeated SpotOrder spot_orders_to_create = 7 [(gogoproto.nullable) = true]; - repeated DerivativeOrder derivative_orders_to_create = 8 [(gogoproto.nullable) = true]; - repeated OrderData binary_options_orders_to_cancel = 9 [(gogoproto.nullable) = true]; + repeated OrderData spot_orders_to_cancel = 5 [ (gogoproto.nullable) = true ]; + repeated OrderData derivative_orders_to_cancel = 6 + [ (gogoproto.nullable) = true ]; + repeated SpotOrder spot_orders_to_create = 7 [ (gogoproto.nullable) = true ]; + repeated DerivativeOrder derivative_orders_to_create = 8 + [ (gogoproto.nullable) = true ]; + repeated OrderData binary_options_orders_to_cancel = 9 + [ (gogoproto.nullable) = true ]; repeated string binary_options_market_ids_to_cancel_all = 10; - repeated DerivativeOrder binary_options_orders_to_create = 11 [(gogoproto.nullable) = true]; + repeated DerivativeOrder binary_options_orders_to_create = 11 + [ (gogoproto.nullable) = true ]; } // MsgBatchUpdateOrdersResponse defines the Msg/BatchUpdateOrders response type. @@ -500,20 +635,21 @@ message MsgBatchUpdateOrdersResponse { // A Cosmos-SDK MsgCreateDerivativeMarketOrder message MsgCreateDerivativeMarketOrder { option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; - DerivativeOrder order = 2 [(gogoproto.nullable) = false]; + DerivativeOrder order = 2 [ (gogoproto.nullable) = false ]; } -// MsgCreateDerivativeMarketOrderResponse defines the Msg/CreateDerivativeMarketOrder response type. +// MsgCreateDerivativeMarketOrderResponse defines the +// Msg/CreateDerivativeMarketOrder response type. message MsgCreateDerivativeMarketOrderResponse { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; string order_hash = 1; - DerivativeMarketOrderResults results = 2[ - (gogoproto.nullable) = true - ]; + DerivativeMarketOrderResults results = 2 [ (gogoproto.nullable) = true ]; } message DerivativeMarketOrderResults { @@ -532,39 +668,38 @@ message DerivativeMarketOrderResults { (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - PositionDelta position_delta = 4 [ - (gogoproto.nullable) = false - ]; + PositionDelta position_delta = 4 [ (gogoproto.nullable) = false ]; string payout = 5 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; } - - // A Cosmos-SDK MsgCreateBinaryOptionsMarketOrder message MsgCreateBinaryOptionsMarketOrder { option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; - DerivativeOrder order = 2 [(gogoproto.nullable) = false]; + DerivativeOrder order = 2 [ (gogoproto.nullable) = false ]; } -// MsgCreateBinaryOptionsMarketOrderResponse defines the Msg/CreateBinaryOptionsMarketOrder response type. +// MsgCreateBinaryOptionsMarketOrderResponse defines the +// Msg/CreateBinaryOptionsMarketOrder response type. message MsgCreateBinaryOptionsMarketOrderResponse { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; string order_hash = 1; - DerivativeMarketOrderResults results = 2[ - (gogoproto.nullable) = true - ]; + DerivativeMarketOrderResults results = 2 [ (gogoproto.nullable) = true ]; } // MsgCancelDerivativeOrder defines the Msg/CancelDerivativeOrder response type. message MsgCancelDerivativeOrder { option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; string market_id = 2; string subaccount_id = 3; @@ -572,12 +707,16 @@ message MsgCancelDerivativeOrder { int32 order_mask = 5; // bitwise combination of OrderMask enum values } -// MsgCancelDerivativeOrderResponse defines the Msg/CancelDerivativeOrderResponse response type. +// MsgCancelDerivativeOrderResponse defines the +// Msg/CancelDerivativeOrderResponse response type. message MsgCancelDerivativeOrderResponse {} -// MsgCancelBinaryOptionsOrder defines the Msg/CancelBinaryOptionsOrder response type. +// MsgCancelBinaryOptionsOrder defines the Msg/CancelBinaryOptionsOrder response +// type. message MsgCancelBinaryOptionsOrder { option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; string market_id = 2; string subaccount_id = 3; @@ -585,7 +724,8 @@ message MsgCancelBinaryOptionsOrder { int32 order_mask = 5; // bitwise combination of OrderMask enum values } -// MsgCancelBinaryOptionsOrderResponse defines the Msg/CancelBinaryOptionsOrderResponse response type. +// MsgCancelBinaryOptionsOrderResponse defines the +// Msg/CancelBinaryOptionsOrderResponse response type. message MsgCancelBinaryOptionsOrderResponse {} message OrderData { @@ -594,14 +734,19 @@ message OrderData { string order_hash = 3; int32 order_mask = 4; // bitwise combination of OrderMask enum values } -// MsgBatchCancelDerivativeOrders defines the Msg/CancelDerivativeOrders response type. + +// MsgBatchCancelDerivativeOrders defines the Msg/CancelDerivativeOrders +// response type. message MsgBatchCancelDerivativeOrders { option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; - repeated OrderData data = 2 [(gogoproto.nullable) = false]; + repeated OrderData data = 2 [ (gogoproto.nullable) = false ]; } -// MsgBatchCancelDerivativeOrdersResponse defines the Msg/CancelDerivativeOrderResponse response type. +// MsgBatchCancelDerivativeOrdersResponse defines the +// Msg/CancelDerivativeOrderResponse response type. message MsgBatchCancelDerivativeOrdersResponse { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -609,24 +754,28 @@ message MsgBatchCancelDerivativeOrdersResponse { repeated bool success = 1; } - // A Cosmos-SDK MsgSubaccountTransfer message MsgSubaccountTransfer { + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; string source_subaccount_id = 2; string destination_subaccount_id = 3; - cosmos.base.v1beta1.Coin amount = 4 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin amount = 4 [ (gogoproto.nullable) = false ]; } -// MsgSubaccountTransferResponse defines the Msg/SubaccountTransfer response type. +// MsgSubaccountTransferResponse defines the Msg/SubaccountTransfer response +// type. message MsgSubaccountTransferResponse {} // A Cosmos-SDK MsgExternalTransfer message MsgExternalTransfer { + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; string source_subaccount_id = 2; string destination_subaccount_id = 3; - cosmos.base.v1beta1.Coin amount = 4 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin amount = 4 [ (gogoproto.nullable) = false ]; } // MsgExternalTransferResponse defines the Msg/ExternalTransfer response type. @@ -634,12 +783,14 @@ message MsgExternalTransferResponse {} // A Cosmos-SDK MsgLiquidatePosition message MsgLiquidatePosition { + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; string subaccount_id = 2; string market_id = 3; // optional order to provide for liquidation - DerivativeOrder order = 4 [(gogoproto.nullable) = true]; + DerivativeOrder order = 4 [ (gogoproto.nullable) = true ]; } // MsgLiquidatePositionResponse defines the Msg/LiquidatePosition response type. @@ -647,6 +798,8 @@ message MsgLiquidatePositionResponse {} // A Cosmos-SDK MsgIncreasePositionMargin message MsgIncreasePositionMargin { + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; string source_subaccount_id = 2; string destination_subaccount_id = 3; @@ -658,16 +811,20 @@ message MsgIncreasePositionMargin { ]; } -// MsgIncreasePositionMarginResponse defines the Msg/IncreasePositionMargin response type. +// MsgIncreasePositionMarginResponse defines the Msg/IncreasePositionMargin +// response type. message MsgIncreasePositionMarginResponse {} // MsgPrivilegedExecuteContract defines the Msg/Exec message type message MsgPrivilegedExecuteContract { + option (cosmos.msg.v1.signer) = "sender"; + option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; string sender = 1; - // funds defines the user's bank coins used to fund the execution (e.g. 100inj). + // funds defines the user's bank coins used to fund the execution (e.g. + // 100inj). string funds = 2; // contract_address defines the contract address to execute @@ -677,11 +834,11 @@ message MsgPrivilegedExecuteContract { string data = 4; } - // MsgPrivilegedExecuteContractResponse defines the Msg/Exec response type. message MsgPrivilegedExecuteContractResponse { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; repeated cosmos.base.v1beta1.Coin funds_diff = 1 [ (gogoproto.nullable) = false, @@ -692,6 +849,7 @@ message MsgPrivilegedExecuteContractResponse { message SpotMarketParamUpdateProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; string title = 1; string description = 2; @@ -709,18 +867,21 @@ message SpotMarketParamUpdateProposal { (gogoproto.nullable) = true ]; - // relayer_fee_share_rate defines the relayer fee share rate for the spot market + // relayer_fee_share_rate defines the relayer fee share rate for the spot + // market string relayer_fee_share_rate = 6 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true ]; - // min_price_tick_size defines the minimum tick size of the order's price and margin + // min_price_tick_size defines the minimum tick size of the order's price and + // margin string min_price_tick_size = 7 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true ]; - // min_quantity_tick_size defines the minimum tick size of the order's quantity + // min_quantity_tick_size defines the minimum tick size of the order's + // quantity string min_quantity_tick_size = 8 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true @@ -730,12 +891,12 @@ message SpotMarketParamUpdateProposal { } enum ExchangeType { - EXCHANGE_UNSPECIFIED = 0 [(gogoproto.enumvalue_customname) = "EXCHANGE_UNSPECIFIED"]; - SPOT = 1 [(gogoproto.enumvalue_customname) = "SPOT"]; - DERIVATIVES = 2 [(gogoproto.enumvalue_customname) = "DERIVATIVES"]; + EXCHANGE_UNSPECIFIED = 0 + [ (gogoproto.enumvalue_customname) = "EXCHANGE_UNSPECIFIED" ]; + SPOT = 1 [ (gogoproto.enumvalue_customname) = "SPOT" ]; + DERIVATIVES = 2 [ (gogoproto.enumvalue_customname) = "DERIVATIVES" ]; } - message ExchangeEnableProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -749,25 +910,34 @@ message ExchangeEnableProposal { message BatchExchangeModificationProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; string title = 1; string description = 2; repeated SpotMarketParamUpdateProposal spot_market_param_update_proposals = 3; - repeated DerivativeMarketParamUpdateProposal derivative_market_param_update_proposals = 4; + repeated DerivativeMarketParamUpdateProposal + derivative_market_param_update_proposals = 4; repeated SpotMarketLaunchProposal spot_market_launch_proposals = 5; repeated PerpetualMarketLaunchProposal perpetual_market_launch_proposals = 6; - repeated ExpiryFuturesMarketLaunchProposal expiry_futures_market_launch_proposals = 7; - TradingRewardCampaignUpdateProposal trading_reward_campaign_update_proposal = 8; - repeated BinaryOptionsMarketLaunchProposal binary_options_market_launch_proposals = 9; - repeated BinaryOptionsMarketParamUpdateProposal binary_options_param_update_proposals = 10; + repeated ExpiryFuturesMarketLaunchProposal + expiry_futures_market_launch_proposals = 7; + TradingRewardCampaignUpdateProposal trading_reward_campaign_update_proposal = + 8; + repeated BinaryOptionsMarketLaunchProposal + binary_options_market_launch_proposals = 9; + repeated BinaryOptionsMarketParamUpdateProposal + binary_options_param_update_proposals = 10; UpdateDenomDecimalsProposal denom_decimals_update_proposal = 11; } -// SpotMarketLaunchProposal defines a SDK message for proposing a new spot market through governance +// SpotMarketLaunchProposal defines a SDK message for proposing a new spot +// market through governance message SpotMarketLaunchProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; // Ticker for the spot market. @@ -781,7 +951,8 @@ message SpotMarketLaunchProposal { (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // min_quantity_tick_size defines the minimum tick size of the order's quantity + // min_quantity_tick_size defines the minimum tick size of the order's + // quantity string min_quantity_tick_size = 7 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false @@ -798,10 +969,13 @@ message SpotMarketLaunchProposal { ]; } -// PerpetualMarketLaunchProposal defines a SDK message for proposing a new perpetual futures market through governance +// PerpetualMarketLaunchProposal defines a SDK message for proposing a new +// perpetual futures market through governance message PerpetualMarketLaunchProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; // Ticker for the derivative market. @@ -816,35 +990,41 @@ message PerpetualMarketLaunchProposal { uint32 oracle_scale_factor = 7; // Oracle type injective.oracle.v1beta1.OracleType oracle_type = 8; - // initial_margin_ratio defines the initial margin ratio for the derivative market + // initial_margin_ratio defines the initial margin ratio for the derivative + // market string initial_margin_ratio = 9 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // maintenance_margin_ratio defines the maintenance margin ratio for the derivative market + // maintenance_margin_ratio defines the maintenance margin ratio for the + // derivative market string maintenance_margin_ratio = 10 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // maker_fee_rate defines the exchange trade fee for makers for the derivative market + // maker_fee_rate defines the exchange trade fee for makers for the derivative + // market string maker_fee_rate = 11 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // taker_fee_rate defines the exchange trade fee for takers for the derivative market + // taker_fee_rate defines the exchange trade fee for takers for the derivative + // market string taker_fee_rate = 12 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // min_price_tick_size defines the minimum tick size of the order's price and margin + // min_price_tick_size defines the minimum tick size of the order's price and + // margin string min_price_tick_size = 13 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // min_quantity_tick_size defines the minimum tick size of the order's quantity + // min_quantity_tick_size defines the minimum tick size of the order's + // quantity string min_quantity_tick_size = 14 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false @@ -854,6 +1034,8 @@ message PerpetualMarketLaunchProposal { message BinaryOptionsMarketLaunchProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; // Ticker for the derivative contract. @@ -884,22 +1066,27 @@ message BinaryOptionsMarketLaunchProposal { (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // min_price_tick_size defines the minimum tick size that the price and margin required for orders in the market + // min_price_tick_size defines the minimum tick size that the price and margin + // required for orders in the market string min_price_tick_size = 14 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // min_quantity_tick_size defines the minimum tick size of the quantity required for orders in the market + // min_quantity_tick_size defines the minimum tick size of the quantity + // required for orders in the market string min_quantity_tick_size = 15 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; } -// ExpiryFuturesMarketLaunchProposal defines a SDK message for proposing a new expiry futures market through governance +// ExpiryFuturesMarketLaunchProposal defines a SDK message for proposing a new +// expiry futures market through governance message ExpiryFuturesMarketLaunchProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; // Ticker for the derivative market. @@ -916,35 +1103,41 @@ message ExpiryFuturesMarketLaunchProposal { injective.oracle.v1beta1.OracleType oracle_type = 8; // Expiration time of the market int64 expiry = 9; - // initial_margin_ratio defines the initial margin ratio for the derivative market + // initial_margin_ratio defines the initial margin ratio for the derivative + // market string initial_margin_ratio = 10 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // maintenance_margin_ratio defines the maintenance margin ratio for the derivative market + // maintenance_margin_ratio defines the maintenance margin ratio for the + // derivative market string maintenance_margin_ratio = 11 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // maker_fee_rate defines the exchange trade fee for makers for the derivative market + // maker_fee_rate defines the exchange trade fee for makers for the derivative + // market string maker_fee_rate = 12 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // taker_fee_rate defines the exchange trade fee for takers for the derivative market + // taker_fee_rate defines the exchange trade fee for takers for the derivative + // market string taker_fee_rate = 13 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // min_price_tick_size defines the minimum tick size of the order's price and margin + // min_price_tick_size defines the minimum tick size of the order's price and + // margin string min_price_tick_size = 14 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // min_quantity_tick_size defines the minimum tick size of the order's quantity + // min_quantity_tick_size defines the minimum tick size of the order's + // quantity string min_quantity_tick_size = 15 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false @@ -955,46 +1148,55 @@ message DerivativeMarketParamUpdateProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; string market_id = 3; - // initial_margin_ratio defines the initial margin ratio for the derivative market + // initial_margin_ratio defines the initial margin ratio for the derivative + // market string initial_margin_ratio = 4 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true ]; - // maintenance_margin_ratio defines the maintenance margin ratio for the derivative market + // maintenance_margin_ratio defines the maintenance margin ratio for the + // derivative market string maintenance_margin_ratio = 5 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true ]; - // maker_fee_rate defines the exchange trade fee for makers for the derivative market + // maker_fee_rate defines the exchange trade fee for makers for the derivative + // market string maker_fee_rate = 6 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true ]; - // taker_fee_rate defines the exchange trade fee for takers for the derivative market + // taker_fee_rate defines the exchange trade fee for takers for the derivative + // market string taker_fee_rate = 7 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true ]; - // relayer_fee_share_rate defines the relayer fee share rate for the derivative market + // relayer_fee_share_rate defines the relayer fee share rate for the + // derivative market string relayer_fee_share_rate = 8 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true ]; - // min_price_tick_size defines the minimum tick size of the order's price and margin + // min_price_tick_size defines the minimum tick size of the order's price and + // margin string min_price_tick_size = 9 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true ]; - // min_quantity_tick_size defines the minimum tick size of the order's quantity + // min_quantity_tick_size defines the minimum tick size of the order's + // quantity string min_quantity_tick_size = 10 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true @@ -1004,7 +1206,8 @@ message DerivativeMarketParamUpdateProposal { (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true ]; - // hourly_funding_rate_cap defines the maximum absolute value of the hourly funding rate + // hourly_funding_rate_cap defines the maximum absolute value of the hourly + // funding rate string HourlyFundingRateCap = 12 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true @@ -1018,6 +1221,7 @@ message DerivativeMarketParamUpdateProposal { message MarketForcedSettlementProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; string title = 1; string description = 2; @@ -1031,6 +1235,7 @@ message MarketForcedSettlementProposal { message UpdateDenomDecimalsProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; string title = 1; string description = 2; @@ -1041,34 +1246,41 @@ message BinaryOptionsMarketParamUpdateProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; string market_id = 3; - // maker_fee_rate defines the exchange trade fee for makers for the derivative market + // maker_fee_rate defines the exchange trade fee for makers for the derivative + // market string maker_fee_rate = 4 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true ]; - // taker_fee_rate defines the exchange trade fee for takers for the derivative market + // taker_fee_rate defines the exchange trade fee for takers for the derivative + // market string taker_fee_rate = 5 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true ]; - // relayer_fee_share_rate defines the relayer fee share rate for the derivative market + // relayer_fee_share_rate defines the relayer fee share rate for the + // derivative market string relayer_fee_share_rate = 6 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true ]; - // min_price_tick_size defines the minimum tick size of the order's price and margin + // min_price_tick_size defines the minimum tick size of the order's price and + // margin string min_price_tick_size = 7 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true ]; - // min_quantity_tick_size defines the minimum tick size of the order's quantity + // min_quantity_tick_size defines the minimum tick size of the order's + // quantity string min_quantity_tick_size = 8 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true @@ -1114,6 +1326,8 @@ message OracleParams { message TradingRewardCampaignLaunchProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; TradingRewardCampaignInfo campaign_info = 3; @@ -1123,6 +1337,8 @@ message TradingRewardCampaignLaunchProposal { message TradingRewardCampaignUpdateProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; TradingRewardCampaignInfo campaign_info = 3; @@ -1130,7 +1346,6 @@ message TradingRewardCampaignUpdateProposal { repeated CampaignRewardPool campaign_reward_pools_updates = 5; } - message RewardPointUpdate { string account_address = 1; // new_points overwrites the current trading reward points for the account @@ -1143,6 +1358,8 @@ message RewardPointUpdate { message TradingRewardPendingPointsUpdateProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; int64 pending_pool_timestamp = 3; @@ -1152,6 +1369,7 @@ message TradingRewardPendingPointsUpdateProposal { message FeeDiscountProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; string title = 1; string description = 2; @@ -1161,6 +1379,7 @@ message FeeDiscountProposal { message BatchCommunityPoolSpendProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; string title = 1; string description = 2; @@ -1168,39 +1387,47 @@ message BatchCommunityPoolSpendProposal { } // A Cosmos-SDK MsgRewardsOptOut -message MsgRewardsOptOut { - string sender = 1; -} +message MsgRewardsOptOut { string sender = 1; } // MsgRewardsOptOutResponse defines the Msg/RewardsOptOut response type. message MsgRewardsOptOutResponse {} // A Cosmos-SDK MsgReclaimLockedFunds message MsgReclaimLockedFunds { + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; bytes lockedAccountPubKey = 2; bytes signature = 3; } -// MsgReclaimLockedFundsResponse defines the Msg/ReclaimLockedFunds response type. +// MsgReclaimLockedFundsResponse defines the Msg/ReclaimLockedFunds response +// type. message MsgReclaimLockedFundsResponse {} // MsgSignData defines an arbitrary, general-purpose, off-chain message message MsgSignData { // Signer is the sdk.AccAddress of the message signer - bytes Signer = 1 [(gogoproto.jsontag) = "signer", (gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; - // Data represents the raw bytes of the content that is signed (text, json, etc) - bytes Data = 2 [(gogoproto.jsontag) = "data"]; + bytes Signer = 1 [ + (gogoproto.jsontag) = "signer", + (gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress" + ]; + // Data represents the raw bytes of the content that is signed (text, json, + // etc) + bytes Data = 2 [ (gogoproto.jsontag) = "data" ]; } // MsgSignDoc defines an arbitrary, general-purpose, off-chain message message MsgSignDoc { - string sign_type = 1[(gogoproto.jsontag) = "type"]; - MsgSignData value = 2[(gogoproto.nullable) = false]; + string sign_type = 1 [ (gogoproto.jsontag) = "type" ]; + MsgSignData value = 2 [ (gogoproto.nullable) = false ]; } -// MsgAdminUpdateBinaryOptionsMarket is used by the market Admin to operate the market +// MsgAdminUpdateBinaryOptionsMarket is used by the market Admin to operate the +// market message MsgAdminUpdateBinaryOptionsMarket { + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; string market_id = 2; // new price at which market will be settled @@ -1216,16 +1443,19 @@ message MsgAdminUpdateBinaryOptionsMarket { MarketStatus status = 6; } -// MsgAdminUpdateBinaryOptionsMarketResponse is the response for AdminUpdateBinaryOptionsMarket rpc method +// MsgAdminUpdateBinaryOptionsMarketResponse is the response for +// AdminUpdateBinaryOptionsMarket rpc method message MsgAdminUpdateBinaryOptionsMarketResponse {} -// AtomicMarketOrderFeeMultiplierScheduleProposal defines a SDK message for proposing new atomic take fee multipliers for specified markets +// AtomicMarketOrderFeeMultiplierScheduleProposal defines a SDK message for +// proposing new atomic take fee multipliers for specified markets message AtomicMarketOrderFeeMultiplierScheduleProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; repeated MarketFeeMultiplier market_fee_multipliers = 3; -} - +} \ No newline at end of file diff --git a/proto/injective/insurance/v1beta1/genesis.proto b/proto/injective/insurance/v1beta1/genesis.proto index 13a8493b..3b7d3d34 100644 --- a/proto/injective/insurance/v1beta1/genesis.proto +++ b/proto/injective/insurance/v1beta1/genesis.proto @@ -9,19 +9,21 @@ option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/mod // GenesisState defines the insurance module's genesis state. message GenesisState { // params defines all the parameters of related to insurance. - Params params = 1 [(gogoproto.nullable) = false]; + Params params = 1 [ (gogoproto.nullable) = false ]; - // insurance_funds describes the insurance funds available for derivative markets - repeated InsuranceFund insurance_funds = 2 [(gogoproto.nullable) = false]; + // insurance_funds describes the insurance funds available for derivative + // markets + repeated InsuranceFund insurance_funds = 2 [ (gogoproto.nullable) = false ]; // redemption_schedule describes the redemption requests pending - repeated RedemptionSchedule redemption_schedule = 3 [(gogoproto.nullable) = false]; + repeated RedemptionSchedule redemption_schedule = 3 + [ (gogoproto.nullable) = false ]; - // next_share_denom_id describes the next share denom id to be used for newly creating insurance fund - // incremented by 1 per insurance fund creation + // next_share_denom_id describes the next share denom id to be used for newly + // creating insurance fund incremented by 1 per insurance fund creation uint64 next_share_denom_id = 4; - // next_redemption_schedule_id describes next redemption schedule id to be used for next schedule - // incremented by 1 per redemption request + // next_redemption_schedule_id describes next redemption schedule id to be + // used for next schedule incremented by 1 per redemption request uint64 next_redemption_schedule_id = 5; } diff --git a/proto/injective/insurance/v1beta1/insurance.proto b/proto/injective/insurance/v1beta1/insurance.proto index db2b4161..3607e402 100644 --- a/proto/injective/insurance/v1beta1/insurance.proto +++ b/proto/injective/insurance/v1beta1/insurance.proto @@ -7,16 +7,19 @@ import "google/protobuf/timestamp.proto"; import "cosmos/base/v1beta1/coin.proto"; import "injective/oracle/v1beta1/oracle.proto"; - option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/insurance/types"; message Params { option (gogoproto.equal) = true; - // default_redemption_notice_period_duration defines the default minimum notice period duration that must pass after an underwriter sends - // a redemption request before the underwriter can claim his tokens - google.protobuf.Duration default_redemption_notice_period_duration = 1 - [(gogoproto.stdduration) = true, (gogoproto.nullable) = false, (gogoproto.moretags) = "yaml:\"default_redemption_notice_period_duration\""]; + // default_redemption_notice_period_duration defines the default minimum + // notice period duration that must pass after an underwriter sends a + // redemption request before the underwriter can claim his tokens + google.protobuf.Duration default_redemption_notice_period_duration = 1 [ + (gogoproto.stdduration) = true, + (gogoproto.nullable) = false, + (gogoproto.moretags) = "yaml:\"default_redemption_notice_period_duration\"" + ]; } message InsuranceFund { @@ -24,25 +27,38 @@ message InsuranceFund { string deposit_denom = 1; // insurance fund pool token denomination for the given insurance fund string insurance_pool_token_denom = 2; - // redemption_notice_period_duration defines the minimum notice period duration that must pass after an underwriter sends - // a redemption request before the underwriter can claim his tokens - google.protobuf.Duration redemption_notice_period_duration = 3 - [(gogoproto.stdduration) = true, (gogoproto.nullable) = false, (gogoproto.moretags) = "yaml:\"redemption_notice_period_duration\""]; + // redemption_notice_period_duration defines the minimum notice period + // duration that must pass after an underwriter sends a redemption request + // before the underwriter can claim his tokens + google.protobuf.Duration redemption_notice_period_duration = 3 [ + (gogoproto.stdduration) = true, + (gogoproto.nullable) = false, + (gogoproto.moretags) = "yaml:\"redemption_notice_period_duration\"" + ]; // balance of fund - string balance = 4 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = false]; + string balance = 4 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.nullable) = false + ]; // total share tokens minted - string total_share = 5 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = false]; + string total_share = 5 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.nullable) = false + ]; // marketID of the derivative market string market_id = 6; // ticker of the derivative market string market_ticker = 7; - // Oracle base currency of the derivative market OR the oracle symbol for the binary options market. + // Oracle base currency of the derivative market OR the oracle symbol for the + // binary options market. string oracle_base = 8; - // Oracle quote currency of the derivative market OR the oracle provider for the binary options market. + // Oracle quote currency of the derivative market OR the oracle provider for + // the binary options market. string oracle_quote = 9; // Oracle type of the binary options or derivative market injective.oracle.v1beta1.OracleType oracle_type = 10; - // Expiration time of the derivative market. Should be -1 for perpetual or -2 for binary options markets. + // Expiration time of the derivative market. Should be -1 for perpetual or -2 + // for binary options markets. int64 expiry = 11; } @@ -54,26 +70,26 @@ message RedemptionSchedule { // address of the redeemer string redeemer = 3; // the time after which the redemption can be claimed - google.protobuf.Timestamp claimable_redemption_time = 4 - [(gogoproto.stdtime) = true, (gogoproto.nullable) = false, (gogoproto.moretags) = "yaml:\"claimable_redemption_time\""]; + google.protobuf.Timestamp claimable_redemption_time = 4 [ + (gogoproto.stdtime) = true, + (gogoproto.nullable) = false, + (gogoproto.moretags) = "yaml:\"claimable_redemption_time\"" + ]; // the insurance_pool_token amount to redeem - cosmos.base.v1beta1.Coin redemption_amount = 5 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin redemption_amount = 5 + [ (gogoproto.nullable) = false ]; } -message EventInsuranceFundUpdate { - InsuranceFund fund = 1; -} +message EventInsuranceFundUpdate { InsuranceFund fund = 1; } -message EventRequestRedemption { - RedemptionSchedule schedule = 1; -} +message EventRequestRedemption { RedemptionSchedule schedule = 1; } message EventWithdrawRedemption { // redemption schedule triggered withdraw RedemptionSchedule schedule = 1; // redeem coin amount in base_currency - cosmos.base.v1beta1.Coin redeem_coin = 2 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin redeem_coin = 2 [ (gogoproto.nullable) = false ]; } message EventUnderwrite { @@ -82,8 +98,7 @@ message EventUnderwrite { // marketId of insurance fund for the redemption string marketId = 2; // deposit coin amount - cosmos.base.v1beta1.Coin deposit = 3 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin deposit = 3 [ (gogoproto.nullable) = false ]; // share coin amount - cosmos.base.v1beta1.Coin shares = 4 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin shares = 4 [ (gogoproto.nullable) = false ]; } - diff --git a/proto/injective/insurance/v1beta1/query.proto b/proto/injective/insurance/v1beta1/query.proto index 953e9517..ec21948c 100644 --- a/proto/injective/insurance/v1beta1/query.proto +++ b/proto/injective/insurance/v1beta1/query.proto @@ -13,93 +13,108 @@ option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/mod service Query { // Retrieves insurance params - rpc InsuranceParams(QueryInsuranceParamsRequest) returns (QueryInsuranceParamsResponse) { + rpc InsuranceParams(QueryInsuranceParamsRequest) + returns (QueryInsuranceParamsResponse) { option (google.api.http).get = "/injective/insurance/v1beta1/params"; } // Retrieves individual insurance fund information from market id - rpc InsuranceFund(QueryInsuranceFundRequest) returns (QueryInsuranceFundResponse) { - option (google.api.http).get = "/injective/insurance/v1beta1/insurance_fund/{market_id}"; + rpc InsuranceFund(QueryInsuranceFundRequest) + returns (QueryInsuranceFundResponse) { + option (google.api.http).get = + "/injective/insurance/v1beta1/insurance_fund/{market_id}"; } // Retrieves all insurance funds - rpc InsuranceFunds(QueryInsuranceFundsRequest) returns (QueryInsuranceFundsResponse) { - option (google.api.http).get = "/injective/insurance/v1beta1/insurance_funds"; + rpc InsuranceFunds(QueryInsuranceFundsRequest) + returns (QueryInsuranceFundsResponse) { + option (google.api.http).get = + "/injective/insurance/v1beta1/insurance_funds"; } - // Retrives the value of insurance fund share token at current price (not pending redemption) - rpc EstimatedRedemptions(QueryEstimatedRedemptionsRequest) returns (QueryEstimatedRedemptionsResponse) { - option (google.api.http).get = "/injective/insurance/v1beta1/estimated_redemptions"; + // Retrives the value of insurance fund share token at current price (not + // pending redemption) + rpc EstimatedRedemptions(QueryEstimatedRedemptionsRequest) + returns (QueryEstimatedRedemptionsResponse) { + option (google.api.http).get = + "/injective/insurance/v1beta1/estimated_redemptions"; } // Retrieves pending redemptions' share token at current price - rpc PendingRedemptions(QueryPendingRedemptionsRequest) returns (QueryPendingRedemptionsResponse) { - option (google.api.http).get = "/injective/insurance/v1beta1/pending_redemptions"; + rpc PendingRedemptions(QueryPendingRedemptionsRequest) + returns (QueryPendingRedemptionsResponse) { + option (google.api.http).get = + "/injective/insurance/v1beta1/pending_redemptions"; } // Retrieves the entire insurance module's state - rpc InsuranceModuleState(QueryModuleStateRequest) returns (QueryModuleStateResponse) { + rpc InsuranceModuleState(QueryModuleStateRequest) + returns (QueryModuleStateResponse) { option (google.api.http).get = "/injective/insurance/v1beta1/module_state"; } } -// QueryInsuranceParamsRequest is the request type for the Query/InsuranceParams RPC method. +// QueryInsuranceParamsRequest is the request type for the Query/InsuranceParams +// RPC method. message QueryInsuranceParamsRequest {} -// QueryInsuranceParamsRequest is the response type for the Query/InsuranceParams RPC method. +// QueryInsuranceParamsRequest is the response type for the +// Query/InsuranceParams RPC method. message QueryInsuranceParamsResponse { - Params params = 1 [ - (gogoproto.nullable) = false - ]; + Params params = 1 [ (gogoproto.nullable) = false ]; } -// QueryInsuranceFundRequest is the request type for the Query/InsuranceFunds RPC method. +// QueryInsuranceFundRequest is the request type for the Query/InsuranceFunds +// RPC method. message QueryInsuranceFundRequest { // Market ID for the market string market_id = 1; } -// QueryInsuranceFundResponse is the response type for the Query/InsuranceFund RPC method. -message QueryInsuranceFundResponse { - InsuranceFund fund = 1; -} +// QueryInsuranceFundResponse is the response type for the Query/InsuranceFund +// RPC method. +message QueryInsuranceFundResponse { InsuranceFund fund = 1; } -// QueryInsuranceFundsRequest is the request type for the Query/InsuranceFunds RPC method. +// QueryInsuranceFundsRequest is the request type for the Query/InsuranceFunds +// RPC method. message QueryInsuranceFundsRequest {} -// QueryInsuranceFundsResponse is the response type for the Query/InsuranceFunds RPC method. +// QueryInsuranceFundsResponse is the response type for the Query/InsuranceFunds +// RPC method. message QueryInsuranceFundsResponse { - repeated InsuranceFund funds = 1 [(gogoproto.nullable) = false]; + repeated InsuranceFund funds = 1 [ (gogoproto.nullable) = false ]; } - -// QueryEstimatedRedemptionsRequest is the request type for the Query/EstimatedRedemptions RPC method. +// QueryEstimatedRedemptionsRequest is the request type for the +// Query/EstimatedRedemptions RPC method. message QueryEstimatedRedemptionsRequest { string marketId = 1; string address = 2; } -// QueryEstimatedRedemptionsResponse is the response type for the Query/EstimatedRedemptions RPC method. +// QueryEstimatedRedemptionsResponse is the response type for the +// Query/EstimatedRedemptions RPC method. message QueryEstimatedRedemptionsResponse { - repeated cosmos.base.v1beta1.Coin amount = 1 [(gogoproto.nullable) = false]; + repeated cosmos.base.v1beta1.Coin amount = 1 [ (gogoproto.nullable) = false ]; } -// QueryPendingRedemptionsRequest is the request type for the Query/PendingRedemptions RPC method. +// QueryPendingRedemptionsRequest is the request type for the +// Query/PendingRedemptions RPC method. message QueryPendingRedemptionsRequest { string marketId = 1; string address = 2; } -// QueryPendingRedemptionsResponse is the response type for the Query/PendingRedemptions RPC method. +// QueryPendingRedemptionsResponse is the response type for the +// Query/PendingRedemptions RPC method. message QueryPendingRedemptionsResponse { - repeated cosmos.base.v1beta1.Coin amount = 1 [(gogoproto.nullable) = false]; + repeated cosmos.base.v1beta1.Coin amount = 1 [ (gogoproto.nullable) = false ]; } - -// QueryModuleStateRequest is the request type for the Query/InsuranceModuleState RPC method. +// QueryModuleStateRequest is the request type for the +// Query/InsuranceModuleState RPC method. message QueryModuleStateRequest {} -// QueryModuleStateResponse is the response type for the Query/InsuranceModuleState RPC method. -message QueryModuleStateResponse { - GenesisState state = 1; -} \ No newline at end of file +// QueryModuleStateResponse is the response type for the +// Query/InsuranceModuleState RPC method. +message QueryModuleStateResponse { GenesisState state = 1; } \ No newline at end of file diff --git a/proto/injective/insurance/v1beta1/tx.proto b/proto/injective/insurance/v1beta1/tx.proto index 97bbb5de..22e33993 100644 --- a/proto/injective/insurance/v1beta1/tx.proto +++ b/proto/injective/insurance/v1beta1/tx.proto @@ -3,6 +3,9 @@ package injective.insurance.v1beta1; import "gogoproto/gogo.proto"; import "cosmos/base/v1beta1/coin.proto"; +import "cosmos/msg/v1/msg.proto"; +import "cosmos_proto/cosmos.proto"; +import "injective/insurance/v1beta1/insurance.proto"; import "injective/oracle/v1beta1/oracle.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/insurance/types"; @@ -11,64 +14,98 @@ option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/mod service Msg { // CreateInsuranceFund defines a method for creating an insurance fund - rpc CreateInsuranceFund(MsgCreateInsuranceFund) returns (MsgCreateInsuranceFundResponse); + rpc CreateInsuranceFund(MsgCreateInsuranceFund) + returns (MsgCreateInsuranceFundResponse); - // Underwrite defines a method for depositing tokens to underwrite an insurance fund + // Underwrite defines a method for depositing tokens to underwrite an + // insurance fund rpc Underwrite(MsgUnderwrite) returns (MsgUnderwriteResponse); - // RequestRedemption defines a method for requesting a redemption of the sender's insurance fund tokens - rpc RequestRedemption(MsgRequestRedemption) returns (MsgRequestRedemptionResponse); + // RequestRedemption defines a method for requesting a redemption of the + // sender's insurance fund tokens + rpc RequestRedemption(MsgRequestRedemption) + returns (MsgRequestRedemptionResponse); + + rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); } -// MsgCreateInsuranceFund a message to create an insurance fund for a derivative market. +// MsgCreateInsuranceFund a message to create an insurance fund for a derivative +// market. message MsgCreateInsuranceFund { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + + option (cosmos.msg.v1.signer) = "sender"; + // Creator of the insurance fund. string sender = 1; // Ticker for the derivative market. string ticker = 2; // Coin denom to use for the market quote denom string quote_denom = 3; - // Oracle base currency of the derivative market OR the oracle symbol for the binary options market. + // Oracle base currency of the derivative market OR the oracle symbol for the + // binary options market. string oracle_base = 4; - // Oracle quote currency of the derivative market OR the oracle provider for the binary options market. + // Oracle quote currency of the derivative market OR the oracle provider for + // the binary options market. string oracle_quote = 5; // Oracle type of the binary options or derivative market injective.oracle.v1beta1.OracleType oracle_type = 6; - // Expiration time of the derivative market. Should be -1 for perpetual or -2 for binary options markets. + // Expiration time of the derivative market. Should be -1 for perpetual or -2 + // for binary options markets. int64 expiry = 7; // Initial deposit of the insurance fund - cosmos.base.v1beta1.Coin initial_deposit = 8 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin initial_deposit = 8 [ (gogoproto.nullable) = false ]; } -message MsgCreateInsuranceFundResponse{} +message MsgCreateInsuranceFundResponse {} -// MsgUnderwrite defines a message for depositing coins to underwrite an insurance fund +// MsgUnderwrite defines a message for depositing coins to underwrite an +// insurance fund message MsgUnderwrite { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + + option (cosmos.msg.v1.signer) = "sender"; + // Address of the underwriter. string sender = 1; // MarketID of the insurance fund. string market_id = 2; // Amount of quote_denom to underwrite the insurance fund. - cosmos.base.v1beta1.Coin deposit = 3 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin deposit = 3 [ (gogoproto.nullable) = false ]; } -message MsgUnderwriteResponse{} +message MsgUnderwriteResponse {} -// MsgRequestRedemption defines a message for requesting a redemption of the sender's insurance fund tokens +// MsgRequestRedemption defines a message for requesting a redemption of the +// sender's insurance fund tokens message MsgRequestRedemption { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + + option (cosmos.msg.v1.signer) = "sender"; + // Address of the underwriter requesting a redemption. string sender = 1; // MarketID of the insurance fund. string market_id = 2; // Insurance fund share token amount to be redeemed. - cosmos.base.v1beta1.Coin amount = 3 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin amount = 3 [ (gogoproto.nullable) = false ]; } -message MsgRequestRedemptionResponse{} +message MsgRequestRedemptionResponse {} + +message MsgUpdateParams { + option (cosmos.msg.v1.signer) = "authority"; + + // authority is the address of the governance account. + string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + + // params defines the insurance parameters to update. + // + // NOTE: All parameters must be supplied. + Params params = 2 [ (gogoproto.nullable) = false ]; +} +message MsgUpdateParamsResponse {} diff --git a/proto/injective/ocr/v1beta1/genesis.proto b/proto/injective/ocr/v1beta1/genesis.proto index e4a370c7..3783cd9f 100644 --- a/proto/injective/ocr/v1beta1/genesis.proto +++ b/proto/injective/ocr/v1beta1/genesis.proto @@ -10,7 +10,7 @@ option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/mod // GenesisState defines the OCR module's genesis state. message GenesisState { // params defines all the parameters of related to OCR. - Params params = 1 [(gogoproto.nullable) = false]; + Params params = 1 [ (gogoproto.nullable) = false ]; // feed_configs stores all of the supported OCR feeds repeated FeedConfig feed_configs = 2; @@ -21,7 +21,8 @@ message GenesisState { // feed_transmissions stores the last transmission for each feed repeated FeedTransmission feed_transmissions = 4; - // latest_aggregator_round_ids stores the latest aggregator round ID for each feedId + // latest_aggregator_round_ids stores the latest aggregator round ID for each + // feedId repeated FeedLatestAggregatorRoundIDs latest_aggregator_round_ids = 5; // reward_pools stores the reward pools @@ -54,7 +55,7 @@ message FeedLatestAggregatorRoundIDs { message RewardPool { string feed_id = 1; - cosmos.base.v1beta1.Coin amount = 2 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin amount = 2 [ (gogoproto.nullable) = false ]; } message FeedCounts { @@ -72,4 +73,3 @@ message PendingPayeeship { string transmitter = 2; string proposed_payee = 3; } - diff --git a/proto/injective/ocr/v1beta1/ocr.proto b/proto/injective/ocr/v1beta1/ocr.proto index 66bffbdd..48bfe7cc 100644 --- a/proto/injective/ocr/v1beta1/ocr.proto +++ b/proto/injective/ocr/v1beta1/ocr.proto @@ -1,10 +1,10 @@ syntax = "proto3"; package injective.ocr.v1beta1; +import "cosmos/base/v1beta1/coin.proto"; +import "cosmos_proto/cosmos.proto"; import "gogoproto/gogo.proto"; import "google/protobuf/timestamp.proto"; -import "cosmos/base/v1beta1/coin.proto"; - option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/ocr/types"; @@ -23,19 +23,23 @@ message FeedConfig { // signers ith element is address ith oracle uses to sign a report repeated string signers = 1; - // transmitters ith element is address ith oracle uses to transmit a report via the transmit method + // transmitters ith element is address ith oracle uses to transmit a report + // via the transmit method repeated string transmitters = 2; - // f maximum number of faulty/dishonest oracles the protocol can tolerate while still working correctly + // f maximum number of faulty/dishonest oracles the protocol can tolerate + // while still working correctly uint32 f = 3; // onchain_config serialized data with reporting plugin params on chain. bytes onchain_config = 4; - // offchain_config_version version of the serialization format used for "offchain_config" parameter + // offchain_config_version version of the serialization format used for + // "offchain_config" parameter uint64 offchain_config_version = 5; - // offchain_config serialized data used by oracles to configure their offchain operation + // offchain_config serialized data used by oracles to configure their offchain + // operation bytes offchain_config = 6; // feed-specific params for the Cosmos module. @@ -46,7 +50,8 @@ message FeedConfigInfo { bytes latest_config_digest = 1; uint32 f = 2; uint32 n = 3; - // config_count ordinal number of this config setting among all config settings + // config_count ordinal number of this config setting among all config + // settings uint64 config_count = 4; int64 latest_config_block_number = 5; } @@ -85,7 +90,8 @@ message ModuleParams { // Enables unique reports bool unique_reports = 7; - // short human-readable description of observable this feed's answers pertain to + // short human-readable description of observable this feed's answers pertain + // to string description = 8; // feed administrator @@ -96,25 +102,30 @@ message ModuleParams { } message ContractConfig { - // config_count ordinal number of this config setting among all config settings + // config_count ordinal number of this config setting among all config + // settings uint64 config_count = 1; // signers ith element is address ith oracle uses to sign a report repeated string signers = 2; - // transmitters ith element is address ith oracle uses to transmit a report via the transmit method + // transmitters ith element is address ith oracle uses to transmit a report + // via the transmit method repeated string transmitters = 3; - // f maximum number of faulty/dishonest oracles the protocol can tolerate while still working correctly + // f maximum number of faulty/dishonest oracles the protocol can tolerate + // while still working correctly uint32 f = 4; // onchain_config serialized data with reporting plugin params on chain. bytes onchain_config = 5; - // offchain_config_version version of the serialization format used for "offchain_config" parameter + // offchain_config_version version of the serialization format used for + // "offchain_config" parameter uint64 offchain_config_version = 6; - // offchain_config serialized data used by oracles to configure their offchain operation + // offchain_config serialized data used by oracles to configure their offchain + // operation bytes offchain_config = 7; } @@ -122,6 +133,8 @@ message SetConfigProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; FeedConfig config = 3; @@ -131,38 +144,41 @@ message FeedProperties { // feed_id is an unique ID for the target of this config string feed_id = 1; - // f maximum number of faulty/dishonest oracles the protocol can tolerate while still working correctly + // f maximum number of faulty/dishonest oracles the protocol can tolerate + // while still working correctly uint32 f = 2; // onchain_config serialized data with reporting plugin params on chain. bytes onchain_config = 3; - // offchain_config_version version of the serialization format used for "offchain_config" parameter + // offchain_config_version version of the serialization format used for + // "offchain_config" parameter uint64 offchain_config_version = 4; - // offchain_config serialized data used by oracles to configure their offchain operation + // offchain_config serialized data used by oracles to configure their offchain + // operation bytes offchain_config = 5; // lowest answer the median of a report is allowed to be - string min_answer = 6[ + string min_answer = 6 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; // highest answer the median of a report is allowed to be - string max_answer = 7[ + string max_answer = 7 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; // Fixed LINK reward for each observer - string link_per_observation = 8[ + string link_per_observation = 8 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = false ]; // Fixed LINK reward for transmitter - string link_per_transmission = 9[ + string link_per_transmission = 9 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = false ]; @@ -170,7 +186,8 @@ message FeedProperties { // Enables unique reports bool unique_reports = 10; - // short human-readable description of observable this feed's answers pertain to + // short human-readable description of observable this feed's answers pertain + // to string description = 11; } @@ -178,13 +195,16 @@ message SetBatchConfigProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; // signers ith element is address ith oracle uses to sign a report repeated string signers = 3; - // transmitters ith element is address ith oracle uses to transmit a report via the transmit method + // transmitters ith element is address ith oracle uses to transmit a report + // via the transmit method repeated string transmitters = 4; // Native denom for LINK coin in the bank keeper @@ -194,9 +214,7 @@ message SetBatchConfigProposal { repeated FeedProperties feed_properties = 6; } -message OracleObservationsCounts { - repeated uint32 counts = 1; -} +message OracleObservationsCounts { repeated uint32 counts = 1; } // LINK-INJ-denominated reimbursements for gas used by transmitters. message GasReimbursements { @@ -211,7 +229,7 @@ message Payee { // Transmission records the median answer from the transmit transaction at // time timestamp message Transmission { - string answer = 1[ + string answer = 1 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; @@ -227,7 +245,7 @@ message EpochAndRound { message Report { int64 observations_timestamp = 1; bytes observers = 2; // ith element is the index of the ith observer - repeated string observations = 3[ + repeated string observations = 3 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; // ith element is the ith observation @@ -246,9 +264,7 @@ message ReportToSign { message EventOraclePaid { string transmitter_addr = 1; string payee_addr = 2; - cosmos.base.v1beta1.Coin amount = 3 [ - (gogoproto.nullable) = false - ]; + cosmos.base.v1beta1.Coin amount = 3 [ (gogoproto.nullable) = false ]; } message EventAnswerUpdated { @@ -262,10 +278,8 @@ message EventAnswerUpdated { (gogoproto.nullable) = false ]; - google.protobuf.Timestamp updated_at = 3 [ - (gogoproto.stdtime) = true, - (gogoproto.nullable) = false - ]; + google.protobuf.Timestamp updated_at = 3 + [ (gogoproto.stdtime) = true, (gogoproto.nullable) = false ]; } message EventNewRound { @@ -277,10 +291,8 @@ message EventNewRound { // address of starter string started_by = 2; - google.protobuf.Timestamp started_at = 3 [ - (gogoproto.stdtime) = true, - (gogoproto.nullable) = false - ]; + google.protobuf.Timestamp started_at = 3 + [ (gogoproto.stdtime) = true, (gogoproto.nullable) = false ]; } message EventTransmitted { @@ -297,7 +309,7 @@ message EventNewTransmission { ]; string transmitter = 4; int64 observations_timestamp = 5; - repeated string observations = 6[ + repeated string observations = 6 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; @@ -309,9 +321,10 @@ message EventNewTransmission { message EventConfigSet { // hash of the config bytes config_digest = 1; - // previous_config_block_number block in which the previous config was set, to simplify historic analysis + // previous_config_block_number block in which the previous config was set, to + // simplify historic analysis int64 previous_config_block_number = 2; FeedConfig config = 3; FeedConfigInfo config_info = 4; -} +} \ No newline at end of file diff --git a/proto/injective/ocr/v1beta1/query.proto b/proto/injective/ocr/v1beta1/query.proto index 5d5141d2..408c1e26 100644 --- a/proto/injective/ocr/v1beta1/query.proto +++ b/proto/injective/ocr/v1beta1/query.proto @@ -17,31 +17,40 @@ service Query { // Retrieves the OCR FeedConfig for a given FeedId rpc FeedConfig(QueryFeedConfigRequest) returns (QueryFeedConfigResponse) { - option (google.api.http).get = "/chainlink/ocr/v1beta1/feed_config/{feed_id}"; + option (google.api.http).get = + "/chainlink/ocr/v1beta1/feed_config/{feed_id}"; } // Retrieves the OCR FeedConfigInfo for a given FeedId - rpc FeedConfigInfo(QueryFeedConfigInfoRequest) returns (QueryFeedConfigInfoResponse) { - option (google.api.http).get = "/chainlink/ocr/v1beta1/feed_config_info/{feed_id}"; + rpc FeedConfigInfo(QueryFeedConfigInfoRequest) + returns (QueryFeedConfigInfoResponse) { + option (google.api.http).get = + "/chainlink/ocr/v1beta1/feed_config_info/{feed_id}"; } // Retrieves latest round ID and data, including median answer for that round rpc LatestRound(QueryLatestRoundRequest) returns (QueryLatestRoundResponse) { - option (google.api.http).get = "/chainlink/ocr/v1beta1/latest_round/{feed_id}"; + option (google.api.http).get = + "/chainlink/ocr/v1beta1/latest_round/{feed_id}"; } - // LatestTransmissionDetails returns details about the latest trasmission recorded on chain for the given feed ID. - rpc LatestTransmissionDetails(QueryLatestTransmissionDetailsRequest) returns (QueryLatestTransmissionDetailsResponse) { - option (google.api.http).get = "/chainlink/ocr/v1beta1/latest_transmission_details/{feed_id}"; + // LatestTransmissionDetails returns details about the latest trasmission + // recorded on chain for the given feed ID. + rpc LatestTransmissionDetails(QueryLatestTransmissionDetailsRequest) + returns (QueryLatestTransmissionDetailsResponse) { + option (google.api.http).get = + "/chainlink/ocr/v1beta1/latest_transmission_details/{feed_id}"; } // Retrieves transmitter's owed amount rpc OwedAmount(QueryOwedAmountRequest) returns (QueryOwedAmountResponse) { - option (google.api.http).get = "/chainlink/ocr/v1beta1/owed_amount/{transmitter}"; + option (google.api.http).get = + "/chainlink/ocr/v1beta1/owed_amount/{transmitter}"; } // Retrieves the entire OCR module's state - rpc OcrModuleState(QueryModuleStateRequest) returns (QueryModuleStateResponse) { + rpc OcrModuleState(QueryModuleStateRequest) + returns (QueryModuleStateResponse) { option (google.api.http).get = "/chainlink/ocr/v1beta1/module_state"; } } @@ -49,41 +58,31 @@ service Query { message QueryParamsRequest {} message QueryParamsResponse { - Params params = 1 [ - (gogoproto.nullable) = false - ]; + Params params = 1 [ (gogoproto.nullable) = false ]; } -message QueryFeedConfigRequest { - string feed_id = 1; -} +message QueryFeedConfigRequest { string feed_id = 1; } message QueryFeedConfigResponse { FeedConfigInfo feed_config_info = 1; FeedConfig feed_config = 2; } -message QueryFeedConfigInfoRequest { - string feed_id = 1; -} +message QueryFeedConfigInfoRequest { string feed_id = 1; } message QueryFeedConfigInfoResponse { FeedConfigInfo feed_config_info = 1; EpochAndRound epoch_and_round = 2; } -message QueryLatestRoundRequest { - string feed_id = 1; -} +message QueryLatestRoundRequest { string feed_id = 1; } message QueryLatestRoundResponse { uint64 latest_round_id = 1; Transmission data = 2; } -message QueryLatestTransmissionDetailsRequest { - string feed_id = 1; -} +message QueryLatestTransmissionDetailsRequest { string feed_id = 1; } message QueryLatestTransmissionDetailsResponse { bytes config_digest = 1; @@ -91,16 +90,12 @@ message QueryLatestTransmissionDetailsResponse { Transmission data = 3; } -message QueryOwedAmountRequest { - string transmitter = 1; -} +message QueryOwedAmountRequest { string transmitter = 1; } message QueryOwedAmountResponse { - cosmos.base.v1beta1.Coin amount = 1 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin amount = 1 [ (gogoproto.nullable) = false ]; } message QueryModuleStateRequest {} -message QueryModuleStateResponse { - GenesisState state = 1; -} \ No newline at end of file +message QueryModuleStateResponse { GenesisState state = 1; } \ No newline at end of file diff --git a/proto/injective/ocr/v1beta1/tx.proto b/proto/injective/ocr/v1beta1/tx.proto index 2a3f024f..fa84a912 100644 --- a/proto/injective/ocr/v1beta1/tx.proto +++ b/proto/injective/ocr/v1beta1/tx.proto @@ -1,9 +1,11 @@ syntax = "proto3"; package injective.ocr.v1beta1; +import "cosmos/base/v1beta1/coin.proto"; +import "cosmos/msg/v1/msg.proto"; import "gogoproto/gogo.proto"; import "injective/ocr/v1beta1/ocr.proto"; -import "cosmos/base/v1beta1/coin.proto"; +import "cosmos_proto/cosmos.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/ocr/types"; @@ -11,34 +13,49 @@ option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/mod service Msg { // CreateFeed defines a method for creating feed by module admin rpc CreateFeed(MsgCreateFeed) returns (MsgCreateFeedResponse); - // CreateFeed defines a method for creating feed by feed admin or feed billing admin + // CreateFeed defines a method for creating feed by feed admin or feed billing + // admin rpc UpdateFeed(MsgUpdateFeed) returns (MsgUpdateFeedResponse); // Transmit defines a method for transmitting the feed info by transmitter rpc Transmit(MsgTransmit) returns (MsgTransmitResponse); // FundFeedRewardPool defines a method to put funds into feed reward pool - rpc FundFeedRewardPool(MsgFundFeedRewardPool) returns (MsgFundFeedRewardPoolResponse); - // WithdrawFeedRewardPool defines a method to witdhraw feed reward by feed admin or billing admin - rpc WithdrawFeedRewardPool(MsgWithdrawFeedRewardPool) returns (MsgWithdrawFeedRewardPoolResponse); + rpc FundFeedRewardPool(MsgFundFeedRewardPool) + returns (MsgFundFeedRewardPoolResponse); + // WithdrawFeedRewardPool defines a method to witdhraw feed reward by feed + // admin or billing admin + rpc WithdrawFeedRewardPool(MsgWithdrawFeedRewardPool) + returns (MsgWithdrawFeedRewardPoolResponse); // SetPayees defines a method to set payees for transmitters (batch action) rpc SetPayees(MsgSetPayees) returns (MsgSetPayeesResponse); - // TransferPayeeship defines a method for a payee to transfer reward receive ownership - rpc TransferPayeeship(MsgTransferPayeeship) returns (MsgTransferPayeeshipResponse); - // AcceptPayeeship defines a method for a new payee to accept reward receive ownership + // TransferPayeeship defines a method for a payee to transfer reward receive + // ownership + rpc TransferPayeeship(MsgTransferPayeeship) + returns (MsgTransferPayeeshipResponse); + // AcceptPayeeship defines a method for a new payee to accept reward receive + // ownership rpc AcceptPayeeship(MsgAcceptPayeeship) returns (MsgAcceptPayeeshipResponse); + + rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); } message MsgCreateFeed { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; FeedConfig config = 2; } -message MsgCreateFeedResponse{} +message MsgCreateFeedResponse {} message MsgUpdateFeed { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; // feed_id is an unique ID for the target of this config string feed_id = 2; @@ -46,17 +63,18 @@ message MsgUpdateFeed { // signers ith element is address ith oracle uses to sign a report repeated string signers = 3; - // transmitters ith element is address ith oracle uses to transmit a report via the transmit method + // transmitters ith element is address ith oracle uses to transmit a report + // via the transmit method repeated string transmitters = 4; // Fixed LINK reward for each observer - string link_per_observation = 5[ + string link_per_observation = 5 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = true ]; // Fixed LINK reward for transmitter - string link_per_transmission = 6[ + string link_per_transmission = 6 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = true ]; @@ -71,11 +89,14 @@ message MsgUpdateFeed { string billing_admin = 9; } -message MsgUpdateFeedResponse{} +message MsgUpdateFeedResponse {} message MsgTransmit { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + + option (cosmos.msg.v1.signer) = "transmitter"; + // Address of the transmitter string transmitter = 1; bytes config_digest = 2; @@ -87,34 +108,40 @@ message MsgTransmit { repeated bytes signatures = 8; } -message MsgTransmitResponse{} +message MsgTransmitResponse {} message MsgFundFeedRewardPool { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; string feed_id = 2; - cosmos.base.v1beta1.Coin amount = 3 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin amount = 3 [ (gogoproto.nullable) = false ]; } -message MsgFundFeedRewardPoolResponse{} +message MsgFundFeedRewardPoolResponse {} message MsgWithdrawFeedRewardPool { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; string feed_id = 2; - cosmos.base.v1beta1.Coin amount = 3 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin amount = 3 [ (gogoproto.nullable) = false ]; } -message MsgWithdrawFeedRewardPoolResponse{} +message MsgWithdrawFeedRewardPoolResponse {} message MsgSetPayees { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; string feed_id = 2; // addresses oracles use to transmit the reports @@ -124,12 +151,14 @@ message MsgSetPayees { repeated string payees = 4; } -message MsgSetPayeesResponse{} +message MsgSetPayeesResponse {} message MsgTransferPayeeship { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + // transmitter address of oracle whose payee is changing string sender = 1; string transmitter = 2; @@ -138,11 +167,14 @@ message MsgTransferPayeeship { string proposed = 4; } -message MsgTransferPayeeshipResponse{} +message MsgTransferPayeeshipResponse {} message MsgAcceptPayeeship { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + + option (cosmos.msg.v1.signer) = "transmitter"; + // new payee address string payee = 1; // transmitter address of oracle whose payee is changing @@ -150,4 +182,18 @@ message MsgAcceptPayeeship { string feed_id = 3; } -message MsgAcceptPayeeshipResponse{} +message MsgAcceptPayeeshipResponse {} + +message MsgUpdateParams { + option (cosmos.msg.v1.signer) = "authority"; + + // authority is the address of the governance account. + string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + + // params defines the ocr parameters to update. + // + // NOTE: All parameters must be supplied. + Params params = 2 [ (gogoproto.nullable) = false ]; +} + +message MsgUpdateParamsResponse {} \ No newline at end of file diff --git a/proto/injective/oracle/v1beta1/events.proto b/proto/injective/oracle/v1beta1/events.proto index 6cde2aea..5db1c22a 100644 --- a/proto/injective/oracle/v1beta1/events.proto +++ b/proto/injective/oracle/v1beta1/events.proto @@ -9,7 +9,10 @@ option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/mod message SetChainlinkPriceEvent { string feed_id = 1; - string answer = 2 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false]; + string answer = 2 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; uint64 timestamp = 3; } @@ -17,7 +20,10 @@ message SetChainlinkPriceEvent { message SetBandPriceEvent { string relayer = 1; string symbol = 2; - string price = 3 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false]; + string price = 3 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; uint64 resolve_time = 4; uint64 request_id = 5; } @@ -25,7 +31,10 @@ message SetBandPriceEvent { message SetBandIBCPriceEvent { string relayer = 1; repeated string symbols = 2; - repeated string prices = 3 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false]; + repeated string prices = 3 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; uint64 resolve_time = 4; uint64 request_id = 5; int64 client_id = 6; @@ -41,9 +50,7 @@ message EventBandIBCAckError { int64 client_id = 2; } -message EventBandIBCResponseTimeout { - int64 client_id = 1; -} +message EventBandIBCResponseTimeout { int64 client_id = 1; } message SetPriceFeedPriceEvent { string relayer = 1; @@ -52,24 +59,29 @@ message SetPriceFeedPriceEvent { string quote = 3; // price defines the price of the oracle base and quote - string price = 4 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false]; + string price = 4 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; } message SetProviderPriceEvent { string provider = 1; string relayer = 2; string symbol = 3; - string price = 4 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false]; + string price = 4 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; } message SetCoinbasePriceEvent { string symbol = 1; - string price = 2 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false]; + string price = 2 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; uint64 timestamp = 3; } - -message EventSetPythPrices { - repeated PythPriceState prices = 1; -} - +message EventSetPythPrices { repeated PythPriceState prices = 1; } diff --git a/proto/injective/oracle/v1beta1/genesis.proto b/proto/injective/oracle/v1beta1/genesis.proto index d72ee7ca..864afc83 100644 --- a/proto/injective/oracle/v1beta1/genesis.proto +++ b/proto/injective/oracle/v1beta1/genesis.proto @@ -9,7 +9,7 @@ option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/mod // GenesisState defines the oracle module's genesis state. message GenesisState { // params defines all the parameters of related to oracle. - Params params = 1 [(gogoproto.nullable) = false]; + Params params = 1 [ (gogoproto.nullable) = false ]; repeated string band_relayers = 2; @@ -23,7 +23,7 @@ message GenesisState { repeated BandOracleRequest band_ibc_oracle_requests = 7; - BandIBCParams band_ibc_params = 8 [(gogoproto.nullable) = false]; + BandIBCParams band_ibc_params = 8 [ (gogoproto.nullable) = false ]; uint64 band_ibc_latest_client_id = 9; diff --git a/proto/injective/oracle/v1beta1/oracle.proto b/proto/injective/oracle/v1beta1/oracle.proto index d4aeef4a..9d11158e 100644 --- a/proto/injective/oracle/v1beta1/oracle.proto +++ b/proto/injective/oracle/v1beta1/oracle.proto @@ -35,17 +35,23 @@ message OracleInfo { message ChainlinkPriceState { string feed_id = 1; - string answer = 2 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false]; + string answer = 2 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; uint64 timestamp = 3; - PriceState price_state = 4 [(gogoproto.nullable) = false]; + PriceState price_state = 4 [ (gogoproto.nullable) = false ]; } message BandPriceState { string symbol = 1; - string rate = 2 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = false]; + string rate = 2 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.nullable) = false + ]; uint64 resolve_time = 3; uint64 request_ID = 4; - PriceState price_state = 5 [(gogoproto.nullable) = false]; + PriceState price_state = 5 [ (gogoproto.nullable) = false ]; } message PriceFeedState { @@ -76,7 +82,10 @@ message PriceFeedInfo { } message PriceFeedPrice { - string price = 1 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false]; + string price = 1 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; } message CoinbasePriceState { @@ -89,31 +98,47 @@ message CoinbasePriceState { // the value of the price scaled by 1e6 uint64 value = 4; // the price state - PriceState price_state = 5 [(gogoproto.nullable) = false]; + PriceState price_state = 5 [ (gogoproto.nullable) = false ]; } message PriceState { - string price = 1 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false]; + string price = 1 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; - string cumulative_price = 2 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false]; + string cumulative_price = 2 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; int64 timestamp = 3; } message PythPriceState { string price_id = 1; - string ema_price = 2 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false]; - string ema_conf = 3 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false]; - string conf = 4 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false]; + string ema_price = 2 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; + string ema_conf = 3 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; + string conf = 4 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; uint64 publish_time = 5; - PriceState price_state = 6 [(gogoproto.nullable) = false]; + PriceState price_state = 6 [ (gogoproto.nullable) = false ]; } message BandOracleRequest { // Unique Identifier for band ibc oracle request uint64 request_id = 1; - // OracleScriptID is the unique identifier of the oracle script to be executed. + // OracleScriptID is the unique identifier of the oracle script to be + // executed. int64 oracle_script_id = 2; // Symbols is the list of symbols to prepare in the calldata @@ -128,14 +153,19 @@ message BandOracleRequest { // cost of liveness. uint64 min_count = 5; - // FeeLimit is the maximum tokens that will be paid to all data source providers. - repeated cosmos.base.v1beta1.Coin fee_limit = 6 [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"]; + // FeeLimit is the maximum tokens that will be paid to all data source + // providers. + repeated cosmos.base.v1beta1.Coin fee_limit = 6 [ + (gogoproto.nullable) = false, + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" + ]; // PrepareGas is amount of gas to pay to prepare raw requests uint64 prepare_gas = 7; // ExecuteGas is amount of gas to reserve for executing uint64 execute_gas = 8; - // MinSourceCount is the minimum number of data sources that must be used by each validator + // MinSourceCount is the minimum number of data sources that must be used by + // each validator uint64 min_source_count = 9; } @@ -155,7 +185,6 @@ message BandIBCParams { repeated int64 legacy_oracle_ids = 6; } - message SymbolPriceTimestamp { OracleType oracle = 1; string symbol_id = 2; @@ -182,20 +211,24 @@ message PriceRecord { ]; } -// MetadataStatistics refers to the metadata summary statistics of the historical sample considered +// MetadataStatistics refers to the metadata summary statistics of the +// historical sample considered message MetadataStatistics { - // GroupCount refers to the number of groups used. Equals RecordsSampleSize if no grouping is used + // GroupCount refers to the number of groups used. Equals RecordsSampleSize if + // no grouping is used uint32 group_count = 1; // RecordsSampleSize refers to the total number of records used. uint32 records_sample_size = 2; // Mean refers to the arithmetic mean - // For trades, the mean is the VWAP computed over the grouped trade records ∑ (price * quantity) / ∑ quantity - // For oracle prices, the mean is computed over the price records ∑ (price) / prices_count + // For trades, the mean is the VWAP computed over the grouped trade records ∑ + // (price * quantity) / ∑ quantity For oracle prices, the mean is computed + // over the price records ∑ (price) / prices_count string mean = 3 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - // TWAP refers to the time-weighted average price which equals ∑ (price_i * ∆t_i) / ∑ ∆t_i where ∆t_i = t_i - t_{i-1} + // TWAP refers to the time-weighted average price which equals ∑ (price_i * + // ∆t_i) / ∑ ∆t_i where ∆t_i = t_i - t_{i-1} string twap = 4 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false @@ -221,7 +254,6 @@ message MetadataStatistics { ]; } - message PriceAttestation { string price_id = 1; // MaxPrice refers to the largest individual raw price considered diff --git a/proto/injective/oracle/v1beta1/proposal.proto b/proto/injective/oracle/v1beta1/proposal.proto index e994491c..925d786d 100644 --- a/proto/injective/oracle/v1beta1/proposal.proto +++ b/proto/injective/oracle/v1beta1/proposal.proto @@ -1,8 +1,9 @@ syntax = "proto3"; package injective.oracle.v1beta1; -import "gogoproto/gogo.proto"; import "cosmos/base/v1beta1/coin.proto"; +import "cosmos_proto/cosmos.proto"; +import "gogoproto/gogo.proto"; import "injective/oracle/v1beta1/oracle.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/oracle/types"; @@ -11,6 +12,8 @@ message GrantBandOraclePrivilegeProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; repeated string relayers = 3; @@ -20,6 +23,8 @@ message RevokeBandOraclePrivilegeProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; repeated string relayers = 3; @@ -29,6 +34,8 @@ message GrantPriceFeederPrivilegeProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; string base = 3; @@ -40,6 +47,8 @@ message GrantProviderPrivilegeProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; string provider = 3; @@ -50,6 +59,8 @@ message RevokeProviderPrivilegeProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; string provider = 3; @@ -60,6 +71,8 @@ message RevokePriceFeederPrivilegeProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; string base = 3; @@ -71,15 +84,19 @@ message AuthorizeBandOracleRequestProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; - BandOracleRequest request = 3 [(gogoproto.nullable) = false]; + BandOracleRequest request = 3 [ (gogoproto.nullable) = false ]; } message UpdateBandOracleRequestProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; repeated uint64 delete_request_ids = 3; @@ -90,8 +107,10 @@ message EnableBandIBCProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; - BandIBCParams band_ibc_params = 3 [(gogoproto.nullable) = false]; -} + BandIBCParams band_ibc_params = 3 [ (gogoproto.nullable) = false ]; +} \ No newline at end of file diff --git a/proto/injective/oracle/v1beta1/query.proto b/proto/injective/oracle/v1beta1/query.proto index 7ce044b9..3e07408b 100644 --- a/proto/injective/oracle/v1beta1/query.proto +++ b/proto/injective/oracle/v1beta1/query.proto @@ -16,60 +16,79 @@ service Query { } // Retrieves the band relayers - rpc BandRelayers(QueryBandRelayersRequest) returns (QueryBandRelayersResponse) { + rpc BandRelayers(QueryBandRelayersRequest) + returns (QueryBandRelayersResponse) { option (google.api.http).get = "/injective/oracle/v1beta1/band_relayers"; } // Retrieves the state for all band price feeds - rpc BandPriceStates(QueryBandPriceStatesRequest) returns (QueryBandPriceStatesResponse) { - option (google.api.http).get = "/injective/oracle/v1beta1/band_price_states"; + rpc BandPriceStates(QueryBandPriceStatesRequest) + returns (QueryBandPriceStatesResponse) { + option (google.api.http).get = + "/injective/oracle/v1beta1/band_price_states"; } // Retrieves the state for all band ibc price feeds - rpc BandIBCPriceStates(QueryBandIBCPriceStatesRequest) returns (QueryBandIBCPriceStatesResponse) { - option (google.api.http).get = "/injective/oracle/v1beta1/band_ibc_price_states"; + rpc BandIBCPriceStates(QueryBandIBCPriceStatesRequest) + returns (QueryBandIBCPriceStatesResponse) { + option (google.api.http).get = + "/injective/oracle/v1beta1/band_ibc_price_states"; } // Retrieves the state for all price feeds - rpc PriceFeedPriceStates(QueryPriceFeedPriceStatesRequest) returns (QueryPriceFeedPriceStatesResponse) { - option (google.api.http).get = "/injective/oracle/v1beta1/pricefeed_price_states"; + rpc PriceFeedPriceStates(QueryPriceFeedPriceStatesRequest) + returns (QueryPriceFeedPriceStatesResponse) { + option (google.api.http).get = + "/injective/oracle/v1beta1/pricefeed_price_states"; } // Retrieves the state for all coinbase price feeds - rpc CoinbasePriceStates(QueryCoinbasePriceStatesRequest) returns (QueryCoinbasePriceStatesResponse) { - option (google.api.http).get = "/injective/oracle/v1beta1/coinbase_price_states"; + rpc CoinbasePriceStates(QueryCoinbasePriceStatesRequest) + returns (QueryCoinbasePriceStatesResponse) { + option (google.api.http).get = + "/injective/oracle/v1beta1/coinbase_price_states"; } // Retrieves the state for all pyth price feeds - rpc PythPriceStates(QueryPythPriceStatesRequest) returns (QueryPythPriceStatesResponse) { - option (google.api.http).get = "/injective/oracle/v1beta1/pyth_price_states"; + rpc PythPriceStates(QueryPythPriceStatesRequest) + returns (QueryPythPriceStatesResponse) { + option (google.api.http).get = + "/injective/oracle/v1beta1/pyth_price_states"; } // Retrieves the state for all provider price feeds - rpc ProviderPriceState(QueryProviderPriceStateRequest) returns (QueryProviderPriceStateResponse) { - option (google.api.http).get = "/injective/oracle/v1beta1/provider_price_state/{provider}/{symbol}"; + rpc ProviderPriceState(QueryProviderPriceStateRequest) + returns (QueryProviderPriceStateResponse) { + option (google.api.http).get = + "/injective/oracle/v1beta1/provider_price_state/{provider}/{symbol}"; } // Retrieves the entire oracle module's state - rpc OracleModuleState(QueryModuleStateRequest) returns (QueryModuleStateResponse) { + rpc OracleModuleState(QueryModuleStateRequest) + returns (QueryModuleStateResponse) { option (google.api.http).get = "/injective/oracle/v1beta1/module_state"; } // Retrieves historical price records for a given OracleType and Symbol - rpc HistoricalPriceRecords(QueryHistoricalPriceRecordsRequest) returns (QueryHistoricalPriceRecordsResponse) { - option (google.api.http).get = "/injective/oracle/v1beta1/historical_price_records"; + rpc HistoricalPriceRecords(QueryHistoricalPriceRecordsRequest) + returns (QueryHistoricalPriceRecordsResponse) { + option (google.api.http).get = + "/injective/oracle/v1beta1/historical_price_records"; } // Retrieves mixed volatility value for the specified pair of base/quote - rpc OracleVolatility(QueryOracleVolatilityRequest) returns (QueryOracleVolatilityResponse){ + rpc OracleVolatility(QueryOracleVolatilityRequest) + returns (QueryOracleVolatilityResponse) { option (google.api.http).get = "/injective/oracle/v1beta1/volatility"; } - rpc OracleProvidersInfo(QueryOracleProvidersInfoRequest) returns (QueryOracleProvidersInfoResponse) { + rpc OracleProvidersInfo(QueryOracleProvidersInfoRequest) + returns (QueryOracleProvidersInfoResponse) { option (google.api.http).get = "/injective/oracle/v1beta1/providers"; } - rpc OracleProviderPrices(QueryOracleProviderPricesRequest) returns (QueryOracleProviderPricesResponse) { + rpc OracleProviderPrices(QueryOracleProviderPricesRequest) + returns (QueryOracleProviderPricesResponse) { option (google.api.http).get = "/injective/oracle/v1beta1/provider_prices"; } @@ -82,91 +101,98 @@ service Query { } } -message QueryPythPriceRequest { - string price_id = 1; -} +message QueryPythPriceRequest { string price_id = 1; } message QueryPythPriceResponse { PythPriceState price_state = 1; } -// QueryOracleParamsRequest is the request type for the Query/OracleParams RPC method. +// QueryOracleParamsRequest is the request type for the Query/OracleParams RPC +// method. message QueryParamsRequest {} -// QueryOracleParamsResponse is the response type for the Query/OracleParams RPC method. +// QueryOracleParamsResponse is the response type for the Query/OracleParams RPC +// method. message QueryParamsResponse { - Params params = 1 [ - (gogoproto.nullable) = false - ]; - + Params params = 1 [ (gogoproto.nullable) = false ]; } -// QueryBandRelayersRequest is the request type for the Query/BandRelayers RPC method. +// QueryBandRelayersRequest is the request type for the Query/BandRelayers RPC +// method. message QueryBandRelayersRequest {} -// QueryBandRelayersResponse is the response type for the Query/BandRelayers RPC method. -message QueryBandRelayersResponse { - repeated string relayers = 1; -} +// QueryBandRelayersResponse is the response type for the Query/BandRelayers RPC +// method. +message QueryBandRelayersResponse { repeated string relayers = 1; } -// QueryBandPriceStatesRequest is the request type for the Query/BandPriceStates RPC method. +// QueryBandPriceStatesRequest is the request type for the Query/BandPriceStates +// RPC method. message QueryBandPriceStatesRequest {} -// QueryBandPriceStatesResponse is the response type for the Query/BandPriceStates RPC method. +// QueryBandPriceStatesResponse is the response type for the +// Query/BandPriceStates RPC method. message QueryBandPriceStatesResponse { repeated BandPriceState price_states = 1; } -// QueryBandIBCPriceStatesRequest is the request type for the Query/BandIBCPriceStates RPC method. +// QueryBandIBCPriceStatesRequest is the request type for the +// Query/BandIBCPriceStates RPC method. message QueryBandIBCPriceStatesRequest {} -// QueryBandIBCPriceStatesResponse is the response type for the Query/BandIBCPriceStates RPC method. +// QueryBandIBCPriceStatesResponse is the response type for the +// Query/BandIBCPriceStates RPC method. message QueryBandIBCPriceStatesResponse { repeated BandPriceState price_states = 1; } -// QueryPriceFeedPriceStatesRequest is the request type for the Query/PriceFeedPriceStates RPC method. +// QueryPriceFeedPriceStatesRequest is the request type for the +// Query/PriceFeedPriceStates RPC method. message QueryPriceFeedPriceStatesRequest {} -// QueryPriceFeedPriceStatesResponse is the response type for the Query/PriceFeedPriceStates RPC method. +// QueryPriceFeedPriceStatesResponse is the response type for the +// Query/PriceFeedPriceStates RPC method. message QueryPriceFeedPriceStatesResponse { repeated PriceFeedState price_states = 1; } -// QueryCoinbasePriceStatesRequest is the request type for the Query/CoinbasePriceStates RPC method. +// QueryCoinbasePriceStatesRequest is the request type for the +// Query/CoinbasePriceStates RPC method. message QueryCoinbasePriceStatesRequest {} -// QueryCoinbasePriceStatesResponse is the response type for the Query/CoinbasePriceStates RPC method. +// QueryCoinbasePriceStatesResponse is the response type for the +// Query/CoinbasePriceStates RPC method. message QueryCoinbasePriceStatesResponse { repeated CoinbasePriceState price_states = 1; } -// QueryPythPriceStatesRequest is the request type for the Query/CoinbasePriceStates RPC method. +// QueryPythPriceStatesRequest is the request type for the +// Query/CoinbasePriceStates RPC method. message QueryPythPriceStatesRequest {} -// QueryPythPriceStatesResponse is the response type for the Query/CoinbasePriceStates RPC method. +// QueryPythPriceStatesResponse is the response type for the +// Query/CoinbasePriceStates RPC method. message QueryPythPriceStatesResponse { repeated PythPriceState price_states = 1; } -// QueryProviderPriceStateRequest is the request type for the Query/ProviderPriceState RPC method. +// QueryProviderPriceStateRequest is the request type for the +// Query/ProviderPriceState RPC method. message QueryProviderPriceStateRequest { string provider = 1; string symbol = 2; } -// QueryProviderPriceStatesResponse is the response type for the Query/ProviderPriceStates RPC method. -message QueryProviderPriceStateResponse { - PriceState price_state = 1; -} +// QueryProviderPriceStatesResponse is the response type for the +// Query/ProviderPriceStates RPC method. +message QueryProviderPriceStateResponse { PriceState price_state = 1; } -// QueryModuleStateRequest is the request type for the Query/OracleModuleState RPC method. +// QueryModuleStateRequest is the request type for the Query/OracleModuleState +// RPC method. message QueryModuleStateRequest {} -// QueryModuleStateResponse is the response type for the Query/OracleModuleState RPC method. -message QueryModuleStateResponse { - GenesisState state = 1; -} +// QueryModuleStateResponse is the response type for the Query/OracleModuleState +// RPC method. +message QueryModuleStateResponse { GenesisState state = 1; } message QueryHistoricalPriceRecordsRequest { OracleType oracle = 1; @@ -178,25 +204,31 @@ message QueryHistoricalPriceRecordsResponse { } message OracleHistoryOptions { - // MaxAge restricts the oracle price records oldest age in seconds from the current block time to consider. - // A value of 0 means use all the records present on the chain. + // MaxAge restricts the oracle price records oldest age in seconds from the + // current block time to consider. A value of 0 means use all the records + // present on the chain. uint64 max_age = 1; - // If IncludeRawHistory is true, the raw underlying data used for the computation is included in the response + // If IncludeRawHistory is true, the raw underlying data used for the + // computation is included in the response bool include_raw_history = 2; - // If IncludeMetadata is true, metadata on the computation is included in the response + // If IncludeMetadata is true, metadata on the computation is included in the + // response bool include_metadata = 3; } -// QueryOracleVolatilityRequest is the request type for Query/OracleVolatility RPC method. +// QueryOracleVolatilityRequest is the request type for Query/OracleVolatility +// RPC method. message QueryOracleVolatilityRequest { OracleInfo base_info = 1; OracleInfo quote_info = 2; OracleHistoryOptions oracle_history_options = 3; } -// QueryOracleVolatilityResponse is the response type for Query/OracleVolatility RPC method. +// QueryOracleVolatilityResponse is the response type for Query/OracleVolatility +// RPC method. message QueryOracleVolatilityResponse { - string volatility = 1 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec"]; + string volatility = 1 + [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec" ]; MetadataStatistics history_metadata = 2; repeated PriceRecord raw_history = 3; } @@ -207,15 +239,14 @@ message QueryOracleProvidersInfoResponse { repeated ProviderInfo providers = 1; } -message QueryOracleProviderPricesRequest { - string provider = 1; -} +message QueryOracleProviderPricesRequest { string provider = 1; } message QueryOracleProviderPricesResponse { - repeated ProviderState providerState = 1; + repeated ProviderState providerState = 1; } -// QueryOraclePriceRequest is the request type for the Query/OraclePrice RPC method. +// QueryOraclePriceRequest is the request type for the Query/OraclePrice RPC +// method. message QueryOraclePriceRequest { OracleType oracle_type = 1; string base = 2; @@ -223,18 +254,32 @@ message QueryOraclePriceRequest { } message PricePairState { - string pair_price = 1 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false]; - string base_price = 2 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false]; - string quote_price = 3 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false]; + string pair_price = 1 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; + string base_price = 2 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; + string quote_price = 3 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; - string base_cumulative_price = 4 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false]; - string quote_cumulative_price = 5 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false]; + string base_cumulative_price = 4 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; + string quote_cumulative_price = 5 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; int64 base_timestamp = 6; int64 quote_timestamp = 7; } -// QueryOraclePriceResponse is the response type for the Query/OraclePrice RPC method. -message QueryOraclePriceResponse { - PricePairState price_pair_state = 1; -} \ No newline at end of file +// QueryOraclePriceResponse is the response type for the Query/OraclePrice RPC +// method. +message QueryOraclePriceResponse { PricePairState price_pair_state = 1; } \ No newline at end of file diff --git a/proto/injective/oracle/v1beta1/tx.proto b/proto/injective/oracle/v1beta1/tx.proto index 228daa91..2c5ccebf 100644 --- a/proto/injective/oracle/v1beta1/tx.proto +++ b/proto/injective/oracle/v1beta1/tx.proto @@ -3,36 +3,50 @@ package injective.oracle.v1beta1; import "gogoproto/gogo.proto"; import "injective/oracle/v1beta1/oracle.proto"; +import "cosmos/msg/v1/msg.proto"; +import "cosmos_proto/cosmos.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/oracle/types"; // Msg defines the oracle Msg service. service Msg { - // RelayProviderPrice defines a method for relaying a price for a provider-based oracle - rpc RelayProviderPrices(MsgRelayProviderPrices) returns (MsgRelayProviderPricesResponse); + // RelayProviderPrice defines a method for relaying a price for a + // provider-based oracle + rpc RelayProviderPrices(MsgRelayProviderPrices) + returns (MsgRelayProviderPricesResponse); - // RelayPriceFeedPrice defines a method for relaying a price for a price feeder-based oracle - rpc RelayPriceFeedPrice(MsgRelayPriceFeedPrice) returns (MsgRelayPriceFeedPriceResponse); + // RelayPriceFeedPrice defines a method for relaying a price for a price + // feeder-based oracle + rpc RelayPriceFeedPrice(MsgRelayPriceFeedPrice) + returns (MsgRelayPriceFeedPriceResponse); // RelayBandRates defines a method for relaying rates from Band rpc RelayBandRates(MsgRelayBandRates) returns (MsgRelayBandRatesResponse); // RequestBandIBCRates defines a method for fetching rates from Band ibc - rpc RequestBandIBCRates(MsgRequestBandIBCRates) returns (MsgRequestBandIBCRatesResponse); + rpc RequestBandIBCRates(MsgRequestBandIBCRates) + returns (MsgRequestBandIBCRatesResponse); - // RelayCoinbaseMessages defines a method for relaying price messages from Coinbase API - rpc RelayCoinbaseMessages(MsgRelayCoinbaseMessages) returns (MsgRelayCoinbaseMessagesResponse); + // RelayCoinbaseMessages defines a method for relaying price messages from + // Coinbase API + rpc RelayCoinbaseMessages(MsgRelayCoinbaseMessages) + returns (MsgRelayCoinbaseMessagesResponse); // RelayPythPrices defines a method for relaying rates from the Pyth contract rpc RelayPythPrices(MsgRelayPythPrices) returns (MsgRelayPythPricesResponse); + // UpdateParams enables updating oracle module's params via governance + rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); } -// MsgRelayProviderPrice defines a SDK message for setting a price through the provider oracle. +// MsgRelayProviderPrice defines a SDK message for setting a price through the +// provider oracle. message MsgRelayProviderPrices { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; string provider = 2; repeated string symbols = 3; @@ -42,12 +56,15 @@ message MsgRelayProviderPrices { ]; } -message MsgRelayProviderPricesResponse{} +message MsgRelayProviderPricesResponse {} -// MsgRelayPriceFeedPrice defines a SDK message for setting a price through the pricefeed oracle. +// MsgRelayPriceFeedPrice defines a SDK message for setting a price through the +// pricefeed oracle. message MsgRelayPriceFeedPrice { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; repeated string base = 2; @@ -60,9 +77,11 @@ message MsgRelayPriceFeedPrice { ]; } -message MsgRelayPriceFeedPriceResponse{} +message MsgRelayPriceFeedPriceResponse {} message MsgRelayBandRates { + option (cosmos.msg.v1.signer) = "relayer"; + string relayer = 1; repeated string symbols = 2; repeated uint64 rates = 3; @@ -70,44 +89,60 @@ message MsgRelayBandRates { repeated uint64 requestIDs = 5; } -message MsgRelayBandRatesResponse{} +message MsgRelayBandRatesResponse {} -// MsgRelayCoinbaseMessages defines a SDK message for relaying price messages from Coinbase API. +// MsgRelayCoinbaseMessages defines a SDK message for relaying price messages +// from Coinbase API. message MsgRelayCoinbaseMessages { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; repeated bytes messages = 2; repeated bytes signatures = 3; } -message MsgRelayCoinbaseMessagesResponse{} +message MsgRelayCoinbaseMessagesResponse {} -// MsgRequestBandIBCRates defines a SDK message for requesting data from BandChain using IBC. +// MsgRequestBandIBCRates defines a SDK message for requesting data from +// BandChain using IBC. message MsgRequestBandIBCRates { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; string sender = 1; uint64 request_id = 2; - } // MsgRequestDataResponse defines the Msg/RequestBandIBCRates response type. message MsgRequestBandIBCRatesResponse {} - // MsgRelayPythPrices defines a SDK message for updating Pyth prices message MsgRelayPythPrices { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; string sender = 1; repeated PriceAttestation price_attestations = 2; } - // MsgRelayPythPricesResponse defines the Msg/RelayPythPrices response type. message MsgRelayPythPricesResponse {} +message MsgUpdateParams { + option (cosmos.msg.v1.signer) = "authority"; + + // authority is the address of the governance account. + string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + + // params defines the oracle parameters to update. + // + // NOTE: All parameters must be supplied. + Params params = 2 [ (gogoproto.nullable) = false ]; +} + +message MsgUpdateParamsResponse {} \ No newline at end of file diff --git a/proto/injective/peggy/v1/attestation.proto b/proto/injective/peggy/v1/attestation.proto index 40333ea7..f059c054 100644 --- a/proto/injective/peggy/v1/attestation.proto +++ b/proto/injective/peggy/v1/attestation.proto @@ -13,32 +13,37 @@ option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/mod enum ClaimType { option (gogoproto.goproto_enum_prefix) = false; - CLAIM_TYPE_UNKNOWN = 0 [(gogoproto.enumvalue_customname) = "CLAIM_TYPE_UNKNOWN"]; - CLAIM_TYPE_DEPOSIT = 1 [(gogoproto.enumvalue_customname) = "CLAIM_TYPE_DEPOSIT"]; - CLAIM_TYPE_WITHDRAW = 2 [(gogoproto.enumvalue_customname) = "CLAIM_TYPE_WITHDRAW"]; - CLAIM_TYPE_ERC20_DEPLOYED = 3 [(gogoproto.enumvalue_customname) = "CLAIM_TYPE_ERC20_DEPLOYED"]; - CLAIM_TYPE_VALSET_UPDATED = 4 [(gogoproto.enumvalue_customname) = "CLAIM_TYPE_VALSET_UPDATED"]; + CLAIM_TYPE_UNKNOWN = 0 + [ (gogoproto.enumvalue_customname) = "CLAIM_TYPE_UNKNOWN" ]; + CLAIM_TYPE_DEPOSIT = 1 + [ (gogoproto.enumvalue_customname) = "CLAIM_TYPE_DEPOSIT" ]; + CLAIM_TYPE_WITHDRAW = 2 + [ (gogoproto.enumvalue_customname) = "CLAIM_TYPE_WITHDRAW" ]; + CLAIM_TYPE_ERC20_DEPLOYED = 3 + [ (gogoproto.enumvalue_customname) = "CLAIM_TYPE_ERC20_DEPLOYED" ]; + CLAIM_TYPE_VALSET_UPDATED = 4 + [ (gogoproto.enumvalue_customname) = "CLAIM_TYPE_VALSET_UPDATED" ]; } // Attestation is an aggregate of `claims` that eventually becomes `observed` by // all orchestrators // EVENT_NONCE: -// EventNonce a nonce provided by the peggy contract that is unique per event fired -// These event nonces must be relayed in order. This is a correctness issue, -// if relaying out of order transaction replay attacks become possible +// EventNonce a nonce provided by the peggy contract that is unique per event +// fired These event nonces must be relayed in order. This is a correctness +// issue, if relaying out of order transaction replay attacks become possible // OBSERVED: // Observed indicates that >67% of validators have attested to the event, // and that the event should be executed by the peggy state machine // -// The actual content of the claims is passed in with the transaction making the claim -// and then passed through the call stack alongside the attestation while it is processed -// the key in which the attestation is stored is keyed on the exact details of the claim -// but there is no reason to store those exact details becuause the next message sender -// will kindly provide you with them. +// The actual content of the claims is passed in with the transaction making the +// claim and then passed through the call stack alongside the attestation while +// it is processed the key in which the attestation is stored is keyed on the +// exact details of the claim but there is no reason to store those exact +// details becuause the next message sender will kindly provide you with them. message Attestation { - bool observed = 1; - repeated string votes = 2; - uint64 height = 3; + bool observed = 1; + repeated string votes = 2; + uint64 height = 3; google.protobuf.Any claim = 4; } @@ -46,7 +51,8 @@ message Attestation { // CONTRACT: // The contract address on ETH of the token, this could be a Cosmos // originated token, if so it will be the ERC20 address of the representation -// (note: developers should look up the token symbol using the address on ETH to display for UI) +// (note: developers should look up the token symbol using the address on ETH to +// display for UI) message ERC20Token { string contract = 1; string amount = 2 [ diff --git a/proto/injective/peggy/v1/batch.proto b/proto/injective/peggy/v1/batch.proto index 06d1b68e..c0d8afee 100644 --- a/proto/injective/peggy/v1/batch.proto +++ b/proto/injective/peggy/v1/batch.proto @@ -8,18 +8,18 @@ option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/mod // OutgoingTxBatch represents a batch of transactions going from Peggy to ETH message OutgoingTxBatch { - uint64 batch_nonce = 1; - uint64 batch_timeout = 2; + uint64 batch_nonce = 1; + uint64 batch_timeout = 2; repeated OutgoingTransferTx transactions = 3; - string token_contract = 4; - uint64 block = 5; + string token_contract = 4; + uint64 block = 5; } // OutgoingTransferTx represents an individual send from Peggy to ETH message OutgoingTransferTx { - uint64 id = 1; - string sender = 2; - string dest_address = 3; + uint64 id = 1; + string sender = 2; + string dest_address = 3; ERC20Token erc20_token = 4; ERC20Token erc20_fee = 5; } diff --git a/proto/injective/peggy/v1/ethereum_signer.proto b/proto/injective/peggy/v1/ethereum_signer.proto index b222611a..6b3f6ea7 100644 --- a/proto/injective/peggy/v1/ethereum_signer.proto +++ b/proto/injective/peggy/v1/ethereum_signer.proto @@ -5,7 +5,7 @@ option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/mod // SignType defines messages that have been signed by an orchestrator enum SignType { - option (gogoproto.goproto_enum_prefix) = false; + option (gogoproto.goproto_enum_prefix) = false; option (gogoproto.goproto_enum_stringer) = false; SIGN_TYPE_UNKNOWN = 0; diff --git a/proto/injective/peggy/v1/events.proto b/proto/injective/peggy/v1/events.proto index 53af99a4..2436735c 100644 --- a/proto/injective/peggy/v1/events.proto +++ b/proto/injective/peggy/v1/events.proto @@ -44,8 +44,6 @@ message EventValsetUpdateRequest { (gogoproto.nullable) = false ]; string reward_token = 5; - - } message EventSetOrchestratorAddresses { string validator_address = 1; @@ -78,7 +76,6 @@ message EventConfirmBatch { string orchestrator_address = 2; } - message EventAttestationVote { uint64 event_nonce = 1; bytes attestation_id = 2; @@ -135,11 +132,17 @@ message EventValsetUpdateClaim { string orchestrator_address = 8; } -message EventCancelSendToEth { - uint64 outgoing_tx_id = 1; -} +message EventCancelSendToEth { uint64 outgoing_tx_id = 1; } message EventSubmitBadSignatureEvidence { string bad_eth_signature = 1; string bad_eth_signature_subject = 2; +} + +message EventValidatorSlash { + int64 power = 1; + string reason = 2; + string consensus_address = 3; + string operator_address = 4; + string moniker = 5; } \ No newline at end of file diff --git a/proto/injective/peggy/v1/genesis.proto b/proto/injective/peggy/v1/genesis.proto index e609b99c..78febe09 100644 --- a/proto/injective/peggy/v1/genesis.proto +++ b/proto/injective/peggy/v1/genesis.proto @@ -6,151 +6,26 @@ import "injective/peggy/v1/types.proto"; import "injective/peggy/v1/msgs.proto"; import "injective/peggy/v1/batch.proto"; import "injective/peggy/v1/attestation.proto"; +import "injective/peggy/v1/params.proto"; import "cosmos/base/v1beta1/coin.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types"; -// Params represent the peggy genesis and store parameters -// peggy_id: -// a random 32 byte value to prevent signature reuse, for example if the -// cosmos validators decided to use the same Ethereum keys for another chain -// also running Peggy we would not want it to be possible to play a deposit -// from chain A back on chain B's peggy. This value IS USED ON ETHEREUM so -// it must be set in your genesis.json before launch and not changed after -// deploying Peggy -// -// contract_hash: -// the code hash of a known good version of the Peggy contract -// solidity code. This can be used to verify the correct version -// of the contract has been deployed. This is a reference value for -// goernance action only it is never read by any Peggy code -// -// bridge_ethereum_address: -// is address of the bridge contract on the Ethereum side, this is a -// reference value for governance only and is not actually used by any -// Peggy code -// -// bridge_chain_id: -// the unique identifier of the Ethereum chain, this is a reference value -// only and is not actually used by any Peggy code -// -// These reference values may be used by future Peggy client implemetnations -// to allow for saftey features or convenience features like the peggy address -// in your relayer. A relayer would require a configured peggy address if -// governance had not set the address on the chain it was relaying for. -// -// signed_valsets_window -// signed_batches_window -// signed_claims_window -// -// These values represent the time in blocks that a validator has to submit -// a signature for a batch or valset, or to submit a claim for a particular -// attestation nonce. In the case of attestations this clock starts when the -// attestation is created, but only allows for slashing once the event has passed -// -// target_batch_timeout: -// -// This is the 'target' value for when batches time out, this is a target becuase -// Ethereum is a probabalistic chain and you can't say for sure what the block -// frequency is ahead of time. -// -// average_block_time -// average_ethereum_block_time -// -// These values are the average Cosmos block time and Ethereum block time repsectively -// and they are used to copute what the target batch timeout is. It is important that -// governance updates these in case of any major, prolonged change in the time it takes -// to produce a block -// -// slash_fraction_valset -// slash_fraction_batch -// slash_fraction_claim -// slash_fraction_conflicting_claim -// -// The slashing fractions for the various peggy related slashing conditions. The first three -// refer to not submitting a particular message, the third for submitting a different claim -// for the same Ethereum event -// -// unbond_slashing_valsets_window -// -// The unbond slashing valsets window is used to determine how many blocks after starting to unbond -// a validator needs to continue signing blocks. The goal of this paramater is that when a validator leaves -// the set, if their leaving creates enough change in the validator set to justify an update they will sign -// a validator set update for the Ethereum bridge that does not include themselves. Allowing us to remove them -// from the Ethereum bridge and replace them with the new set gracefully. -// -// valset_reward -// -// Valset rewards are the amount of tokens this chain issues to relayers of validator sets. -// These can be any ERC20 token in the bridge, but it's strongly advised that chains use only -// Cosmos originated tokens, which the bridge effectively mints on Ethereum. If you run out of -// the token you are using for validator set rewards valset updates will fail and the bridge -// will be vulnerable to highjacking. For these paramaters the zero values are special and indicate -// not to attempt any reward. This is the default for bootstrapping. - -message Params { - option (gogoproto.stringer) = false; - - string peggy_id = 1; - string contract_source_hash = 2; - string bridge_ethereum_address = 3; - uint64 bridge_chain_id = 4; - uint64 signed_valsets_window = 5; - uint64 signed_batches_window = 6; - uint64 signed_claims_window = 7; - uint64 target_batch_timeout = 8; - uint64 average_block_time = 9; - uint64 average_ethereum_block_time = 10; - bytes slash_fraction_valset = 11 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false - ]; - bytes slash_fraction_batch = 12 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false - ]; - bytes slash_fraction_claim = 13 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false - ]; - bytes slash_fraction_conflicting_claim = 14 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false - ]; - uint64 unbond_slashing_valsets_window = 15; - bytes slash_fraction_bad_eth_signature = 16 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false - ]; - string cosmos_coin_denom = 17; - string cosmos_coin_erc20_contract = 18; - bool claim_slashing_enabled = 19; - uint64 bridge_contract_start_height = 20; - - cosmos.base.v1beta1.Coin valset_reward = 21 [ - (gogoproto.nullable) = false - ]; - -} - - // GenesisState struct message GenesisState { - Params params = 1; - uint64 last_observed_nonce = 2; - repeated Valset valsets = 3; - repeated MsgValsetConfirm valset_confirms = 4; - repeated OutgoingTxBatch batches = 5; - repeated MsgConfirmBatch batch_confirms = 6; - repeated Attestation attestations = 7; + Params params = 1; + uint64 last_observed_nonce = 2; + repeated Valset valsets = 3; + repeated MsgValsetConfirm valset_confirms = 4; + repeated OutgoingTxBatch batches = 5; + repeated MsgConfirmBatch batch_confirms = 6; + repeated Attestation attestations = 7; repeated MsgSetOrchestratorAddresses orchestrator_addresses = 8; - repeated ERC20ToDenom erc20_to_denoms = 9; - repeated OutgoingTransferTx unbatched_transfers = 10; - uint64 last_observed_ethereum_height = 11; - uint64 last_outgoing_batch_id = 12; - uint64 last_outgoing_pool_id = 13; - Valset last_observed_valset = 14[ - (gogoproto.nullable) = false - ]; + repeated ERC20ToDenom erc20_to_denoms = 9; + repeated OutgoingTransferTx unbatched_transfers = 10; + uint64 last_observed_ethereum_height = 11; + uint64 last_outgoing_batch_id = 12; + uint64 last_outgoing_pool_id = 13; + Valset last_observed_valset = 14 [ (gogoproto.nullable) = false ]; repeated string ethereum_blacklist = 15; } diff --git a/proto/injective/peggy/v1/msgs.proto b/proto/injective/peggy/v1/msgs.proto index 4f5f9cfa..f28584cc 100644 --- a/proto/injective/peggy/v1/msgs.proto +++ b/proto/injective/peggy/v1/msgs.proto @@ -1,62 +1,74 @@ syntax = "proto3"; package injective.peggy.v1; + import "cosmos/base/v1beta1/coin.proto"; import "gogoproto/gogo.proto"; import "google/api/annotations.proto"; import "injective/peggy/v1/types.proto"; +import "injective/peggy/v1/params.proto"; import "google/protobuf/any.proto"; +import "cosmos/msg/v1/msg.proto"; +import "cosmos_proto/cosmos.proto"; + option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types"; service Msg { - rpc ValsetConfirm(MsgValsetConfirm) returns(MsgValsetConfirmResponse) { + rpc ValsetConfirm(MsgValsetConfirm) returns (MsgValsetConfirmResponse) { option (google.api.http).post = "/injective/peggy/v1/valset_confirm"; } - rpc SendToEth(MsgSendToEth) returns(MsgSendToEthResponse) { + rpc SendToEth(MsgSendToEth) returns (MsgSendToEthResponse) { option (google.api.http).post = "/injective/peggy/v1/send_to_eth"; } - rpc RequestBatch(MsgRequestBatch) returns(MsgRequestBatchResponse) { + rpc RequestBatch(MsgRequestBatch) returns (MsgRequestBatchResponse) { option (google.api.http).post = "/injective/peggy/v1/request_batch"; } - rpc ConfirmBatch(MsgConfirmBatch) returns(MsgConfirmBatchResponse) { + rpc ConfirmBatch(MsgConfirmBatch) returns (MsgConfirmBatchResponse) { option (google.api.http).post = "/injective/peggy/v1/confirm_batch"; } - rpc DepositClaim(MsgDepositClaim) returns(MsgDepositClaimResponse) { + rpc DepositClaim(MsgDepositClaim) returns (MsgDepositClaimResponse) { option (google.api.http).post = "/injective/peggy/v1/deposit_claim"; } - rpc WithdrawClaim(MsgWithdrawClaim) returns(MsgWithdrawClaimResponse) { + rpc WithdrawClaim(MsgWithdrawClaim) returns (MsgWithdrawClaimResponse) { option (google.api.http).post = "/injective/peggy/v1/withdraw_claim"; } - rpc ValsetUpdateClaim(MsgValsetUpdatedClaim) returns (MsgValsetUpdatedClaimResponse) { + rpc ValsetUpdateClaim(MsgValsetUpdatedClaim) + returns (MsgValsetUpdatedClaimResponse) { option (google.api.http).post = "/injective/peggy/v1/valset_updated_claim"; } rpc ERC20DeployedClaim(MsgERC20DeployedClaim) returns (MsgERC20DeployedClaimResponse) { option (google.api.http).post = "/injective/peggy/v1/erc20_deployed_claim"; } - rpc SetOrchestratorAddresses(MsgSetOrchestratorAddresses) returns(MsgSetOrchestratorAddressesResponse) { - option (google.api.http).post = "/injective/peggy/v1/set_orchestrator_address"; + rpc SetOrchestratorAddresses(MsgSetOrchestratorAddresses) + returns (MsgSetOrchestratorAddressesResponse) { + option (google.api.http).post = + "/injective/peggy/v1/set_orchestrator_address"; } rpc CancelSendToEth(MsgCancelSendToEth) returns (MsgCancelSendToEthResponse) { option (google.api.http).post = "/injective/peggy/v1/cancel_send_to_eth"; } - rpc SubmitBadSignatureEvidence(MsgSubmitBadSignatureEvidence) returns (MsgSubmitBadSignatureEvidenceResponse) { - option (google.api.http).post = "/injective/peggy/v1/submit_bad_signature_evidence"; + rpc SubmitBadSignatureEvidence(MsgSubmitBadSignatureEvidence) + returns (MsgSubmitBadSignatureEvidenceResponse) { + option (google.api.http).post = + "/injective/peggy/v1/submit_bad_signature_evidence"; } + + rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); } // MsgSetOrchestratorAddresses -// this message allows validators to delegate their voting responsibilities +// this message allows validators to delegate their voting responsibilities // to a given key. This key is then used as an optional authentication method // for sigining oracle claims // VALIDATOR // The validator field is a cosmosvaloper1... string (i.e. sdk.ValAddress) // that references a validator in the active set // ORCHESTRATOR -// The orchestrator field is a cosmos1... string (i.e. sdk.AccAddress) that +// The orchestrator field is a cosmos1... string (i.e. sdk.AccAddress) that // references the key that is being delegated to // ETH_ADDRESS -// This is a hex encoded 0x Ethereum public key that will be used by this validator -// on Ethereum +// This is a hex encoded 0x Ethereum public key that will be used by this +// validator on Ethereum message MsgSetOrchestratorAddresses { string sender = 1; string orchestrator = 2; @@ -81,6 +93,8 @@ message MsgSetOrchestratorAddressesResponse {} // chain store and submit them to Ethereum to update the validator set // ------------- message MsgValsetConfirm { + option (cosmos.msg.v1.signer) = "orchestrator"; + uint64 nonce = 1; string orchestrator = 2; string eth_address = 3; @@ -102,14 +116,12 @@ message MsgValsetConfirmResponse {} // actually send this message in the first place. So a successful send has // two layers of fees for the user message MsgSendToEth { - string sender = 1; - string eth_dest = 2; - cosmos.base.v1beta1.Coin amount = 3 [ - (gogoproto.nullable) = false - ]; - cosmos.base.v1beta1.Coin bridge_fee = 4 [ - (gogoproto.nullable) = false - ]; + option (cosmos.msg.v1.signer) = "sender"; + + string sender = 1; + string eth_dest = 2; + cosmos.base.v1beta1.Coin amount = 3 [ (gogoproto.nullable) = false ]; + cosmos.base.v1beta1.Coin bridge_fee = 4 [ (gogoproto.nullable) = false ]; } message MsgSendToEthResponse {} @@ -124,6 +136,8 @@ message MsgSendToEthResponse {} // can finally submit the batch // ------------- message MsgRequestBatch { + option (cosmos.msg.v1.signer) = "orchestrator"; + string orchestrator = 1; string denom = 2; } @@ -139,6 +153,8 @@ message MsgRequestBatchResponse {} // as well as an Ethereum signature over this batch by the validator // ------------- message MsgConfirmBatch { + option (cosmos.msg.v1.signer) = "orchestrator"; + uint64 nonce = 1; string token_contract = 2; string eth_signer = 3; @@ -154,6 +170,8 @@ message MsgConfirmBatchResponse {} // issued to the Cosmos address in question // ------------- message MsgDepositClaim { + option (cosmos.msg.v1.signer) = "orchestrator"; + uint64 event_nonce = 1; uint64 block_height = 2; string token_contract = 3; @@ -172,6 +190,8 @@ message MsgDepositClaimResponse {} // WithdrawClaim claims that a batch of withdrawal // operations on the bridge contract was executed. message MsgWithdrawClaim { + option (cosmos.msg.v1.signer) = "orchestrator"; + uint64 event_nonce = 1; uint64 block_height = 2; uint64 batch_nonce = 3; @@ -185,6 +205,8 @@ message MsgWithdrawClaimResponse {} // to learn about an ERC20 that someone deployed // to represent a Cosmos asset message MsgERC20DeployedClaim { + option (cosmos.msg.v1.signer) = "orchestrator"; + uint64 event_nonce = 1; uint64 block_height = 2; string cosmos_denom = 3; @@ -201,6 +223,8 @@ message MsgERC20DeployedClaimResponse {} // to cancel a given MsgSendToEth and recieve a refund // of the tokens message MsgCancelSendToEth { + option (cosmos.msg.v1.signer) = "sender"; + uint64 transaction_id = 1; string sender = 2; } @@ -211,8 +235,10 @@ message MsgCancelSendToEthResponse {} // validator has signed a valset, batch, or logic call that never // existed. Subject contains the batch, valset, or logic call. message MsgSubmitBadSignatureEvidence { + option (cosmos.msg.v1.signer) = "sender"; + google.protobuf.Any subject = 1; - string signature = 2; + string signature = 2; string sender = 3; } @@ -221,6 +247,8 @@ message MsgSubmitBadSignatureEvidenceResponse {} // This informs the Cosmos module that a validator // set has been updated. message MsgValsetUpdatedClaim { + option (cosmos.msg.v1.signer) = "orchestrator"; + uint64 event_nonce = 1; uint64 valset_nonce = 2; uint64 block_height = 3; @@ -233,4 +261,18 @@ message MsgValsetUpdatedClaim { string orchestrator = 7; } -message MsgValsetUpdatedClaimResponse {} \ No newline at end of file +message MsgValsetUpdatedClaimResponse {} + +message MsgUpdateParams { + option (cosmos.msg.v1.signer) = "authority"; + + // authority is the address of the governance account. + string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + + // params defines the peggy parameters to update. + // + // NOTE: All parameters must be supplied. + Params params = 2 [ (gogoproto.nullable) = false ]; +} + +message MsgUpdateParamsResponse {} \ No newline at end of file diff --git a/proto/injective/peggy/v1/params.proto b/proto/injective/peggy/v1/params.proto new file mode 100644 index 00000000..8e84f61d --- /dev/null +++ b/proto/injective/peggy/v1/params.proto @@ -0,0 +1,132 @@ +syntax = "proto3"; +package injective.peggy.v1; + +import "gogoproto/gogo.proto"; +import "cosmos/base/v1beta1/coin.proto"; + +option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types"; + +// Params represent the peggy genesis and store parameters +// peggy_id: +// a random 32 byte value to prevent signature reuse, for example if the +// cosmos validators decided to use the same Ethereum keys for another chain +// also running Peggy we would not want it to be possible to play a deposit +// from chain A back on chain B's peggy. This value IS USED ON ETHEREUM so +// it must be set in your genesis.json before launch and not changed after +// deploying Peggy +// +// contract_hash: +// the code hash of a known good version of the Peggy contract +// solidity code. This can be used to verify the correct version +// of the contract has been deployed. This is a reference value for +// goernance action only it is never read by any Peggy code +// +// bridge_ethereum_address: +// is address of the bridge contract on the Ethereum side, this is a +// reference value for governance only and is not actually used by any +// Peggy code +// +// bridge_chain_id: +// the unique identifier of the Ethereum chain, this is a reference value +// only and is not actually used by any Peggy code +// +// These reference values may be used by future Peggy client implemetnations +// to allow for saftey features or convenience features like the peggy address +// in your relayer. A relayer would require a configured peggy address if +// governance had not set the address on the chain it was relaying for. +// +// signed_valsets_window +// signed_batches_window +// signed_claims_window +// +// These values represent the time in blocks that a validator has to submit +// a signature for a batch or valset, or to submit a claim for a particular +// attestation nonce. In the case of attestations this clock starts when the +// attestation is created, but only allows for slashing once the event has +// passed +// +// target_batch_timeout: +// +// This is the 'target' value for when batches time out, this is a target +// becuase Ethereum is a probabalistic chain and you can't say for sure what the +// block frequency is ahead of time. +// +// average_block_time +// average_ethereum_block_time +// +// These values are the average Cosmos block time and Ethereum block time +// repsectively and they are used to copute what the target batch timeout is. It +// is important that governance updates these in case of any major, prolonged +// change in the time it takes to produce a block +// +// slash_fraction_valset +// slash_fraction_batch +// slash_fraction_claim +// slash_fraction_conflicting_claim +// +// The slashing fractions for the various peggy related slashing conditions. The +// first three refer to not submitting a particular message, the third for +// submitting a different claim for the same Ethereum event +// +// unbond_slashing_valsets_window +// +// The unbond slashing valsets window is used to determine how many blocks after +// starting to unbond a validator needs to continue signing blocks. The goal of +// this paramater is that when a validator leaves the set, if their leaving +// creates enough change in the validator set to justify an update they will +// sign a validator set update for the Ethereum bridge that does not include +// themselves. Allowing us to remove them from the Ethereum bridge and replace +// them with the new set gracefully. +// +// valset_reward +// +// Valset rewards are the amount of tokens this chain issues to relayers of +// validator sets. These can be any ERC20 token in the bridge, but it's strongly +// advised that chains use only Cosmos originated tokens, which the bridge +// effectively mints on Ethereum. If you run out of the token you are using for +// validator set rewards valset updates will fail and the bridge will be +// vulnerable to highjacking. For these paramaters the zero values are special +// and indicate not to attempt any reward. This is the default for +// bootstrapping. + +message Params { + option (gogoproto.stringer) = false; + + string peggy_id = 1; + string contract_source_hash = 2; + string bridge_ethereum_address = 3; + uint64 bridge_chain_id = 4; + uint64 signed_valsets_window = 5; + uint64 signed_batches_window = 6; + uint64 signed_claims_window = 7; + uint64 target_batch_timeout = 8; + uint64 average_block_time = 9; + uint64 average_ethereum_block_time = 10; + bytes slash_fraction_valset = 11 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; + bytes slash_fraction_batch = 12 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; + bytes slash_fraction_claim = 13 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; + bytes slash_fraction_conflicting_claim = 14 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; + uint64 unbond_slashing_valsets_window = 15; + bytes slash_fraction_bad_eth_signature = 16 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; + string cosmos_coin_denom = 17; + string cosmos_coin_erc20_contract = 18; + bool claim_slashing_enabled = 19; + uint64 bridge_contract_start_height = 20; + + cosmos.base.v1beta1.Coin valset_reward = 21 [ (gogoproto.nullable) = false ]; +} diff --git a/proto/injective/peggy/v1/pool.proto b/proto/injective/peggy/v1/pool.proto index 5d823523..6853ed26 100644 --- a/proto/injective/peggy/v1/pool.proto +++ b/proto/injective/peggy/v1/pool.proto @@ -5,12 +5,13 @@ import "gogoproto/gogo.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types"; - // IDSet represents a set of IDs -message IDSet {repeated uint64 ids = 1;} +message IDSet { repeated uint64 ids = 1; } message BatchFees { string token = 1; - string total_fees = 2 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = false]; - + string total_fees = 2 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.nullable) = false + ]; } \ No newline at end of file diff --git a/proto/injective/peggy/v1/proposal.proto b/proto/injective/peggy/v1/proposal.proto index 4f9458b7..f6eed0f1 100644 --- a/proto/injective/peggy/v1/proposal.proto +++ b/proto/injective/peggy/v1/proposal.proto @@ -1,15 +1,17 @@ syntax = "proto3"; package injective.peggy.v1; +import "cosmos_proto/cosmos.proto"; import "gogoproto/gogo.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types"; - message BlacklistEthereumAddressesProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; repeated string blacklist_addresses = 3; @@ -19,7 +21,9 @@ message RevokeEthereumBlacklistProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + string title = 1; string description = 2; repeated string blacklist_addresses = 3; -} +} \ No newline at end of file diff --git a/proto/injective/peggy/v1/query.proto b/proto/injective/peggy/v1/query.proto index ad46950d..d3cc7828 100644 --- a/proto/injective/peggy/v1/query.proto +++ b/proto/injective/peggy/v1/query.proto @@ -2,6 +2,7 @@ syntax = "proto3"; package injective.peggy.v1; import "injective/peggy/v1/genesis.proto"; +import "injective/peggy/v1/params.proto"; import "injective/peggy/v1/types.proto"; import "injective/peggy/v1/msgs.proto"; import "injective/peggy/v1/pool.proto"; @@ -19,161 +20,203 @@ service Query { } // valset - rpc CurrentValset(QueryCurrentValsetRequest) returns (QueryCurrentValsetResponse) { + rpc CurrentValset(QueryCurrentValsetRequest) + returns (QueryCurrentValsetResponse) { option (google.api.http).get = "/peggy/v1/valset/current"; } - rpc ValsetRequest(QueryValsetRequestRequest) returns (QueryValsetRequestResponse) { + rpc ValsetRequest(QueryValsetRequestRequest) + returns (QueryValsetRequestResponse) { option (google.api.http).get = "/peggy/v1/valset"; } - rpc ValsetConfirm(QueryValsetConfirmRequest) returns (QueryValsetConfirmResponse) { + rpc ValsetConfirm(QueryValsetConfirmRequest) + returns (QueryValsetConfirmResponse) { option (google.api.http).get = "/peggy/v1/valset/confirm"; } - rpc ValsetConfirmsByNonce(QueryValsetConfirmsByNonceRequest) returns (QueryValsetConfirmsByNonceResponse) { + rpc ValsetConfirmsByNonce(QueryValsetConfirmsByNonceRequest) + returns (QueryValsetConfirmsByNonceResponse) { option (google.api.http).get = "/peggy/v1/confirms/{nonce}"; } - rpc LastValsetRequests(QueryLastValsetRequestsRequest) returns (QueryLastValsetRequestsResponse) { + rpc LastValsetRequests(QueryLastValsetRequestsRequest) + returns (QueryLastValsetRequestsResponse) { option (google.api.http).get = "/peggy/v1/valset/requests"; } - rpc LastPendingValsetRequestByAddr(QueryLastPendingValsetRequestByAddrRequest) returns (QueryLastPendingValsetRequestByAddrResponse) { + rpc LastPendingValsetRequestByAddr(QueryLastPendingValsetRequestByAddrRequest) + returns (QueryLastPendingValsetRequestByAddrResponse) { option (google.api.http).get = "/peggy/v1/valset/last"; } // claim - rpc LastEventByAddr(QueryLastEventByAddrRequest) returns (QueryLastEventByAddrResponse) { + rpc LastEventByAddr(QueryLastEventByAddrRequest) + returns (QueryLastEventByAddrResponse) { option (google.api.http).get = "/peggy/v1/oracle/event/{address}"; } // batch - rpc GetPendingSendToEth(QueryPendingSendToEth) returns (QueryPendingSendToEthResponse) { + rpc GetPendingSendToEth(QueryPendingSendToEth) + returns (QueryPendingSendToEthResponse) { option (google.api.http).get = "/peggy/v1/pending_send_to_eth"; } rpc BatchFees(QueryBatchFeeRequest) returns (QueryBatchFeeResponse) { option (google.api.http).get = "/peggy/v1/batchfees"; } - rpc OutgoingTxBatches(QueryOutgoingTxBatchesRequest) returns (QueryOutgoingTxBatchesResponse) { + rpc OutgoingTxBatches(QueryOutgoingTxBatchesRequest) + returns (QueryOutgoingTxBatchesResponse) { option (google.api.http).get = "/peggy/v1/batch/outgoingtx"; } - rpc LastPendingBatchRequestByAddr(QueryLastPendingBatchRequestByAddrRequest) returns (QueryLastPendingBatchRequestByAddrResponse) { + rpc LastPendingBatchRequestByAddr(QueryLastPendingBatchRequestByAddrRequest) + returns (QueryLastPendingBatchRequestByAddrResponse) { option (google.api.http).get = "/peggy/v1/batch/last"; } - rpc BatchRequestByNonce(QueryBatchRequestByNonceRequest) returns (QueryBatchRequestByNonceResponse) { + rpc BatchRequestByNonce(QueryBatchRequestByNonceRequest) + returns (QueryBatchRequestByNonceResponse) { option (google.api.http).get = "/peggy/v1/batch"; } - rpc BatchConfirms(QueryBatchConfirmsRequest) returns (QueryBatchConfirmsResponse) { + rpc BatchConfirms(QueryBatchConfirmsRequest) + returns (QueryBatchConfirmsResponse) { option (google.api.http).get = "/peggy/v1/batch/confirms"; } - - rpc ERC20ToDenom(QueryERC20ToDenomRequest) returns (QueryERC20ToDenomResponse) { + rpc ERC20ToDenom(QueryERC20ToDenomRequest) + returns (QueryERC20ToDenomResponse) { option (google.api.http).get = "/peggy/v1/cosmos_originated/erc20_to_denom"; } - rpc DenomToERC20(QueryDenomToERC20Request) returns (QueryDenomToERC20Response) { + rpc DenomToERC20(QueryDenomToERC20Request) + returns (QueryDenomToERC20Response) { option (google.api.http).get = "/peggy/v1/cosmos_originated/denom_to_erc20"; } - rpc GetDelegateKeyByValidator(QueryDelegateKeysByValidatorAddress) returns (QueryDelegateKeysByValidatorAddressResponse) { + rpc GetDelegateKeyByValidator(QueryDelegateKeysByValidatorAddress) + returns (QueryDelegateKeysByValidatorAddressResponse) { option (google.api.http).get = "/peggy/v1/query_delegate_keys_by_validator"; } - rpc GetDelegateKeyByEth(QueryDelegateKeysByEthAddress) returns (QueryDelegateKeysByEthAddressResponse) { + rpc GetDelegateKeyByEth(QueryDelegateKeysByEthAddress) + returns (QueryDelegateKeysByEthAddressResponse) { option (google.api.http).get = "/peggy/v1/query_delegate_keys_by_eth"; } - rpc GetDelegateKeyByOrchestrator(QueryDelegateKeysByOrchestratorAddress) returns (QueryDelegateKeysByOrchestratorAddressResponse) { - option (google.api.http).get = "/peggy/v1/query_delegate_keys_by_orchestrator"; + rpc GetDelegateKeyByOrchestrator(QueryDelegateKeysByOrchestratorAddress) + returns (QueryDelegateKeysByOrchestratorAddressResponse) { + option (google.api.http).get = + "/peggy/v1/query_delegate_keys_by_orchestrator"; } // Retrieves the entire peggy module's state - rpc PeggyModuleState(QueryModuleStateRequest) returns (QueryModuleStateResponse) { + rpc PeggyModuleState(QueryModuleStateRequest) + returns (QueryModuleStateResponse) { option (google.api.http).get = "/peggy/v1/module_state"; } + rpc MissingPeggoNonces(MissingNoncesRequest) returns (MissingNoncesResponse) { + option (google.api.http).get = "/peggy/v1/missing_nonces"; + } + } message QueryParamsRequest {} -message QueryParamsResponse {Params params = 1 [(gogoproto.nullable) = false];} +message QueryParamsResponse { + Params params = 1 [ (gogoproto.nullable) = false ]; +} message QueryCurrentValsetRequest {} -message QueryCurrentValsetResponse {Valset valset = 1;} +message QueryCurrentValsetResponse { Valset valset = 1; } -message QueryValsetRequestRequest {uint64 nonce = 1;} -message QueryValsetRequestResponse {Valset valset = 1;} +message QueryValsetRequestRequest { uint64 nonce = 1; } +message QueryValsetRequestResponse { Valset valset = 1; } -message QueryValsetConfirmRequest {uint64 nonce = 1; string address = 2;} -message QueryValsetConfirmResponse {MsgValsetConfirm confirm = 1;} +message QueryValsetConfirmRequest { + uint64 nonce = 1; + string address = 2; +} +message QueryValsetConfirmResponse { MsgValsetConfirm confirm = 1; } -message QueryValsetConfirmsByNonceRequest {uint64 nonce = 1;} -message QueryValsetConfirmsByNonceResponse {repeated MsgValsetConfirm confirms = 1;} +message QueryValsetConfirmsByNonceRequest { uint64 nonce = 1; } +message QueryValsetConfirmsByNonceResponse { + repeated MsgValsetConfirm confirms = 1; +} message QueryLastValsetRequestsRequest {} -message QueryLastValsetRequestsResponse {repeated Valset valsets = 1;} +message QueryLastValsetRequestsResponse { repeated Valset valsets = 1; } -message QueryLastPendingValsetRequestByAddrRequest {string address = 1;} -message QueryLastPendingValsetRequestByAddrResponse {repeated Valset valsets = 1;} +message QueryLastPendingValsetRequestByAddrRequest { string address = 1; } +message QueryLastPendingValsetRequestByAddrResponse { + repeated Valset valsets = 1; +} message QueryBatchFeeRequest {} -message QueryBatchFeeResponse {repeated BatchFees batchFees = 1;} +message QueryBatchFeeResponse { repeated BatchFees batchFees = 1; } - -message QueryLastPendingBatchRequestByAddrRequest {string address = 1;} -message QueryLastPendingBatchRequestByAddrResponse {OutgoingTxBatch batch = 1;} +message QueryLastPendingBatchRequestByAddrRequest { string address = 1; } +message QueryLastPendingBatchRequestByAddrResponse { + OutgoingTxBatch batch = 1; +} message QueryOutgoingTxBatchesRequest {} -message QueryOutgoingTxBatchesResponse {repeated OutgoingTxBatch batches = 1;} +message QueryOutgoingTxBatchesResponse { repeated OutgoingTxBatch batches = 1; } -message QueryBatchRequestByNonceRequest {uint64 nonce = 1; string contract_address = 2;} -message QueryBatchRequestByNonceResponse {OutgoingTxBatch batch = 1;} - -message QueryBatchConfirmsRequest {uint64 nonce = 1; string contract_address = 2;} -message QueryBatchConfirmsResponse {repeated MsgConfirmBatch confirms = 1;} - -message QueryLastEventByAddrRequest {string address = 1;} -message QueryLastEventByAddrResponse { - LastClaimEvent last_claim_event = 1; +message QueryBatchRequestByNonceRequest { + uint64 nonce = 1; + string contract_address = 2; +} +message QueryBatchRequestByNonceResponse { OutgoingTxBatch batch = 1; } +message QueryBatchConfirmsRequest { + uint64 nonce = 1; + string contract_address = 2; } +message QueryBatchConfirmsResponse { repeated MsgConfirmBatch confirms = 1; } -message QueryERC20ToDenomRequest {string erc20 = 1;} +message QueryLastEventByAddrRequest { string address = 1; } +message QueryLastEventByAddrResponse { LastClaimEvent last_claim_event = 1; } + +message QueryERC20ToDenomRequest { string erc20 = 1; } message QueryERC20ToDenomResponse { string denom = 1; - bool cosmos_originated = 2; + bool cosmos_originated = 2; } -message QueryDenomToERC20Request {string denom = 1;} +message QueryDenomToERC20Request { string denom = 1; } message QueryDenomToERC20Response { string erc20 = 1; - bool cosmos_originated = 2; + bool cosmos_originated = 2; } -message QueryDelegateKeysByValidatorAddress {string validator_address = 1;} +message QueryDelegateKeysByValidatorAddress { string validator_address = 1; } message QueryDelegateKeysByValidatorAddressResponse { string eth_address = 1; string orchestrator_address = 2; } -message QueryDelegateKeysByEthAddress {string eth_address = 1;} +message QueryDelegateKeysByEthAddress { string eth_address = 1; } message QueryDelegateKeysByEthAddressResponse { string validator_address = 1; string orchestrator_address = 2; } -message QueryDelegateKeysByOrchestratorAddress {string orchestrator_address = 1;} +message QueryDelegateKeysByOrchestratorAddress { + string orchestrator_address = 1; +} message QueryDelegateKeysByOrchestratorAddressResponse { string validator_address = 1; string eth_address = 2; } -message QueryPendingSendToEth { - string sender_address = 1; -} +message QueryPendingSendToEth { string sender_address = 1; } message QueryPendingSendToEthResponse { repeated OutgoingTransferTx transfers_in_batches = 1; repeated OutgoingTransferTx unbatched_transfers = 2; } -// QueryModuleStateRequest is the request type for the Query/PeggyModuleState RPC method. +// QueryModuleStateRequest is the request type for the Query/PeggyModuleState +// RPC method. message QueryModuleStateRequest {} // QueryModuleStateResponse is the response type for the Query/PeggyModuleState RPC method. message QueryModuleStateResponse { GenesisState state = 1; +} + +message MissingNoncesRequest {} + +message MissingNoncesResponse { + repeated string operator_addresses = 1; } \ No newline at end of file diff --git a/proto/injective/peggy/v1/types.proto b/proto/injective/peggy/v1/types.proto index 1781a953..d0593262 100644 --- a/proto/injective/peggy/v1/types.proto +++ b/proto/injective/peggy/v1/types.proto @@ -13,9 +13,9 @@ message BridgeValidator { // maintains an ETH key to sign messages, these are used to check signatures on // ETH because of the significant gas savings message Valset { - uint64 nonce = 1; + uint64 nonce = 1; repeated BridgeValidator members = 2; - uint64 height = 3; + uint64 height = 3; string reward_amount = 4 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = false diff --git a/proto/injective/tokenfactory/v1beta1/events.proto b/proto/injective/tokenfactory/v1beta1/events.proto index e18ab26e..32b7776c 100644 --- a/proto/injective/tokenfactory/v1beta1/events.proto +++ b/proto/injective/tokenfactory/v1beta1/events.proto @@ -15,12 +15,12 @@ message EventCreateTFDenom { message EventMintTFDenom { string recipient_address = 1; - cosmos.base.v1beta1.Coin amount = 2 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin amount = 2 [ (gogoproto.nullable) = false ]; } message EventBurnTFDenom { string burner_address = 1; - cosmos.base.v1beta1.Coin amount = 2 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin amount = 2 [ (gogoproto.nullable) = false ]; } message EventChangeTFAdmin { @@ -30,5 +30,5 @@ message EventChangeTFAdmin { message EventSetTFDenomMetadata { string denom = 1; - cosmos.bank.v1beta1.Metadata metadata = 2[(gogoproto.nullable) = false]; + cosmos.bank.v1beta1.Metadata metadata = 2 [ (gogoproto.nullable) = false ]; } diff --git a/proto/injective/tokenfactory/v1beta1/query.proto b/proto/injective/tokenfactory/v1beta1/query.proto index 9222a004..6633a211 100644 --- a/proto/injective/tokenfactory/v1beta1/query.proto +++ b/proto/injective/tokenfactory/v1beta1/query.proto @@ -22,8 +22,8 @@ service Query { // DenomAuthorityMetadata for a particular denom. rpc DenomAuthorityMetadata(QueryDenomAuthorityMetadataRequest) returns (QueryDenomAuthorityMetadataResponse) { - option (google.api.http).get = - "/injective/tokenfactory/v1beta1/denoms/{creator}/{sub_denom}/authority_metadata"; + option (google.api.http).get = "/injective/tokenfactory/v1beta1/denoms/" + "{creator}/{sub_denom}/authority_metadata"; } // DenomsFromCreator defines a gRPC query method for fetching all @@ -35,10 +35,11 @@ service Query { } // Retrieves the entire auction module's state - rpc TokenfactoryModuleState(QueryModuleStateRequest) returns (QueryModuleStateResponse) { - option (google.api.http).get = "/injective/tokenfactory/v1beta1/module_state"; + rpc TokenfactoryModuleState(QueryModuleStateRequest) + returns (QueryModuleStateResponse) { + option (google.api.http).get = + "/injective/tokenfactory/v1beta1/module_state"; } - } // QueryParamsRequest is the request type for the Query/Params RPC method. @@ -78,11 +79,10 @@ message QueryDenomsFromCreatorResponse { repeated string denoms = 1 [ (gogoproto.moretags) = "yaml:\"denoms\"" ]; } - -// QueryModuleStateRequest is the request type for the Query/TokenfactoryModuleState RPC method. +// QueryModuleStateRequest is the request type for the +// Query/TokenfactoryModuleState RPC method. message QueryModuleStateRequest {} -// QueryModuleStateResponse is the response type for the Query/TokenfactoryModuleState RPC method. -message QueryModuleStateResponse { - GenesisState state = 1; -} \ No newline at end of file +// QueryModuleStateResponse is the response type for the +// Query/TokenfactoryModuleState RPC method. +message QueryModuleStateResponse { GenesisState state = 1; } \ No newline at end of file diff --git a/proto/injective/tokenfactory/v1beta1/tx.proto b/proto/injective/tokenfactory/v1beta1/tx.proto index e87da371..be4af7b0 100644 --- a/proto/injective/tokenfactory/v1beta1/tx.proto +++ b/proto/injective/tokenfactory/v1beta1/tx.proto @@ -4,6 +4,9 @@ package injective.tokenfactory.v1beta1; import "gogoproto/gogo.proto"; import "cosmos/base/v1beta1/coin.proto"; import "cosmos/bank/v1beta1/bank.proto"; +import "cosmos/msg/v1/msg.proto"; +import "cosmos_proto/cosmos.proto"; +import "injective/tokenfactory/v1beta1/params.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types"; @@ -15,6 +18,7 @@ service Msg { rpc ChangeAdmin(MsgChangeAdmin) returns (MsgChangeAdminResponse); rpc SetDenomMetadata(MsgSetDenomMetadata) returns (MsgSetDenomMetadataResponse); + rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); // ForceTransfer is deactivated for now because we need to think through edge // cases rpc ForceTransfer(MsgForceTransfer) returns @@ -31,6 +35,8 @@ service Msg { // originally set to be the creator, but this can be changed later. The token // denom does not indicate the current admin. message MsgCreateDenom { + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; // subdenom can be up to 44 "alphanumeric" characters long. string subdenom = 2 [ (gogoproto.moretags) = "yaml:\"subdenom\"" ]; @@ -46,6 +52,8 @@ message MsgCreateDenomResponse { // MsgMint is the sdk.Msg type for allowing an admin account to mint // more of a token. For now, we only support minting to the sender account message MsgMint { + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; cosmos.base.v1beta1.Coin amount = 2 [ (gogoproto.moretags) = "yaml:\"amount\"", @@ -58,6 +66,8 @@ message MsgMintResponse {} // MsgBurn is the sdk.Msg type for allowing an admin account to burn // a token. For now, we only support burning from the sender account. message MsgBurn { + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; cosmos.base.v1beta1.Coin amount = 2 [ (gogoproto.moretags) = "yaml:\"amount\"", @@ -70,6 +80,8 @@ message MsgBurnResponse {} // MsgChangeAdmin is the sdk.Msg type for allowing an admin account to reassign // adminship of a denom to a new account message MsgChangeAdmin { + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; string denom = 2 [ (gogoproto.moretags) = "yaml:\"denom\"" ]; string new_admin = 3 [ (gogoproto.moretags) = "yaml:\"new_admin\"" ]; @@ -96,6 +108,8 @@ message MsgChangeAdminResponse {} // MsgSetDenomMetadata is the sdk.Msg type for allowing an admin account to set // the denom's bank metadata message MsgSetDenomMetadata { + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; cosmos.bank.v1beta1.Metadata metadata = 2 [ (gogoproto.moretags) = "yaml:\"metadata\"", @@ -105,4 +119,18 @@ message MsgSetDenomMetadata { // MsgSetDenomMetadataResponse defines the response structure for an executed // MsgSetDenomMetadata message. -message MsgSetDenomMetadataResponse {} \ No newline at end of file +message MsgSetDenomMetadataResponse {} + +message MsgUpdateParams { + option (cosmos.msg.v1.signer) = "authority"; + + // authority is the address of the governance account. + string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + + // params defines the tokenfactory parameters to update. + // + // NOTE: All parameters must be supplied. + Params params = 2 [ (gogoproto.nullable) = false ]; +} + +message MsgUpdateParamsResponse {} \ No newline at end of file diff --git a/proto/injective/types/v1beta1/tx_ext.proto b/proto/injective/types/v1beta1/tx_ext.proto index 4bea8e5e..7c13befe 100644 --- a/proto/injective/types/v1beta1/tx_ext.proto +++ b/proto/injective/types/v1beta1/tx_ext.proto @@ -14,9 +14,9 @@ message ExtensionOptionsWeb3Tx { // feePayer is an account address for the fee payer. It will be validated // during EIP712 signature checking. - string feePayer = 2; + string feePayer = 2; // feePayerSig is a signature data from the fee paying account, // allows to perform fee delegation when using EIP712 Domain. - bytes feePayerSig = 3; + bytes feePayerSig = 3; } diff --git a/proto/injective/types/v1beta1/tx_response.proto b/proto/injective/types/v1beta1/tx_response.proto index 3254dd83..c2b15d4f 100644 --- a/proto/injective/types/v1beta1/tx_response.proto +++ b/proto/injective/types/v1beta1/tx_response.proto @@ -3,13 +3,12 @@ package injective.types.v1beta1; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/types"; -// base header ak message type, we can cast the bytes into corresponding message response type +// base header ak message type, we can cast the bytes into corresponding message +// response type message TxResponseGenericMessage { string header = 1; bytes data = 2; } // improvised message to unpack length prefixed messages in tx response data -message TxResponseData { - repeated TxResponseGenericMessage messages = 1; -} +message TxResponseData { repeated TxResponseGenericMessage messages = 1; } diff --git a/proto/injective/wasmx/v1/events.proto b/proto/injective/wasmx/v1/events.proto new file mode 100644 index 00000000..c810cdd3 --- /dev/null +++ b/proto/injective/wasmx/v1/events.proto @@ -0,0 +1,13 @@ +syntax = "proto3"; +package injective.wasmx.v1; + +import "injective/wasmx/v1/wasmx.proto"; +import "gogoproto/gogo.proto"; + +option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/wasmx/types"; + +message EventContractExecution { + string contract_address = 1; + bytes response = 2; + string error = 3; + } \ No newline at end of file diff --git a/proto/injective/wasmx/v1/genesis.proto b/proto/injective/wasmx/v1/genesis.proto index 063208a2..e0f1b999 100644 --- a/proto/injective/wasmx/v1/genesis.proto +++ b/proto/injective/wasmx/v1/genesis.proto @@ -15,8 +15,10 @@ message RegisteredContractWithAddress { // GenesisState defines the wasmx module's genesis state. message GenesisState { // params defines all the parameters of related to wasmx. - Params params = 1 [(gogoproto.nullable) = false]; + Params params = 1 [ (gogoproto.nullable) = false ]; - // registered_contracts is an array containing the genesis registered contracts - repeated RegisteredContractWithAddress registered_contracts = 2 [(gogoproto.nullable) = false]; + // registered_contracts is an array containing the genesis registered + // contracts + repeated RegisteredContractWithAddress registered_contracts = 2 + [ (gogoproto.nullable) = false ]; } diff --git a/proto/injective/wasmx/v1/proposal.proto b/proto/injective/wasmx/v1/proposal.proto index bf9a8791..7cbb1811 100644 --- a/proto/injective/wasmx/v1/proposal.proto +++ b/proto/injective/wasmx/v1/proposal.proto @@ -1,39 +1,54 @@ syntax = "proto3"; package injective.wasmx.v1; -import "gogoproto/gogo.proto"; +import "cosmos_proto/cosmos.proto"; import "cosmwasm/wasm/v1/proposal.proto"; +import "gogoproto/gogo.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/wasmx/types"; message ContractRegistrationRequestProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; string title = 1; string description = 2; - ContractRegistrationRequest contract_registration_request = 3 [(gogoproto.nullable) = false]; + ContractRegistrationRequest contract_registration_request = 3 + [ (gogoproto.nullable) = false ]; } message BatchContractRegistrationRequestProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; string title = 1; string description = 2; - repeated ContractRegistrationRequest contract_registration_requests = 3 [(gogoproto.nullable) = false]; + repeated ContractRegistrationRequest contract_registration_requests = 3 + [ (gogoproto.nullable) = false ]; } message BatchContractDeregistrationProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; string title = 1; string description = 2; - repeated string contracts = 3 [(gogoproto.nullable) = false]; + repeated string contracts = 3; +} + +enum FundingMode { + Unspecified = 0; + SelfFunded = 1; + GrantOnly = 2; + Dual = 3; } message ContractRegistrationRequest { + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; + // Unique Identifier for contract instance to be registered. string contract_address = 1; @@ -45,21 +60,33 @@ message ContractRegistrationRequest { bool should_pin_contract = 4; - // if true contract owner can update it, if false only current code_id will be allowed to be executed + // if true contract owner can update it, if false only current code_id will be + // allowed to be executed bool is_migration_allowed = 5; - // code_id of the contract being registered - will be verified upon every execution but only if is_migration_allowed is false + // code_id of the contract being registered - will be verified upon every + // execution but only if is_migration_allowed is false uint64 code_id = 6; - // Optional address of admin account (that will be allowed to pause or update contract params) + // Optional address of admin account (that will be allowed to pause or update + // contract params) string admin_address = 7; + + // Optional address of the contract that grants fees. Must be set if + // funding_mode is other than SelfFunded + string granter_address = 8; + + // Specifies how the contract will fund its execution + FundingMode funding_mode = 9; } message BatchStoreCodeProposal { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; string title = 1; string description = 2; - repeated cosmwasm.wasm.v1.StoreCodeProposal proposals = 3 [(gogoproto.nullable) = false]; + repeated cosmwasm.wasm.v1.StoreCodeProposal proposals = 3 + [ (gogoproto.nullable) = false ]; } \ No newline at end of file diff --git a/proto/injective/wasmx/v1/query.proto b/proto/injective/wasmx/v1/query.proto index 81b90403..af95855a 100644 --- a/proto/injective/wasmx/v1/query.proto +++ b/proto/injective/wasmx/v1/query.proto @@ -14,37 +14,40 @@ service Query { rpc WasmxParams(QueryWasmxParamsRequest) returns (QueryWasmxParamsResponse) { option (google.api.http).get = "/injective/wasmx/v1/params"; } - + + // Retrieves contract registration info + rpc ContractRegistrationInfo(QueryContractRegistrationInfoRequest) returns (QueryContractRegistrationInfoResponse) { + option (google.api.http).get = "/injective/wasmx/v1/registration_info/{contract_address}"; + } + // Retrieves the entire wasmx module's state - rpc WasmxModuleState(QueryModuleStateRequest) returns (QueryModuleStateResponse) { + rpc WasmxModuleState(QueryModuleStateRequest) + returns (QueryModuleStateResponse) { option (google.api.http).get = "/injective/wasmx/v1/module_state"; } - } -// QueryWasmxParamsRequest is the request type for the Query/WasmxParams RPC method. +// QueryWasmxParamsRequest is the request type for the Query/WasmxParams RPC +// method. message QueryWasmxParamsRequest {} -// QueryWasmxParamsRequest is the response type for the Query/WasmxParams RPC method. +// QueryWasmxParamsRequest is the response type for the Query/WasmxParams RPC +// method. message QueryWasmxParamsResponse { - Params params = 1 [ - (gogoproto.nullable) = false - ]; + Params params = 1 [ (gogoproto.nullable) = false ]; } -// QueryModuleStateRequest is the request type for the Query/WasmxModuleState RPC method. +// QueryModuleStateRequest is the request type for the Query/WasmxModuleState +// RPC method. message QueryModuleStateRequest {} -// QueryModuleStateResponse is the response type for the Query/WasmxModuleState RPC method. -message QueryModuleStateResponse { - GenesisState state = 1; -} +// QueryModuleStateResponse is the response type for the Query/WasmxModuleState +// RPC method. +message QueryModuleStateResponse { GenesisState state = 1; } // Contract registration info -message QueryContractRegistrationInfoRequest { - string contract_address = 1; -} +message QueryContractRegistrationInfoRequest { string contract_address = 1; } message QueryContractRegistrationInfoResponse { - RegisteredContract contract = 1; + RegisteredContract contract = 1; } \ No newline at end of file diff --git a/proto/injective/wasmx/v1/tx.proto b/proto/injective/wasmx/v1/tx.proto index af9bcb21..77d80b1c 100644 --- a/proto/injective/wasmx/v1/tx.proto +++ b/proto/injective/wasmx/v1/tx.proto @@ -4,19 +4,31 @@ package injective.wasmx.v1; import "gogoproto/gogo.proto"; import "google/protobuf/any.proto"; import "cosmos_proto/cosmos.proto"; +import "cosmos/msg/v1/msg.proto"; +import "injective/wasmx/v1/wasmx.proto"; +import "injective/wasmx/v1/proposal.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/wasmx/types"; // Msg defines the wasmx Msg service. service Msg { - rpc UpdateRegistryContractParams(MsgUpdateContract) returns (MsgUpdateContractResponse); - rpc ActivateRegistryContract(MsgActivateContract) returns (MsgActivateContractResponse); - rpc DeactivateRegistryContract(MsgDeactivateContract) returns (MsgDeactivateContractResponse); - rpc ExecuteContractCompat(MsgExecuteContractCompat) returns (MsgExecuteContractCompatResponse); + rpc UpdateRegistryContractParams(MsgUpdateContract) + returns (MsgUpdateContractResponse); + rpc ActivateRegistryContract(MsgActivateContract) + returns (MsgActivateContractResponse); + rpc DeactivateRegistryContract(MsgDeactivateContract) + returns (MsgDeactivateContractResponse); + rpc ExecuteContractCompat(MsgExecuteContractCompat) + returns (MsgExecuteContractCompatResponse); + rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); + rpc RegisterContract(MsgRegisterContract) returns (MsgRegisterContractResponse); } -// MsgExecuteContractCompat submits the given message data to a smart contract, compatible with EIP712 +// MsgExecuteContractCompat submits the given message data to a smart contract, +// compatible with EIP712 message MsgExecuteContractCompat { + option (cosmos.msg.v1.signer) = "sender"; + // Sender is the that actor that signed the messages string sender = 1; // Contract is the address of the smart contract @@ -27,15 +39,15 @@ message MsgExecuteContractCompat { string funds = 4; } - // MsgExecuteContractCompatResponse returns execution result data. message MsgExecuteContractCompatResponse { // Data contains bytes to returned from the contract bytes data = 1; } - message MsgUpdateContract { + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; // Unique Identifier for contract instance to be registered. string contract_address = 2; @@ -44,12 +56,14 @@ message MsgUpdateContract { // gas price to be used for the smart contract execution. uint64 gas_price = 4; // optional - admin account that will be allowed to perform any changes - string admin_address = 5 [(gogoproto.nullable) = true]; + string admin_address = 5 [ (gogoproto.nullable) = true ]; } message MsgUpdateContractResponse {} message MsgActivateContract { + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; // Unique Identifier for contract instance to be activated. string contract_address = 2; @@ -58,9 +72,35 @@ message MsgActivateContract { message MsgActivateContractResponse {} message MsgDeactivateContract { + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; // Unique Identifier for contract instance to be deactivated. string contract_address = 2; } message MsgDeactivateContractResponse {} + +message MsgUpdateParams { + option (cosmos.msg.v1.signer) = "authority"; + + // authority is the address of the governance account. + string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + + // params defines the wasmx parameters to update. + // + // NOTE: All parameters must be supplied. + Params params = 2 [ (gogoproto.nullable) = false ]; +} + +message MsgUpdateParamsResponse {} + +message MsgRegisterContract { + option (cosmos.msg.v1.signer) = "sender"; + + string sender = 1; + + ContractRegistrationRequest contract_registration_request = 2 [ (gogoproto.nullable) = false ]; +} + +message MsgRegisterContractResponse {} \ No newline at end of file diff --git a/proto/injective/wasmx/v1/wasmx.proto b/proto/injective/wasmx/v1/wasmx.proto index 27bc2942..fb501c9b 100644 --- a/proto/injective/wasmx/v1/wasmx.proto +++ b/proto/injective/wasmx/v1/wasmx.proto @@ -2,26 +2,30 @@ syntax = "proto3"; package injective.wasmx.v1; import "gogoproto/gogo.proto"; +import "injective/wasmx/v1/proposal.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/wasmx/types"; message Params { option (gogoproto.equal) = true; - // Set the status to active to indicate that contracts can be executed in begin blocker. + // Set the status to active to indicate that contracts can be executed in + // begin blocker. bool is_execution_enabled = 1; - // Maximum aggregate total gas to be used for the contract executions in the BeginBlocker. + // Maximum aggregate total gas to be used for the contract executions in the + // BeginBlocker. uint64 max_begin_block_total_gas = 2; - // the maximum gas limit each individual contract can consume in the BeginBlocker. + // the maximum gas limit each individual contract can consume in the + // BeginBlocker. uint64 max_contract_gas_limit = 3; - // min_gas_price defines the minimum gas price the contracts must pay to be executed in the BeginBlocker. + // min_gas_price defines the minimum gas price the contracts must pay to be + // executed in the BeginBlocker. uint64 min_gas_price = 4; } - message RegisteredContract { option (gogoproto.equal) = true; @@ -29,14 +33,22 @@ message RegisteredContract { uint64 gas_limit = 1; // gas price that contract is willing to pay for execution in BeginBlocker - uint64 gas_price = 2; + uint64 gas_price = 2; // is contract currently active - bool is_executable = 3; + bool is_executable = 3; - // code_id that is allowed to be executed (to prevent malicious updates) - if nil/0 any code_id can be executed - uint64 code_id = 4 [(gogoproto.nullable) = true]; + // code_id that is allowed to be executed (to prevent malicious updates) - if + // nil/0 any code_id can be executed + uint64 code_id = 4 [ (gogoproto.nullable) = true ]; // optional - admin addr that is allowed to update contract data - string admin_address = 5 [(gogoproto.nullable) = true]; + string admin_address = 5 [ (gogoproto.nullable) = true ]; + + // Optional: address of the contract granting fee + // Must be set if fund_mode is GrantOnly + string granter_address = 6 [ (gogoproto.nullable) = true ]; + + // funding mode + FundingMode fund_mode = 7; } \ No newline at end of file