From 5403734ae712375f87909290dfc8c169236b0988 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Thu, 9 Feb 2023 13:51:06 -0800 Subject: [PATCH] fix: intercase leverage fix (backport #1800) (#1801) * fix: intercase leverage fix (#1800) ## Description closes: #XXXX --- ### Author Checklist _All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues._ I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] added appropriate labels to the PR - [ ] targeted the correct branch (see [PR Targeting](https://github.com/umee-network/umee/blob/main/CONTRIBUTING.md#pr-targeting)) - [ ] provided a link to the relevant issue or specification - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist _All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items._ I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed all author checklist items have been addressed - [ ] reviewed state machine logic - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) (cherry picked from commit ea76766d5a6acb1358a391e8e06d94444ef49b4a) # Conflicts: # CHANGELOG.md # x/leverage/keeper/oracle.go * fix conflicts * coin.New fix * Update CHANGELOG.md --------- Co-authored-by: Adam Wozniak <29418299+adamewozniak@users.noreply.github.com> Co-authored-by: Adam Moser <63419657+toteki@users.noreply.github.com> --- CHANGELOG.md | 6 + proto/umee/leverage/v1/query.proto | 1 + swagger/swagger.yaml | 4 + x/leverage/keeper/grpc_query.go | 10 +- x/leverage/keeper/oracle.go | 4 +- x/leverage/keeper/oracle_test.go | 12 ++ x/leverage/types/query.pb.go | 227 +++++++++++++++++------------ 7 files changed, 171 insertions(+), 93 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a4f2e97735..16b35b52d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -46,6 +46,12 @@ Ref: https://keepachangelog.com/en/1.0.0/ ## [Unreleased] +### Fixes + +- [1800](https://github.com/umee-network/umee/pull/1800) Handle non-capitalized assets when calling the historacle data. + +## [v4.0.0](https://github.com/umee-network/umee/releases/tag/v4.0.0) - 2023-01-20 + ### API Breaking - [1683](https://github.com/umee-network/umee/pull/1683) MaxWithdraw query now returns `sdk.Coins`, not `sdk.Coin` and will be empty (not zero coin) when returning a zero amount. Denom field in query is now optional. diff --git a/proto/umee/leverage/v1/query.proto b/proto/umee/leverage/v1/query.proto index f9516fb96b..ae6e4b1cf9 100644 --- a/proto/umee/leverage/v1/query.proto +++ b/proto/umee/leverage/v1/query.proto @@ -187,6 +187,7 @@ message QueryMarketSummaryResponse { (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true ]; + string errors = 20; } // QueryAccountBalances defines the request structure for the AccountBalances gRPC service handler. diff --git a/swagger/swagger.yaml b/swagger/swagger.yaml index c9e43fcc08..cc07b38a01 100644 --- a/swagger/swagger.yaml +++ b/swagger/swagger.yaml @@ -454,6 +454,8 @@ paths: price is used if required medians is zero. Price is nil when the oracle is down or insufficient historic medians are available. + errors: + type: string description: >- QueryMarketSummaryResponse defines the response structure for the MarketSummary gRPC service handler. @@ -2228,6 +2230,8 @@ definitions: the leverage registry. Current price is used if required medians is zero. Price is nil when the oracle is down or insufficient historic medians are available. + errors: + type: string description: >- QueryMarketSummaryResponse defines the response structure for the MarketSummary gRPC service handler. diff --git a/x/leverage/keeper/grpc_query.go b/x/leverage/keeper/grpc_query.go index 65c3c77326..e3c9ae7936 100644 --- a/x/leverage/keeper/grpc_query.go +++ b/x/leverage/keeper/grpc_query.go @@ -135,11 +135,17 @@ func (q Querier) MarketSummary( } // Oracle prices in response will be nil if it is unavailable - if oraclePrice, _, oracleErr := q.Keeper.TokenPrice(ctx, req.Denom, types.PriceModeSpot); oracleErr == nil { + oraclePrice, _, oracleErr := q.Keeper.TokenPrice(ctx, req.Denom, types.PriceModeSpot) + if oracleErr == nil { resp.OraclePrice = &oraclePrice + } else { + resp.Errors += oracleErr.Error() } - if historicPrice, _, historicErr := q.Keeper.TokenPrice(ctx, req.Denom, types.PriceModeHistoric); historicErr == nil { + historicPrice, _, historicErr := q.Keeper.TokenPrice(ctx, req.Denom, types.PriceModeHistoric) + if historicErr == nil { resp.OracleHistoricPrice = &historicPrice + } else { + resp.Errors += historicErr.Error() } return &resp, nil diff --git a/x/leverage/keeper/oracle.go b/x/leverage/keeper/oracle.go index f30f24352d..7576beb8cc 100644 --- a/x/leverage/keeper/oracle.go +++ b/x/leverage/keeper/oracle.go @@ -1,6 +1,8 @@ package keeper import ( + "strings" + sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" @@ -40,7 +42,7 @@ func (k Keeper) TokenPrice(ctx sdk.Context, baseDenom string, mode types.PriceMo // historic price is required for modes other than spot var numStamps uint32 historicPrice, numStamps, err = k.oracleKeeper.MedianOfHistoricMedians( - ctx, t.SymbolDenom, uint64(t.HistoricMedians)) + ctx, strings.ToUpper(t.SymbolDenom), uint64(t.HistoricMedians)) if err != nil { return sdk.ZeroDec(), t.Exponent, sdkerrors.Wrap(err, "oracle") } diff --git a/x/leverage/keeper/oracle_test.go b/x/leverage/keeper/oracle_test.go index 73ee66c8be..892bcfb2e3 100644 --- a/x/leverage/keeper/oracle_test.go +++ b/x/leverage/keeper/oracle_test.go @@ -2,6 +2,7 @@ package keeper_test import ( "fmt" + "strings" sdk "github.com/cosmos/cosmos-sdk/types" @@ -154,6 +155,12 @@ func (s *IntegrationTestSuite) TestOracle_TokenPrice() { require.NoError(err) require.Equal(sdk.MustNewDecFromStr("0.50"), p) require.Equal(uint32(6), e) + + // Lowercase must be converted to uppercase symbol denom ("DUMP" from "dump") + p, e, err = app.LeverageKeeper.TokenPrice(ctx, strings.ToLower(dumpDenom), types.PriceModeLow) + require.NoError(err) + require.Equal(sdk.MustNewDecFromStr("0.50"), p) + require.Equal(uint32(6), e) } func (s *IntegrationTestSuite) TestOracle_TokenValue() { @@ -220,6 +227,11 @@ func (s *IntegrationTestSuite) TestOracle_TokenValue() { v, err = app.LeverageKeeper.TokenValue(ctx, coin(pumpDenom, 2_400000), types.PriceModeLow) require.NoError(err) require.Equal(sdk.MustNewDecFromStr("2.4"), v) + + // lowercase 2.4 PUMP * $1.00 + v, err = app.LeverageKeeper.TokenValue(ctx, coin(strings.ToLower(pumpDenom), 2_400000), types.PriceModeLow) + require.NoError(err) + require.Equal(sdk.MustNewDecFromStr("2.4"), v) } func (s *IntegrationTestSuite) TestOracle_TotalTokenValue() { diff --git a/x/leverage/types/query.pb.go b/x/leverage/types/query.pb.go index de398fc371..14a47f62fb 100644 --- a/x/leverage/types/query.pb.go +++ b/x/leverage/types/query.pb.go @@ -263,6 +263,7 @@ type QueryMarketSummaryResponse struct { AvailableCollateralize github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,18,opt,name=available_collateralize,json=availableCollateralize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"available_collateralize"` // Oracle Historic Price is the historic USD value of a token. Historic price is defined as the median of the last N historic median prices from the oracle module, with N being this token's HistoricMedians in the leverage registry. Current price is used if required medians is zero. Price is nil when the oracle is down or insufficient historic medians are available. OracleHistoricPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,19,opt,name=oracle_historic_price,json=oracleHistoricPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"oracle_historic_price,omitempty"` + Errors string `protobuf:"bytes,20,opt,name=errors,proto3" json:"errors,omitempty"` } func (m *QueryMarketSummaryResponse) Reset() { *m = QueryMarketSummaryResponse{} } @@ -805,97 +806,98 @@ func init() { func init() { proto.RegisterFile("umee/leverage/v1/query.proto", fileDescriptor_1e8137dcabb0ccc7) } var fileDescriptor_1e8137dcabb0ccc7 = []byte{ - // 1425 bytes of a gzipped FileDescriptorProto + // 1442 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x98, 0xcf, 0x6f, 0x1b, 0x45, - 0x14, 0xc7, 0xb3, 0x49, 0x9b, 0xc4, 0xcf, 0x71, 0x92, 0x4e, 0xd3, 0x66, 0xeb, 0xa6, 0xb6, 0xbb, - 0x6d, 0xda, 0xb4, 0x10, 0x6f, 0x53, 0x10, 0x12, 0x02, 0x09, 0xea, 0x16, 0x04, 0x28, 0xad, 0x52, - 0xb7, 0x05, 0xb5, 0x15, 0xb2, 0xc6, 0xbb, 0x23, 0x67, 0x95, 0xfd, 0xe1, 0xee, 0xae, 0x1d, 0x1b, - 0xa9, 0x17, 0x24, 0x8e, 0x48, 0x20, 0xc4, 0x81, 0x23, 0x57, 0xfe, 0x92, 0x1c, 0x2b, 0x71, 0x41, - 0x48, 0x04, 0x68, 0x2b, 0x0e, 0xfd, 0x07, 0xb8, 0xa2, 0x9d, 0x5f, 0xbb, 0xf1, 0xc6, 0x8d, 0xb3, - 0x22, 0xa7, 0x78, 0x77, 0xde, 0xfb, 0xbc, 0xef, 0xbc, 0x99, 0x7d, 0xf3, 0x26, 0xb0, 0xd4, 0x71, - 0x08, 0xd1, 0x6d, 0xd2, 0x25, 0x3e, 0x6e, 0x11, 0xbd, 0xbb, 0xa6, 0x3f, 0xe9, 0x10, 0xbf, 0x5f, - 0x6d, 0xfb, 0x5e, 0xe8, 0xa1, 0xf9, 0x68, 0xb4, 0x2a, 0x46, 0xab, 0xdd, 0xb5, 0xe2, 0x52, 0xcb, - 0xf3, 0x5a, 0x36, 0xd1, 0x71, 0xdb, 0xd2, 0xb1, 0xeb, 0x7a, 0x21, 0x0e, 0x2d, 0xcf, 0x0d, 0x98, - 0x7d, 0xb1, 0x94, 0xa2, 0xb5, 0x88, 0x4b, 0x02, 0x4b, 0x8c, 0x97, 0x53, 0xe3, 0x92, 0xcd, 0x0c, - 0x16, 0x5a, 0x5e, 0xcb, 0xa3, 0x3f, 0xf5, 0xe8, 0x97, 0xc0, 0x1a, 0x5e, 0xe0, 0x78, 0x81, 0xde, - 0xc4, 0x41, 0xe4, 0xd4, 0x24, 0x21, 0x5e, 0xd3, 0x0d, 0xcf, 0x72, 0xd9, 0xb8, 0x56, 0x80, 0xfc, - 0xdd, 0x48, 0xf5, 0x06, 0xf6, 0xb1, 0x13, 0x68, 0xb7, 0xe1, 0x64, 0xe2, 0xb1, 0x4e, 0x82, 0xb6, - 0xe7, 0x06, 0x04, 0xbd, 0x03, 0x93, 0x6d, 0xfa, 0x46, 0x55, 0x2a, 0xca, 0x4a, 0xfe, 0xba, 0x5a, - 0x1d, 0x9c, 0x5d, 0x95, 0x79, 0xd4, 0x8e, 0xed, 0xec, 0x96, 0xc7, 0xea, 0xdc, 0x5a, 0x5b, 0x84, - 0x53, 0x14, 0x57, 0x27, 0x2d, 0x2b, 0x08, 0x89, 0x4f, 0xcc, 0xfb, 0xde, 0x16, 0x71, 0x03, 0xed, - 0x11, 0x9c, 0xdb, 0x77, 0x40, 0x46, 0x7c, 0x17, 0xa6, 0x7d, 0x3a, 0xe6, 0xf7, 0x55, 0xa5, 0x32, - 0xb1, 0x92, 0xbf, 0xbe, 0x98, 0x8e, 0x49, 0x7d, 0x78, 0x48, 0x69, 0xae, 0x5d, 0x05, 0x44, 0xd9, - 0xb7, 0xb1, 0xbf, 0x45, 0xc2, 0x7b, 0x1d, 0xc7, 0xc1, 0x7e, 0x1f, 0x2d, 0xc0, 0x71, 0x93, 0xb8, - 0x9e, 0x43, 0x67, 0x90, 0xab, 0xb3, 0x07, 0xed, 0xe5, 0x0c, 0x14, 0xd3, 0xc6, 0x52, 0xc5, 0x79, - 0x98, 0x09, 0xfa, 0x4e, 0xd3, 0xb3, 0x1b, 0x49, 0xdf, 0x3c, 0x7b, 0x77, 0x2b, 0x7a, 0x85, 0x8a, - 0x30, 0x4d, 0x7a, 0x6d, 0xcf, 0x25, 0x6e, 0xa8, 0x8e, 0x57, 0x94, 0x95, 0x42, 0x5d, 0x3e, 0xa3, - 0xbb, 0x30, 0xe3, 0xf9, 0xd8, 0xb0, 0x49, 0xa3, 0xed, 0x5b, 0x06, 0x51, 0x27, 0x22, 0xf7, 0x5a, - 0x75, 0x67, 0xb7, 0xac, 0xfc, 0xbe, 0x5b, 0xbe, 0xd4, 0xb2, 0xc2, 0xcd, 0x4e, 0xb3, 0x6a, 0x78, - 0x8e, 0xce, 0x57, 0x89, 0xfd, 0x59, 0x0d, 0xcc, 0x2d, 0x3d, 0xec, 0xb7, 0x49, 0x50, 0xbd, 0x45, - 0x8c, 0x7a, 0x9e, 0x31, 0x36, 0x22, 0x04, 0xea, 0xc1, 0x42, 0x87, 0x4e, 0xbb, 0x41, 0x7a, 0xc6, - 0x26, 0x76, 0x5b, 0xa4, 0xe1, 0xe3, 0x90, 0xa8, 0xc7, 0x28, 0xfa, 0xe3, 0x28, 0x15, 0xa3, 0xa3, - 0x5f, 0xed, 0x96, 0x17, 0x3a, 0x61, 0x9a, 0x56, 0x47, 0x2c, 0xc6, 0x47, 0xfc, 0x65, 0x1d, 0x87, - 0x04, 0x3d, 0x06, 0x08, 0x3a, 0xed, 0xb6, 0xdd, 0x6f, 0xdc, 0xd8, 0x78, 0xa8, 0x1e, 0xa7, 0xf1, - 0xde, 0x3f, 0x74, 0x3c, 0xc1, 0xc0, 0xed, 0x7e, 0x3d, 0xc7, 0x7e, 0xdf, 0xd8, 0x78, 0x18, 0xc1, - 0x9b, 0x9e, 0xef, 0x7b, 0xdb, 0x14, 0x3e, 0x99, 0x15, 0xce, 0x19, 0x14, 0xce, 0x7e, 0x47, 0xf0, - 0xcf, 0x60, 0x9a, 0x46, 0xb2, 0x88, 0xa9, 0x4e, 0xc9, 0x25, 0x18, 0x15, 0xfd, 0xa9, 0x1b, 0xd6, - 0xa5, 0x7f, 0xc4, 0xf2, 0x49, 0x40, 0xfc, 0x2e, 0x31, 0xd5, 0xe9, 0x6c, 0x2c, 0xe1, 0x8f, 0xee, - 0x00, 0x18, 0x9e, 0x6d, 0xe3, 0x90, 0xf8, 0xd8, 0x56, 0x73, 0x99, 0x68, 0x09, 0x42, 0xa4, 0x8d, - 0x4d, 0x9a, 0x98, 0x2a, 0x64, 0xd3, 0x26, 0xfc, 0xd1, 0x3a, 0xe4, 0x6c, 0xeb, 0x49, 0xc7, 0x32, - 0xad, 0xb0, 0xaf, 0xe6, 0x33, 0xc1, 0x62, 0x00, 0x7a, 0x00, 0xb3, 0x0e, 0xee, 0x59, 0x4e, 0xc7, - 0x69, 0xb0, 0x08, 0xea, 0x4c, 0x26, 0x64, 0x81, 0x53, 0x6a, 0x14, 0x82, 0xbe, 0x04, 0x24, 0xb0, - 0x89, 0x44, 0x16, 0x32, 0xa1, 0x4f, 0x70, 0xd2, 0xcd, 0x38, 0x9f, 0x8f, 0xe1, 0x84, 0x63, 0xb9, - 0x14, 0x1f, 0xe7, 0x62, 0x36, 0x13, 0x7d, 0x9e, 0x83, 0xd6, 0x65, 0x4a, 0x4c, 0x28, 0xf0, 0x0f, - 0x99, 0x7d, 0x05, 0xea, 0x1c, 0x05, 0x7f, 0x70, 0x38, 0xf0, 0xab, 0xdd, 0x72, 0x81, 0x7f, 0xc1, - 0x0c, 0x53, 0x9f, 0x61, 0xd4, 0x7b, 0xf4, 0x09, 0x3d, 0x84, 0x79, 0xdc, 0xc5, 0x96, 0x8d, 0x9b, - 0x36, 0x11, 0xa9, 0x9f, 0xcf, 0x34, 0x83, 0x39, 0xc9, 0x89, 0x93, 0x1f, 0xa3, 0xb7, 0xad, 0x70, - 0xd3, 0xf4, 0xf1, 0xb6, 0x7a, 0x22, 0x5b, 0xf2, 0x25, 0xe9, 0x0b, 0x0e, 0x42, 0x2d, 0x58, 0x8c, - 0xf1, 0xf1, 0xea, 0x5a, 0x5f, 0x11, 0x15, 0x65, 0x8a, 0x71, 0x5a, 0xe2, 0x6e, 0x26, 0x69, 0xa8, - 0x09, 0xa7, 0x78, 0x91, 0xde, 0xb4, 0x82, 0xd0, 0xf3, 0x2d, 0x83, 0x57, 0xeb, 0x93, 0x99, 0xaa, - 0xf5, 0x49, 0x06, 0xfb, 0x84, 0xb3, 0x68, 0xd5, 0xd6, 0xae, 0xc1, 0x02, 0x3d, 0x65, 0x6e, 0x18, - 0x86, 0xd7, 0x71, 0xc3, 0x1a, 0xb6, 0xb1, 0x6b, 0x90, 0x00, 0xa9, 0x30, 0x85, 0x4d, 0xd3, 0x27, - 0x41, 0xc0, 0x8f, 0x16, 0xf1, 0xa8, 0xfd, 0x31, 0x0e, 0x4b, 0xfb, 0xb9, 0xc8, 0xa3, 0xa9, 0x95, - 0x28, 0x6a, 0xec, 0x80, 0x3c, 0x53, 0x65, 0x82, 0xaa, 0xd1, 0x59, 0x5f, 0xe5, 0x67, 0x7d, 0xf5, - 0xa6, 0x67, 0xb9, 0xb5, 0x6b, 0x51, 0xae, 0x7e, 0xf9, 0xb3, 0xbc, 0x32, 0xc2, 0x24, 0x22, 0x87, - 0x20, 0x51, 0xf1, 0xb6, 0xf6, 0x54, 0xa9, 0xf1, 0xff, 0x3f, 0x54, 0xb2, 0x84, 0xb5, 0x12, 0x25, - 0x6c, 0xe2, 0x08, 0x66, 0x25, 0xe0, 0x9a, 0xce, 0x1b, 0x1d, 0x9e, 0x5e, 0xd1, 0x25, 0x0c, 0x5f, - 0x90, 0xdd, 0x09, 0x38, 0xbb, 0x8f, 0x87, 0x5c, 0x8f, 0x07, 0x30, 0x2b, 0x52, 0xd6, 0xe8, 0x62, - 0xbb, 0x43, 0x18, 0xe0, 0x50, 0xdb, 0x34, 0xda, 0x3f, 0x05, 0x41, 0xf9, 0x3c, 0x82, 0x44, 0x1f, - 0x70, 0x9c, 0x1e, 0x0e, 0x1e, 0xcf, 0x04, 0x9e, 0x8b, 0x39, 0x0c, 0xfd, 0x00, 0x66, 0x45, 0x3a, - 0x38, 0x78, 0x22, 0x9b, 0x62, 0x41, 0x61, 0xd8, 0xbb, 0x30, 0xc3, 0x8f, 0x61, 0xdb, 0x72, 0xac, - 0x90, 0x77, 0x26, 0x87, 0x85, 0xe6, 0x19, 0x63, 0x3d, 0x42, 0x20, 0x03, 0x4e, 0xb1, 0x02, 0x4c, - 0x3b, 0xe6, 0x46, 0xb8, 0xe9, 0x93, 0x60, 0xd3, 0xb3, 0x4d, 0xde, 0x85, 0x1c, 0x96, 0xbd, 0x90, - 0x80, 0xdd, 0x17, 0x2c, 0xed, 0x0c, 0x2c, 0xd2, 0xf5, 0x5d, 0x4f, 0x0c, 0x62, 0xbf, 0x45, 0xc2, - 0x40, 0x7b, 0x0f, 0xca, 0x43, 0x86, 0xe4, 0xf2, 0xab, 0x30, 0x15, 0xb2, 0x57, 0xf4, 0x6b, 0xcc, - 0xd5, 0xc5, 0xa3, 0x36, 0x07, 0x05, 0xea, 0x5c, 0xc3, 0xe6, 0x2d, 0xd2, 0x0c, 0x03, 0xad, 0xce, - 0x9b, 0x62, 0xf1, 0x22, 0xd1, 0xf3, 0xee, 0x61, 0x44, 0x7b, 0x3f, 0xd5, 0xf2, 0x72, 0x27, 0xde, - 0xf4, 0xca, 0x20, 0x35, 0x98, 0xe7, 0x6d, 0x6c, 0x4f, 0x56, 0xd0, 0xa1, 0x7b, 0x39, 0xee, 0x85, - 0xc7, 0x93, 0xbd, 0xf0, 0x3f, 0x0a, 0xa8, 0x83, 0x10, 0xa9, 0x8d, 0xc0, 0x14, 0x3b, 0x58, 0x82, - 0xa3, 0xa8, 0x36, 0x82, 0x8d, 0x0c, 0x98, 0x0c, 0x59, 0x94, 0x23, 0x28, 0x34, 0x1c, 0xad, 0x7d, - 0x08, 0xb3, 0x62, 0x9e, 0xfc, 0x2c, 0x3b, 0x6c, 0xaa, 0x9e, 0xc2, 0xe9, 0xbd, 0x04, 0x99, 0xa7, - 0x78, 0x02, 0xca, 0x91, 0x4d, 0xe0, 0xfa, 0xbf, 0x39, 0x38, 0x4e, 0xe3, 0xa3, 0x36, 0x4c, 0xb2, - 0x8b, 0x17, 0x3a, 0x97, 0xde, 0x2b, 0x89, 0x9b, 0x5c, 0x71, 0xf9, 0xb5, 0xc3, 0x42, 0xbe, 0x56, - 0xf9, 0xfa, 0xd7, 0x97, 0x3f, 0x8c, 0x17, 0x91, 0xaa, 0xa7, 0xae, 0x9b, 0xec, 0x4a, 0x87, 0x7e, - 0x52, 0x60, 0x7e, 0xf0, 0xd6, 0x86, 0x2e, 0x0f, 0xa1, 0x0f, 0x1a, 0x16, 0xf5, 0x11, 0x0d, 0xa5, - 0xa0, 0x37, 0xa8, 0xa0, 0x65, 0x74, 0x21, 0x2d, 0xc8, 0x97, 0x3e, 0x0d, 0x96, 0x17, 0xf4, 0xad, - 0x02, 0x85, 0xbd, 0xb7, 0xbe, 0x8b, 0x43, 0xe2, 0xed, 0xb1, 0x2a, 0xbe, 0x39, 0x8a, 0x95, 0x94, - 0xb4, 0x42, 0x25, 0x69, 0xa8, 0x92, 0x96, 0xe4, 0x50, 0x87, 0x46, 0xc0, 0xa3, 0xff, 0xa8, 0xc0, - 0xdc, 0xe0, 0x91, 0x7f, 0x69, 0x48, 0xac, 0x01, 0xbb, 0x62, 0x75, 0x34, 0x3b, 0xa9, 0xea, 0x2a, - 0x55, 0x75, 0x11, 0x69, 0x69, 0x55, 0x98, 0xb9, 0x34, 0x9a, 0x42, 0xc3, 0xf7, 0x0a, 0xcc, 0x0e, - 0x1c, 0x7c, 0xcb, 0xaf, 0x0f, 0x27, 0x32, 0xb5, 0x3a, 0x92, 0x99, 0x14, 0x75, 0x85, 0x8a, 0xba, - 0x80, 0xce, 0x0f, 0x17, 0x25, 0x72, 0xf5, 0xb3, 0x02, 0x28, 0x5d, 0x5f, 0xd1, 0x95, 0x21, 0x01, - 0xd3, 0xa6, 0xc5, 0xb5, 0x91, 0x4d, 0xa5, 0xbe, 0x55, 0xaa, 0xef, 0x32, 0x5a, 0x4e, 0xeb, 0xdb, - 0x73, 0xe0, 0x70, 0x31, 0x7d, 0x98, 0x16, 0x45, 0x1b, 0x95, 0x87, 0x44, 0x13, 0x06, 0xc5, 0xcb, - 0x07, 0x18, 0x48, 0x11, 0x17, 0xa8, 0x88, 0x73, 0xe8, 0x6c, 0x5a, 0x44, 0x13, 0x9b, 0x0d, 0x93, - 0x86, 0xfb, 0x46, 0x81, 0x7c, 0xb2, 0xb8, 0x6b, 0x43, 0xb7, 0xac, 0xb4, 0x29, 0x5e, 0x3d, 0xd8, - 0x46, 0x8a, 0xb8, 0x44, 0x45, 0x54, 0x50, 0x69, 0xbf, 0x4d, 0xdd, 0x93, 0xfd, 0x3d, 0x7a, 0x0a, - 0xb9, 0xb8, 0x6c, 0x56, 0x86, 0x07, 0x60, 0x16, 0xc5, 0x95, 0x83, 0x2c, 0xa4, 0x80, 0x8b, 0x54, - 0x40, 0x09, 0x2d, 0xed, 0x2f, 0x80, 0xb5, 0x03, 0xb5, 0x3b, 0x3b, 0x7f, 0x97, 0xc6, 0x76, 0x9e, - 0x97, 0x94, 0x67, 0xcf, 0x4b, 0xca, 0x5f, 0xcf, 0x4b, 0xca, 0x77, 0x2f, 0x4a, 0x63, 0xcf, 0x5e, - 0x94, 0xc6, 0x7e, 0x7b, 0x51, 0x1a, 0x7b, 0x74, 0x2d, 0x51, 0x49, 0x23, 0xca, 0xaa, 0x4b, 0xc2, - 0x6d, 0xcf, 0xdf, 0x62, 0xc8, 0xee, 0xdb, 0x7a, 0x2f, 0xe6, 0xd2, 0xba, 0xda, 0x9c, 0xa4, 0xff, - 0x05, 0x7b, 0xeb, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd1, 0x3b, 0x6b, 0x8a, 0xcc, 0x13, 0x00, - 0x00, + 0x1b, 0xc7, 0xb3, 0x49, 0x9b, 0x1f, 0x8f, 0xe3, 0x24, 0x9d, 0xa6, 0xcd, 0xd6, 0x4d, 0x6d, 0x77, + 0xdb, 0xb4, 0x69, 0xdf, 0x37, 0xde, 0xa6, 0xef, 0x2b, 0x24, 0x04, 0x12, 0xd4, 0x2d, 0x08, 0x50, + 0x5a, 0xa5, 0x6e, 0x0b, 0x6a, 0x2b, 0x64, 0x8d, 0x77, 0x47, 0xce, 0x2a, 0xbb, 0x3b, 0xee, 0xec, + 0xda, 0xb1, 0x91, 0x7a, 0x41, 0xe2, 0x88, 0x04, 0x42, 0x1c, 0x38, 0x72, 0xe5, 0x2f, 0xc9, 0xb1, + 0x12, 0x17, 0x84, 0x44, 0x80, 0x16, 0x71, 0xe8, 0x3f, 0xc0, 0x85, 0x03, 0xda, 0x99, 0xd9, 0xf1, + 0xc6, 0x1b, 0xb7, 0xce, 0x8a, 0x9c, 0xe2, 0xd9, 0x79, 0x9e, 0xcf, 0xf3, 0x9d, 0x67, 0x66, 0x9f, + 0x79, 0x36, 0xb0, 0xdc, 0xf6, 0x08, 0x31, 0x5d, 0xd2, 0x21, 0x0c, 0x37, 0x89, 0xd9, 0x59, 0x37, + 0x9f, 0xb4, 0x09, 0xeb, 0x55, 0x5a, 0x8c, 0x86, 0x14, 0x2d, 0x44, 0xb3, 0x95, 0x78, 0xb6, 0xd2, + 0x59, 0x2f, 0x2c, 0x37, 0x29, 0x6d, 0xba, 0xc4, 0xc4, 0x2d, 0xc7, 0xc4, 0xbe, 0x4f, 0x43, 0x1c, + 0x3a, 0xd4, 0x0f, 0x84, 0x7d, 0xa1, 0x98, 0xa2, 0x35, 0x89, 0x4f, 0x02, 0x27, 0x9e, 0x2f, 0xa5, + 0xe6, 0x15, 0x5b, 0x18, 0x2c, 0x36, 0x69, 0x93, 0xf2, 0x9f, 0x66, 0xf4, 0x2b, 0xc6, 0x5a, 0x34, + 0xf0, 0x68, 0x60, 0x36, 0x70, 0x10, 0x39, 0x35, 0x48, 0x88, 0xd7, 0x4d, 0x8b, 0x3a, 0xbe, 0x98, + 0x37, 0xf2, 0x90, 0xbb, 0x1b, 0xa9, 0xde, 0xc4, 0x0c, 0x7b, 0x81, 0x71, 0x1b, 0x4e, 0x26, 0x86, + 0x35, 0x12, 0xb4, 0xa8, 0x1f, 0x10, 0xf4, 0x06, 0x4c, 0xb6, 0xf8, 0x13, 0x5d, 0x2b, 0x6b, 0xab, + 0xb9, 0xeb, 0x7a, 0x65, 0x70, 0x75, 0x15, 0xe1, 0x51, 0x3d, 0xb6, 0xbb, 0x57, 0x1a, 0xab, 0x49, + 0x6b, 0x63, 0x09, 0x4e, 0x71, 0x5c, 0x8d, 0x34, 0x9d, 0x20, 0x24, 0x8c, 0xd8, 0xf7, 0xe9, 0x36, + 0xf1, 0x03, 0xe3, 0x11, 0x9c, 0x3b, 0x70, 0x42, 0x45, 0x7c, 0x13, 0xa6, 0x19, 0x9f, 0x63, 0x3d, + 0x5d, 0x2b, 0x4f, 0xac, 0xe6, 0xae, 0x2f, 0xa5, 0x63, 0x72, 0x1f, 0x19, 0x52, 0x99, 0x1b, 0x57, + 0x01, 0x71, 0xf6, 0x6d, 0xcc, 0xb6, 0x49, 0x78, 0xaf, 0xed, 0x79, 0x98, 0xf5, 0xd0, 0x22, 0x1c, + 0xb7, 0x89, 0x4f, 0x3d, 0xbe, 0x82, 0x99, 0x9a, 0x18, 0x18, 0x7f, 0xcf, 0x42, 0x21, 0x6d, 0xac, + 0x54, 0x9c, 0x87, 0xd9, 0xa0, 0xe7, 0x35, 0xa8, 0x5b, 0x4f, 0xfa, 0xe6, 0xc4, 0xb3, 0x5b, 0xd1, + 0x23, 0x54, 0x80, 0x69, 0xd2, 0x6d, 0x51, 0x9f, 0xf8, 0xa1, 0x3e, 0x5e, 0xd6, 0x56, 0xf3, 0x35, + 0x35, 0x46, 0x77, 0x61, 0x96, 0x32, 0x6c, 0xb9, 0xa4, 0xde, 0x62, 0x8e, 0x45, 0xf4, 0x89, 0xc8, + 0xbd, 0x5a, 0xd9, 0xdd, 0x2b, 0x69, 0x3f, 0xef, 0x95, 0x2e, 0x35, 0x9d, 0x70, 0xab, 0xdd, 0xa8, + 0x58, 0xd4, 0x33, 0xe5, 0x2e, 0x89, 0x3f, 0x6b, 0x81, 0xbd, 0x6d, 0x86, 0xbd, 0x16, 0x09, 0x2a, + 0xb7, 0x88, 0x55, 0xcb, 0x09, 0xc6, 0x66, 0x84, 0x40, 0x5d, 0x58, 0x6c, 0xf3, 0x65, 0xd7, 0x49, + 0xd7, 0xda, 0xc2, 0x7e, 0x93, 0xd4, 0x19, 0x0e, 0x89, 0x7e, 0x8c, 0xa3, 0xdf, 0x8f, 0x52, 0x31, + 0x3a, 0xfa, 0xe5, 0x5e, 0x69, 0xb1, 0x1d, 0xa6, 0x69, 0x35, 0x24, 0x62, 0xbc, 0x27, 0x1f, 0xd6, + 0x70, 0x48, 0xd0, 0x63, 0x80, 0xa0, 0xdd, 0x6a, 0xb9, 0xbd, 0xfa, 0x8d, 0xcd, 0x87, 0xfa, 0x71, + 0x1e, 0xef, 0xed, 0x43, 0xc7, 0x8b, 0x19, 0xb8, 0xd5, 0xab, 0xcd, 0x88, 0xdf, 0x37, 0x36, 0x1f, + 0x46, 0xf0, 0x06, 0x65, 0x8c, 0xee, 0x70, 0xf8, 0x64, 0x56, 0xb8, 0x64, 0x70, 0xb8, 0xf8, 0x1d, + 0xc1, 0x3f, 0x82, 0x69, 0x1e, 0xc9, 0x21, 0xb6, 0x3e, 0xa5, 0xb6, 0x60, 0x54, 0xf4, 0x87, 0x7e, + 0x58, 0x53, 0xfe, 0x11, 0x8b, 0x91, 0x80, 0xb0, 0x0e, 0xb1, 0xf5, 0xe9, 0x6c, 0xac, 0xd8, 0x1f, + 0xdd, 0x01, 0xb0, 0xa8, 0xeb, 0xe2, 0x90, 0x30, 0xec, 0xea, 0x33, 0x99, 0x68, 0x09, 0x42, 0xa4, + 0x4d, 0x2c, 0x9a, 0xd8, 0x3a, 0x64, 0xd3, 0x16, 0xfb, 0xa3, 0x0d, 0x98, 0x71, 0x9d, 0x27, 0x6d, + 0xc7, 0x76, 0xc2, 0x9e, 0x9e, 0xcb, 0x04, 0xeb, 0x03, 0xd0, 0x03, 0x98, 0xf3, 0x70, 0xd7, 0xf1, + 0xda, 0x5e, 0x5d, 0x44, 0xd0, 0x67, 0x33, 0x21, 0xf3, 0x92, 0x52, 0xe5, 0x10, 0xf4, 0x29, 0xa0, + 0x18, 0x9b, 0x48, 0x64, 0x3e, 0x13, 0xfa, 0x84, 0x24, 0xdd, 0xec, 0xe7, 0xf3, 0x31, 0x9c, 0xf0, + 0x1c, 0x9f, 0xe3, 0xfb, 0xb9, 0x98, 0xcb, 0x44, 0x5f, 0x90, 0xa0, 0x0d, 0x95, 0x12, 0x1b, 0xf2, + 0xf2, 0x45, 0x16, 0x6f, 0x81, 0x3e, 0xcf, 0xc1, 0xef, 0x1c, 0x0e, 0xfc, 0x72, 0xaf, 0x94, 0x97, + 0x6f, 0xb0, 0xc0, 0xd4, 0x66, 0x05, 0xf5, 0x1e, 0x1f, 0xa1, 0x87, 0xb0, 0x80, 0x3b, 0xd8, 0x71, + 0x71, 0xc3, 0x25, 0x71, 0xea, 0x17, 0x32, 0xad, 0x60, 0x5e, 0x71, 0xfa, 0xc9, 0xef, 0xa3, 0x77, + 0x9c, 0x70, 0xcb, 0x66, 0x78, 0x47, 0x3f, 0x91, 0x2d, 0xf9, 0x8a, 0xf4, 0x89, 0x04, 0xa1, 0x26, + 0x2c, 0xf5, 0xf1, 0xfd, 0xdd, 0x75, 0x3e, 0x23, 0x3a, 0xca, 0x14, 0xe3, 0xb4, 0xc2, 0xdd, 0x4c, + 0xd2, 0x50, 0x03, 0x4e, 0xc9, 0x22, 0xbd, 0xe5, 0x04, 0x21, 0x65, 0x8e, 0x25, 0xab, 0xf5, 0xc9, + 0x4c, 0xd5, 0xfa, 0xa4, 0x80, 0x7d, 0x20, 0x59, 0xa2, 0x6a, 0x9f, 0x86, 0x49, 0xc2, 0x18, 0x65, + 0x81, 0xbe, 0xc8, 0x6f, 0x10, 0x39, 0x32, 0xae, 0xc1, 0x22, 0xbf, 0x7d, 0x6e, 0x58, 0x16, 0x6d, + 0xfb, 0x61, 0x15, 0xbb, 0xd8, 0xb7, 0x48, 0x80, 0x74, 0x98, 0xc2, 0xb6, 0xcd, 0x48, 0x10, 0xc8, + 0x2b, 0x27, 0x1e, 0x1a, 0xbf, 0x8c, 0xc3, 0xf2, 0x41, 0x2e, 0xea, 0xca, 0x6a, 0x26, 0x8a, 0x9d, + 0xb8, 0x38, 0xcf, 0x54, 0x84, 0xd0, 0x4a, 0xd4, 0x03, 0x54, 0x64, 0x0f, 0x50, 0xb9, 0x49, 0x1d, + 0xbf, 0x7a, 0x2d, 0xca, 0xe1, 0x0f, 0xbf, 0x96, 0x56, 0x47, 0x58, 0x5c, 0xe4, 0x10, 0x24, 0x2a, + 0xe1, 0xf6, 0xbe, 0xea, 0x35, 0xfe, 0xef, 0x87, 0x4a, 0x96, 0xb6, 0x66, 0xa2, 0xb4, 0x4d, 0x1c, + 0xc1, 0xaa, 0x62, 0xb8, 0x61, 0xca, 0x06, 0x48, 0xa6, 0x37, 0xee, 0x1e, 0x86, 0x6f, 0xc8, 0xde, + 0x04, 0x9c, 0x3d, 0xc0, 0x43, 0xed, 0xc7, 0x03, 0x98, 0x8b, 0x53, 0x56, 0xef, 0x60, 0xb7, 0x4d, + 0x04, 0xe0, 0x50, 0xc7, 0x37, 0x3a, 0x57, 0xf9, 0x98, 0xf2, 0x71, 0x04, 0x89, 0x5e, 0xec, 0x7e, + 0x7a, 0x24, 0x78, 0x3c, 0x13, 0x78, 0xbe, 0xcf, 0x11, 0xe8, 0x07, 0x30, 0x17, 0xa7, 0x43, 0x82, + 0x27, 0xb2, 0x29, 0x8e, 0x29, 0x02, 0x7b, 0x17, 0x66, 0xe5, 0xf5, 0xec, 0x3a, 0x9e, 0x13, 0xca, + 0x8e, 0xe5, 0xb0, 0xd0, 0x9c, 0x60, 0x6c, 0x44, 0x08, 0x64, 0xc1, 0x29, 0x51, 0x98, 0x79, 0x27, + 0x5d, 0x0f, 0xb7, 0x18, 0x09, 0xb6, 0xa8, 0x6b, 0xcb, 0xee, 0xe4, 0xb0, 0xec, 0xc5, 0x04, 0xec, + 0x7e, 0xcc, 0x32, 0xce, 0xc0, 0x12, 0xdf, 0xdf, 0x8d, 0xc4, 0x24, 0x66, 0x4d, 0x12, 0x06, 0xc6, + 0x5b, 0x50, 0x1a, 0x32, 0xa5, 0xb6, 0x5f, 0x87, 0xa9, 0x50, 0x3c, 0xe2, 0x6f, 0xe3, 0x4c, 0x2d, + 0x1e, 0x1a, 0xf3, 0x90, 0xe7, 0xce, 0x55, 0x6c, 0xdf, 0x22, 0x8d, 0x30, 0x30, 0x6a, 0xb2, 0x59, + 0x8e, 0x1f, 0x24, 0x7a, 0xe1, 0x7d, 0x8c, 0xe8, 0xec, 0xa7, 0x5a, 0x61, 0xe9, 0x24, 0x9b, 0x61, + 0x15, 0xa4, 0x0a, 0x0b, 0xb2, 0xbd, 0xed, 0xaa, 0xca, 0x3a, 0xf4, 0x2c, 0xf7, 0x7b, 0xe4, 0xf1, + 0x64, 0x8f, 0xfc, 0xa7, 0x06, 0xfa, 0x20, 0x44, 0x69, 0x23, 0x30, 0x25, 0x2e, 0x9c, 0xe0, 0x28, + 0xaa, 0x4d, 0xcc, 0x46, 0x16, 0x4c, 0x86, 0x22, 0xca, 0x11, 0x14, 0x1a, 0x89, 0x36, 0xde, 0x85, + 0xb9, 0x78, 0x9d, 0xf2, 0x8e, 0x3b, 0x6c, 0xaa, 0x9e, 0xc2, 0xe9, 0xfd, 0x04, 0x95, 0xa7, 0xfe, + 0x02, 0xb4, 0x23, 0x5b, 0xc0, 0xf5, 0xbf, 0x66, 0xe0, 0x38, 0x8f, 0x8f, 0x5a, 0x30, 0x29, 0x3e, + 0xc8, 0xd0, 0xb9, 0xf4, 0x59, 0x49, 0x7c, 0xe1, 0x15, 0x56, 0x5e, 0x39, 0x1d, 0xcb, 0x37, 0xca, + 0x9f, 0xff, 0xf8, 0xc7, 0x37, 0xe3, 0x05, 0xa4, 0x9b, 0xa9, 0xcf, 0x50, 0xf1, 0xa9, 0x87, 0xbe, + 0xd3, 0x60, 0x61, 0xf0, 0x6b, 0x0e, 0x5d, 0x1e, 0x42, 0x1f, 0x34, 0x2c, 0x98, 0x23, 0x1a, 0x2a, + 0x41, 0xff, 0xe1, 0x82, 0x56, 0xd0, 0x85, 0xb4, 0x20, 0xa6, 0x7c, 0xea, 0x22, 0x2f, 0xe8, 0x4b, + 0x0d, 0xf2, 0xfb, 0xbf, 0x06, 0x2f, 0x0e, 0x89, 0xb7, 0xcf, 0xaa, 0xf0, 0xdf, 0x51, 0xac, 0x94, + 0xa4, 0x55, 0x2e, 0xc9, 0x40, 0xe5, 0xb4, 0x24, 0x8f, 0x3b, 0xd4, 0x03, 0x19, 0xfd, 0x5b, 0x0d, + 0xe6, 0x07, 0xaf, 0xfc, 0x4b, 0x43, 0x62, 0x0d, 0xd8, 0x15, 0x2a, 0xa3, 0xd9, 0x29, 0x55, 0x57, + 0xb9, 0xaa, 0x8b, 0xc8, 0x48, 0xab, 0xc2, 0xc2, 0xa5, 0xde, 0x88, 0x35, 0x7c, 0xad, 0xc1, 0xdc, + 0xc0, 0xc5, 0xb7, 0xf2, 0xea, 0x70, 0x71, 0xa6, 0xd6, 0x46, 0x32, 0x53, 0xa2, 0xae, 0x70, 0x51, + 0x17, 0xd0, 0xf9, 0xe1, 0xa2, 0xe2, 0x5c, 0x7d, 0xaf, 0x01, 0x4a, 0xd7, 0x57, 0x74, 0x65, 0x48, + 0xc0, 0xb4, 0x69, 0x61, 0x7d, 0x64, 0x53, 0xa5, 0x6f, 0x8d, 0xeb, 0xbb, 0x8c, 0x56, 0xd2, 0xfa, + 0xf6, 0x5d, 0x38, 0x52, 0x4c, 0x0f, 0xa6, 0xe3, 0xa2, 0x8d, 0x4a, 0x43, 0xa2, 0xc5, 0x06, 0x85, + 0xcb, 0xaf, 0x31, 0x50, 0x22, 0x2e, 0x70, 0x11, 0xe7, 0xd0, 0xd9, 0xb4, 0x88, 0x06, 0xb6, 0xeb, + 0x36, 0x0f, 0xf7, 0x85, 0x06, 0xb9, 0x64, 0x71, 0x37, 0x86, 0x1e, 0x59, 0x65, 0x53, 0xb8, 0xfa, + 0x7a, 0x1b, 0x25, 0xe2, 0x12, 0x17, 0x51, 0x46, 0xc5, 0x83, 0x0e, 0x75, 0x57, 0xf5, 0xfd, 0xe8, + 0x29, 0xcc, 0xf4, 0xcb, 0x66, 0x79, 0x78, 0x00, 0x61, 0x51, 0x58, 0x7d, 0x9d, 0x85, 0x12, 0x70, + 0x91, 0x0b, 0x28, 0xa2, 0xe5, 0x83, 0x05, 0x88, 0x76, 0xa0, 0x7a, 0x67, 0xf7, 0xf7, 0xe2, 0xd8, + 0xee, 0xf3, 0xa2, 0xf6, 0xec, 0x79, 0x51, 0xfb, 0xed, 0x79, 0x51, 0xfb, 0xea, 0x45, 0x71, 0xec, + 0xd9, 0x8b, 0xe2, 0xd8, 0x4f, 0x2f, 0x8a, 0x63, 0x8f, 0xae, 0x25, 0x2a, 0x69, 0x44, 0x59, 0xf3, + 0x49, 0xb8, 0x43, 0xd9, 0xb6, 0x40, 0x76, 0xfe, 0x6f, 0x76, 0xfb, 0x5c, 0x5e, 0x57, 0x1b, 0x93, + 0xfc, 0xbf, 0x63, 0xff, 0xfb, 0x27, 0x00, 0x00, 0xff, 0xff, 0x2b, 0xa0, 0xd2, 0xea, 0xe4, 0x13, + 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1450,6 +1452,15 @@ func (m *QueryMarketSummaryResponse) MarshalToSizedBuffer(dAtA []byte) (int, err _ = i var l int _ = l + if len(m.Errors) > 0 { + i -= len(m.Errors) + copy(dAtA[i:], m.Errors) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Errors))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa2 + } if m.OracleHistoricPrice != nil { { size := m.OracleHistoricPrice.Size() @@ -2241,6 +2252,10 @@ func (m *QueryMarketSummaryResponse) Size() (n int) { l = m.OracleHistoricPrice.Size() n += 2 + l + sovQuery(uint64(l)) } + l = len(m.Errors) + if l > 0 { + n += 2 + l + sovQuery(uint64(l)) + } return n } @@ -3451,6 +3466,38 @@ func (m *QueryMarketSummaryResponse) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 20: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Errors", 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.Errors = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:])